[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GNU Mach: disabling all network device drivers
From: |
Da Zheng |
Subject: |
Re: GNU Mach: disabling all network device drivers |
Date: |
Fri, 03 Sep 2010 10:01:48 -0400 |
User-agent: |
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.11) Gecko/20100711 Thunderbird/3.0.6 |
Hello,
It's strange. I thought the problem doesn't exist any more after I made some
changes in the kernel. Are you using the latest gnumach in the
master-user_level_drivers branch?
Best,
Zheng Da
On 8/30/10 12:15 AM, Diego Nieto Cid wrote:
> Hello,
>
> Short story: something is clearing kernel_page_dir.
>
> Long story follows. :)
>
> On Wed, Jun 09, 2010 at 08:24:55AM +0200, Samuel Thibault wrote:
>>
>> These are correct. So that must the the pagetable that is incorrect.
>> Check out cr3 and such.
>>
>
> While trying DDE I came across this problem too. I run a few tests and
> your guess is apparently correct:
>
> +-------+--------+--------+---------+------+-----+---------+
> | Test# | eip | *esp | kpd | kpd' | CR3 | CR3' |
> + ------+--------+--------+---------+------+-----+---------+
> | 1 | 107e92 | 1436c7 | --- | --- | --- | --- |
> +-------+--------+--------+---------+------+-----+---------+
> | 2 | 1051f9 | --- | 1371000 | --- | kpd | 2e8f000 |
> +-------+--------+--------+---------+------+-----+---------+
> | 3 | 107e92 | 1436c7 | 1371000 | 0 | kpd | 219a000 |
> +-------+--------+--------+---------+------+-----+---------+
> | 4 | 107e92 | 1436c7 | 1371000 | 0 | kpd | 2d18000 |
> +-------+--------+--------+---------+------+-----+---------+
>
> Where kpd is the contraction of kernel_page_dir, ' means after the
> trap and --- that there is no available information.
>
> Meaning of some addresses:
>
> # addr2line -e /boot/gnumach 0x107392 0x1436c7 0x1051f9
> ...gnumach/i386/i386/spl.S:217
> ...gnumach/i386/i386at/interrupt.S:40
> ...gnumach/i386/i386at/kdasm.S:113
>
> CR3 value was taken from qemu's monitor console:
>
> (qemu) info registers
>
> And this is where kpd was read from:
>
> # nm /boot/gnumach | grep kernel_page_dir
> 001aa2b0 B kernel_page_dir
>
> All the test were done by running the following commands:
>
> # settrans -acfgp /servers/drivers/eth0 /hurd/dde/dde_ne2k_pci
> ...
> # settrans -acfgp /dev/eth0 /hurd/dde/devnode eth0 \
> > -M /servers/drivers/eth0
> ...
> # settrans -acfgp /servers/socket/2 /hurd/dde/pfinet -i /dev/eth0 \
> > -a 10.0.2.16 -g 10.0.2.2 -m 255.255.255.0
> ...
> # wget www.google.com
> --2010-08-30 02:18:19-- http://www.google.com/
> Resolving www.google.com... <<<<<trap point
>
> During the first test I collected the values of the registers.
> They are similar to what Zheng Da showed before.
> ---------
> Kernel General protection trap, eip 0x107e92
> kernel: General protection (13), code=25a
> Stopped at 0x107e92: ret
> db> trace
> 0x107e92(646565,656b6f70,6761705f,66007365,5f656572)
>
> no memory is assigned to address 6c610077
> db> show registers
> cs 0x8
> ds 0x10
> es 0x10
> fs 0x10
> gs 0x10
> ss 0x10
> eax 0x5
> ecx 0x1c
> edx 0x5
> ebx 0x44520
> esp 0x1a9f20
> ebp 0x12dbd1c
> esi 0x44560
> edi 0x3c
> eip 0x107e92
> efl 0x297
> db> examine 0x1a9f20
> 1436c7
> db>
> ---------
>
> The second test went really wrong for some reason and I couldn't get
> all the information.
> -----------
> Kernel General protection trap, eip 0x1051f9rotection trap, eip 0x107e92
> kernel: General protection (13), code=202
> Stopped at 0x1051f9: repe movsw (%esi),%es:(%edi)
> db> trace
> Bad character ']'
> ?
> db> show registers
> Bad character ']'
> ?
> db>
> ---------
>
- Re: GNU Mach: disabling all network device drivers,
Da Zheng <=