[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GNU Mach: disabling all network device drivers
From: |
Diego Nieto Cid |
Subject: |
Re: GNU Mach: disabling all network device drivers |
Date: |
Mon, 30 Aug 2010 01:15:20 -0300 |
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>
---------
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: GNU Mach: disabling all network device drivers,
Diego Nieto Cid <=