|
From: Guido de J. <gu...@us...> - 2001-10-06 07:18:09
|
On Saturday 06 October 2001 04:32, you wrote: > hi guido, > i compiled the nucleus with MOREDEBUG defined. then i > saw the following message. (i typed it, so please dont > mind any tipos ;-) OK > .. > normal stuff > .. > Setting CPU upcalls to (0x10000018,0x10000024) for > process 512 > returning current process information > creating capablity > 1:(512,0x00007fdd,0x00000002,0x00000007) > creating capablity This creates a capability for the page directory, needed to change anything in the address space. What you see is: cap#:(PID,page#,cap-type,flags) > 2:(512,0x00000000,0x00000000,0x00000000) > creating capablity Acquire an empty page, the page number is not shown > 3:(512,0x000000b8,0x00000000,0x00000007) > creating capablity Create a capability for crt output, so it can write to the screen. > 2:(512,0x00007fda,0x00000002,0x00000007) > setting entry 400 in page directory 0x07fdd000 to > 0x07fd0007 This sets the empty page to entry 400 in the page dir. The empty page is now a page table. > setting entry 0 in page table 0x07fda000 to 0x07fd0008 Maybe you mistyped something here, 'cause the last address should read 0x000b8007. Please verify. > creating capablity > 4:(512,0x000003d4,0x00000004,0x00000001) > creating capablity > 5:(512,0x000003d5,0x00000002,0x00000001) This just creates capabilities to ports 0x3d4 and 0x3d5, needed to move the cursor and stuff like that. > page fault 0x08000002 > eip 0x00100806 > address 0x0bff8000 The next thing that should happen is that the ports above are being enabled. This is done setting 2 bits in the IO bitmap to 0. Apparently this generates a page fault. Don't now why at the moment. > my query is weather this address not lying in the page > table and directory entries u have made? This has nothing to do with the page that are created. You can use nm to find the function that is executed when the PF is generated. > i assume that the address is faulty (please correct me > here if iam wrong... i still dont have a hang on the > address space used ;-)...) and iam currently trying to > analyse what code is present in 0x00100806 and what > gave it a faulty page. Type 'nm -Cgn gemini-nucleus'. The output will help. > if iam taking a wrong approach, or if u have already > saw something of this kind tell me ;-) Your approach is fine, please keep us informed on anything you find out. I will look into it too in the meantime. Guido |