bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

More on oskit-mach debugging


From: Igor Khavkine
Subject: More on oskit-mach debugging
Date: Fri, 13 Jul 2001 09:21:57 -0400
User-agent: Mutt/1.3.18i

Hi, all.

After a bit more of oskit-mach debugging I've had some partial success.
My network card is now working with the OSKit driver. All I had to
do is change the [oskit]/linux/src/drivers/net/tulip.c file to a newer
version. Since I knew my card was working with linux-2.2.19, I just took
the driver from there.

Now if I was still linking with the version of oskit in the Hurd archives
all my problems would be solved and I would be able to boot properly.
However, I have compiled my own version of OSKit to get debigging
symbols. Now I get a SIGSEVG during initialization in the OSKit
function `oskit_linux_dev_init () at [oskit]/linux/dev/init.c:81',
on line:

129             x = *((unsigned *)(kaddr + 0x104));

Here `kaddr' has value 0x0 and the calculated address 0x104 is not
accessibl, hence the SIGSEGV. Lets see how `kaddr' gets its
value:

127     if (osenv_mem_map_phys(0, PAGE_SIZE, &kaddr, 0))
128             panic("%s:%d: unable to map phys memory", __FILE__, __LINE__);

Once all the functions are followed through and all macros expanded,
the result comes down to the following:

kaddr = phystokv(0) = 0 + phys_mem_va

And at the moment the value of phys_mem_va is also 0x0, hence `kaddr = 0x0'.

My question is, when during oskit-mach's initialization does the paging
turn on, and why isn't phys_mem_va set to the correct value?

Thanks.

Igor



reply via email to

[Prev in Thread] Current Thread [Next in Thread]