![Screenshot 2023-08-25 at 9 24 37 AM](https://private-user-images.githubusercontent.com/37622719/275489751-046f14d1-9ed9-49d0-8871-9f910e07c5dd.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjE1MjQ2NDMsIm5iZiI6MTcyMTUyNDM0MywicGF0aCI6Ii8zNzYyMjcxOS8yNzU0ODk3NTEtMDQ2ZjE0ZDEtOWVkOS00OWQwLTg4NzEtOWY5MTBlMDdjNWRkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzIxVDAxMTIyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPThiN2Q3Njg2MDllZDkwZjJlOGJkNmU3MGY0YmUwMTFmZDM2NTg0Y2I0YjQ0MzMyNTRiOWM5MmVlZTc2YzcxZjAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.wRZmaiVs0-9joosTG1UY5lgb24cKZgbiaXKV9cFgx3A)
![Screenshot 2023-11-03 at 4 04 10 PM](https://private-user-images.githubusercontent.com/37622719/280251497-25d31856-bbb8-44d9-8da9-c32f09e11d55.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjE1MjQ2NDMsIm5iZiI6MTcyMTUyNDM0MywicGF0aCI6Ii8zNzYyMjcxOS8yODAyNTE0OTctMjVkMzE4NTYtYmJiOC00NGQ5LThkYTktYzMyZjA5ZTExZDU1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzIxVDAxMTIyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTk4YTJjMDY4YTQxYTFjMWE3ZWM0NWYyMmQzYWI0YjA3YWY3MTQ5YTAzZWNhNGMzNzRlNDliMDQ1YTc1Y2M1MWMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.E3fmjdJLffuPh9saBSH_nRYTJrK_2UHuFvkM3OriQto)
+ make
+ qemu-system-aarch64
+ gcc-aarch64-linux-gnu
+ gdb-multiarch
+ chmod +x install.sh
+ ./install.sh
+ make run
+ make debug
+ (Another Terminal) gdb-multiarch ./deltaV.elf
+ (gdb) target remote localhost:1234
SCTLR.EE (CLEARED) - data accesses and tables walks (stage 1&2) are little-endian.
SCTLR.M - MMU enable/disable for stage 1 translation.
SCTLR.C (CLEARED)- data access from EL2 non cacheable.
SCTLR.I (CLEARED)- instruction access from EL2 non cacheable.
HCR.TACR - Auxiliary Control Registers read routed to EL2.
HCR.TID3 - ID Group 3 Register read routed to EL2.
HCR.TID2 - ID Group 2 Register read routed to EL2.
HCR.TID1 - ID Group 1 Register read routed to EL2.
HCR.TWE - WFE instruction in EL0/1 is routed to EL2.
HCR.TWI - WFI instruction in EL0/1 is routed to EL2.
HCR.E2H (CLEARED) - host OS in EL2 is not supported.
HCR.RW - EL1 runs in AArch64.
HCR.TGE(CLEARED) - EL0 execution no effect.
HCR.AMO - SError routed to EL2.
HCR.IMO - IRQs routed to EL2.
HCR.FMO- FIQs routed to EL2.
HCR.VM - Stage 2 translation enabled for EL0&1.
SPSR.I- IRQ interrupts masked on exception to EL2.
SPSR.F - FIQ interrupts masked on exception to EL2.
SPSR.A - SError interrupts masked on exception to EL2.
SPSR.EL2h - SP_EL2 selected on exception to EL2.
TCR.T0SZ- memory addressed by TTBR0_EL2 is 2^48 bytes.
TCR.TG0 (CLEARED)- TTBR0_EL2 granule 4KB.
VTCR.NSA- SEL0/1 stage 2 translations access Non-secure PA space.
VTCR.NSW - SEL0/2 stage 2 table walks are to Non-secure PA space.
VTCR.VS (CLEARED) - 8 bit VMIDs.
VTCR.PS- 1TB PA size for stage 2 translations.
VTCR.TG0 (CLEARED)- VTTBR_EL2 4KB granules.
VTCR.SH0 - Inner Sharable attribute for VTTBR_EL2 walks.
VTCR.ORGN0 (CLEARED) - outer non-cacheable for VTTBR_EL2 walks.
VTCR.IRGN0 (CLEARED)- inner non-cacheable for VTTBR_EL2 walks.
VTCR.SL0- stage 2 translation lookups start at level 1.
VTCR.T0SZ- memory addressed by VTTBR_EL2 is 38 bits.