will
2005-11-04 20:57:47 UTC
1) exactly which entries need to be marked as 'present'. I currently only
mark tables/pages present when I 'alloc' them. For example, since only the
top two page tables were used from part1 for the kernel mapping, they are the
only ones I marked as present. And for each of the table entries, if there
are no pages allocated to them, I also set 'present=0'.
I don't see how you can mark a page as present unless it is physically
allocated by either Alloc_Page or Alloc_Pageable_Page
2) since we're only using userContext->memory as a temporary buffer for
our pages now, we need to free it and set it to null. We don't use
this field anymore because of paging. Is this correct?
3) are stackPointerAddr and argBlockAddr physical addresses or virtual ones?
4) do we modify userContext->entryAddr, or leave it as the virtual offset?
Future crashes will bring more questions, but that's all for now.
Thanks
-will
mark tables/pages present when I 'alloc' them. For example, since only the
top two page tables were used from part1 for the kernel mapping, they are the
only ones I marked as present. And for each of the table entries, if there
are no pages allocated to them, I also set 'present=0'.
I don't see how you can mark a page as present unless it is physically
allocated by either Alloc_Page or Alloc_Pageable_Page
2) since we're only using userContext->memory as a temporary buffer for
our pages now, we need to free it and set it to null. We don't use
this field anymore because of paging. Is this correct?
3) are stackPointerAddr and argBlockAddr physical addresses or virtual ones?
4) do we modify userContext->entryAddr, or leave it as the virtual offset?
Future crashes will bring more questions, but that's all for now.
Thanks
-will