cs412050
2005-04-07 22:09:28 UTC
I am still working on User Mapping.
( My uservm.c is all covered with Print statement with
enable/disable switch variables, because too many print
makes kernel hang. )
As soon as kernel tris to start shell.exe, it exits right away.
I suspect Entry addr calculation (it prints 0x80001000).
My entryaddr is:
userContext->entryAddr = 0x80000000 + exeFormat->entryAddr;
And Also, I am confused with Virtual Memory and Logical address.
My understanding is:
1. VM is from 0 to 4G, and address space mapped to each user process.
2. Logical memory is from 0 to 2G, and upper part of user process
( from 2G to 4G )
If I am understanding right, I am confused when to use Vaddr, and
when to use logical addr. For formatting argument block,
we use 0x7ffff000, but page virtual address is 0xfffff000.
Can anyone clarify?
( My uservm.c is all covered with Print statement with
enable/disable switch variables, because too many print
makes kernel hang. )
As soon as kernel tris to start shell.exe, it exits right away.
I suspect Entry addr calculation (it prints 0x80001000).
My entryaddr is:
userContext->entryAddr = 0x80000000 + exeFormat->entryAddr;
And Also, I am confused with Virtual Memory and Logical address.
My understanding is:
1. VM is from 0 to 4G, and address space mapped to each user process.
2. Logical memory is from 0 to 2G, and upper part of user process
( from 2G to 4G )
If I am understanding right, I am confused when to use Vaddr, and
when to use logical addr. For formatting argument block,
we use 0x7ffff000, but page virtual address is 0xfffff000.
Can anyone clarify?