Showing changes from revision #1 to #2:
Added | Removed | Changed
Entry | |
---|---|
R0 | |
R1 | Area number |
R2 | Pointer to input/output page list |
R3 | Number of entries in page list |
Exit | |
---|---|
- | All registers preserved |
Page list updated |
This call is used to query the status of pages within a Physical Memory Pool.
Each entry in the page list is 16 bytes in length, structured as follows:
Word | |
---|---|
0 | PMP page index |
1 | Physical page number |
2 | Dynamic area page number |
3 | Page flags: |
Bits 0-5, 12-14: As per Memory Page Access Flags | |
Bit 15: Page is locked to prevent it from being claimed by another dynamic area | |
Other bits: Reserved |
On entry, for each array entry either the PMP page index, phys page number, or DA page number must be provided, with the other page numbers set to -1. Page flags are ignored.
On exit, if the page is a member of the PMP, the entries will be filled in as appropriate. If the page isn’t mapped in (and it was a lookup by PMP page index/phys page number) the DA page index will be set to -1. If no physical page is allocated (or the indicated page isn’t a member of the PMP) the page flags will be set to 0.