Changes

Jump to navigation Jump to search
734 bytes added ,  19:31, 9 January 2018
| 0xC3000006 || [[#Panic]] || W1=panic_color, X2,X3,X4,X5,X6,X7=0 || X0=result
|-
| 0xC3000007 || [2.0.0+] [[#ProtectKernelRegion ]] || X1=unkcarveout_index, X2=region_phys_addr, X3=region_size, X4,X5,X6,X7=0 || X0=result
|-
| 0xC3000008 || [2.0.0+] [[#ReadWriteRegister ]] || X1=reg_addr, W2=rw_mask, W3=in_val, X4,X5,X6,X7=0 || X0=result, W1=out_val
|}
The kernel always calls this with '''panic_color''' set to 0xF00.
 
=== ProtectKernelRegion ===
Configures memory controller carveout regions.
 
If '''carveout_index''' is 0, '''region_phys_addr''' and '''region_size''' are used to configure '''MC_SECURITY_CARVEOUT4'''.
If '''carveout_index''' is 1, '''region_phys_addr''' and '''region_size''' are used to configure '''MC_SECURITY_CARVEOUT5'''.
Any other '''carveout_index''' values are invalid.
 
The kernel calls this with '''carveout_index''' set to 0, '''region_phys_addr''' set to 0x80060000 and '''region_size''' set to a dynamically calculated size which covers all the kernel and built-in sysmodules' DRAM regions.
 
=== ReadWriteRegister ===
Relays [[SVC#svcReadWriteRegister|svcReadWriteRegister]] to the Secure Monitor.
= Errors =

Navigation menu