Changes

Jump to navigation Jump to search
172 bytes removed ,  12:38, 1 July 2017
Line 152: Line 152:     
= Kernel Access Control =
 
= Kernel Access Control =
Like the 3DS, the switch has a number of kernel capability descriptors. Unlike 3ds, where descriptors were identified by pattern 11..10 in high bits, on switch descriptors are identified by pattern 01..11 in low bits.
+
On Switch, descriptors are identified by pattern 01..11 in low bits.
    
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
! Pattern of bits 20-31
+
! Pattern of bits 15-0
 
! Type
 
! Type
 
! Fields
 
! Fields
 
|-
 
|-
| <code>0bxxxxxxxx0111?</code>
+
| <code>0bxxxxxxxxxxxx0111</code>
| Interrupt info?
+
| Kernel flags
 
| ?
 
| ?
 
|-
 
|-
| <code>0bxxxxxxx01111</code>
+
| <code>0bxxxxxxxxxxx01111</code>
| System call mask
+
| Syscall mask
| Bits 29-31: System call mask table index; Bits 5-28: mask
+
| Bits 29-31: Syscall mask table index; Bits 5-28: mask
 
|-
 
|-
| <code>0bxxxxx0111111?</code>
+
| <code>0bxxxxxxxxx0111111</code>
| Kernel release version?
+
| Map IO page
| ?
+
| Bits 7-31: page
|-
  −
| <code>0bxxxx01111111?</code>
  −
| Handle table size?
  −
| ?
   
|-
 
|-
| <code>0bxxx011111111?</code>
+
| <code>0bxxxxxxxx01111111</code>
| Kernel flags?
+
| Map IO range
| ?
+
| Bits 7-31: page then size alternating
 
|-
 
|-
| <code>0bx0111111111?</code>
+
| <code>0bxxxxx11111111111</code>
| Map address range?
+
| Interrupt pair
| ?
+
| Bits 12-21: irq0, bits 20-31: irq1, 0x3FF means empty. 
|-
  −
| <code>0b011111111111?</code>
  −
| Map memory page?
  −
| ?
   
|}
 
|}

Navigation menu