NPDM: Difference between revisions
Line 152: | Line 152: | ||
= Kernel Access Control = | = Kernel Access Control = | ||
On Switch, descriptors are identified by pattern 01..11 in low bits. | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
! Pattern of bits | ! Pattern of bits 15-0 | ||
! Type | ! Type | ||
! Fields | ! Fields | ||
|- | |- | ||
| <code> | | <code>0bxxxxxxxxxxxx0111</code> | ||
| | | Kernel flags | ||
| ? | | ? | ||
|- | |- | ||
| <code> | | <code>0bxxxxxxxxxxx01111</code> | ||
| | | Syscall mask | ||
| Bits 29-31: | | Bits 29-31: Syscall mask table index; Bits 5-28: mask | ||
|- | |- | ||
| <code> | | <code>0bxxxxxxxxx0111111</code> | ||
| | | Map IO page | ||
| Bits 7-31: page | |||
|- | |||
|- | |- | ||
| <code> | | <code>0bxxxxxxxx01111111</code> | ||
| | | Map IO range | ||
| | | Bits 7-31: page then size alternating | ||
|- | |- | ||
| <code> | | <code>0bxxxxx11111111111</code> | ||
| | | Interrupt pair | ||
| Bits 12-21: irq0, bits 20-31: irq1, 0x3FF means empty. | |||
|- | |||
|} | |} |