Hi. I recompiled everything and was able to boot the oskit
test kernels. Oskit-mach compiled as normal, I had to disable
unix, examples/unix etc in modules.x86.pc

It is exhibiting the same behavior as last week, and I
have captured the debugging script. Here it is.

Later,
- Doug

< snip >
Script started on Sat Mar  9 01:37:33 2002
<1>(mirage)[/usr/src/gnu/hurd-20020103/oskit-mach/build]
# i686-linux-gdb 
GNU gdb 5.0
Copyright 2001 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "--host=hppa1.1-unknown-linux-gnu 
--target=i686-linux".
(gdb) file kernel-ide 
Reading symbols from kernel-ide...done.
(gdb) target remote /dev/ttyS0
Remote debugging using /dev/ttyS0
0x0013d570 in main (argc=172448, argv=0x0) at ../oskit/x86/main.c:90
90      }
(gdb) l
85            machine_slot[mycpu].cpu_type = CPU_TYPE_PENTIUMPRO;
86            break;
87          }
88        machine_slot[mycpu].cpu_subtype = CPU_SUBTYPE_AT386;
89        machine_slot[mycpu].is_cpu = TRUE;
90      }
91      
92      int
93      main (int argc, char **argv)
94      {
(gdb) s
main (argc=2, argv=0x1000000) at ../oskit/x86/main.c:95
95        oskit_clientos_init ();
(gdb) n
97        printf ("Welcome to %s!\r\n", version);
(gdb) 
Welcome to GNUmach 1.2.91-OSKit!

102       picinit();
(gdb) 
109       linear_base_va = -LINEAR_MIN_KERNEL_ADDRESS;
(gdb) 
112       pmap_bootstrap();
(gdb) 
123       kernel_page_dir[lin2pdenum(0)] =
(gdb) 
125       paging_enable((oskit_addr_t) kernel_page_dir);
(gdb) 
126       set_cr0 (get_cr0 () | CR0_WP);
(gdb) 
128       if (base_cpuid.feature_flags & CPUF_PAGE_GLOBAL_EXT) {
(gdb) 
136         set_cr4 (get_cr4 () | CR4_PGE);
(gdb) 
142       base_gdt_init();      /* reinitialize with linear_base_va */
(gdb) 
143       gdt_init();
(gdb) 
144       idt_init();
(gdb) s
idt_init () at ../i386/i386/idt.c:33
33              gate_init(base_idt, idt_inittab, KERNEL_CS);
(gdb) 
gate_init (dest=0x1bf820, src=0x1a0350, entry_cs=16) at 
../../kern/x86/gate_init.c:23
23      {
(gdb) 
25              while (src->entrypoint)
(gdb) 
27                      fill_gate(&dest[src->vector], src->entrypoint,
(gdb) 
210     {
(gdb) 
211             gate->offset_low = offset & 0xffff;
(gdb) 
212             gate->selector = selector;
(gdb) 
213             gate->word_count = word_count;
(gdb) display  /i $pc
1: x/i $eip  0x157fe7 <gate_init+39>:   movb   $0x0,0x4(%eax)
(gdb) ni  si
214             gate->access = access | ACC_P;
1: x/i $eip  0x157feb <gate_init+43>:   or     $0x80,%cl
(gdb) 
0x00157fee      214             gate->access = access | ACC_P;
1: x/i $eip  0x157fee <gate_init+46>:   mov    %cl,0x5(%eax)
(gdb) 
215             gate->offset_high = (offset >> 16) & 0xffff;
1: x/i $eip  0x157ff1 <gate_init+49>:   shr    $0x10,%edx
(gdb) 
0x00157ff4      215             gate->offset_high = (offset >> 16) & 0xffff;
1: x/i $eip  0x157ff4 <gate_init+52>:   mov    %dx,0x6(%eax)
(gdb) 
29                      src++;
1: x/i $eip  0x157ff8 <gate_init+56>:   add    $0x8,%ebx
(gdb) 
30              }
1: x/i $eip  0x157ffb <gate_init+59>:   cmpl   $0x0,(%ebx)
(gdb) 
0x00157ffe      30              }
1: x/i $eip  0x157ffe <gate_init+62>:   jne    0x157fd4 <gate_init+20>
(gdb) 
27                      fill_gate(&dest[src->vector], src->entrypoint,
1: x/i $eip  0x157fd4 <gate_init+20>:   movzwl 0x4(%ebx),%eax
(gdb) 
210     {
1: x/i $eip  0x157fd8 <gate_init+24>:   lea    (%edi,%eax,8),%eax
(gdb) 
0x00157fdb      210     {
1: x/i $eip  0x157fdb <gate_init+27>:   mov    (%ebx),%edx
(gdb) 
0x00157fdd      210     {
1: x/i $eip  0x157fdd <gate_init+29>:   mov    0x6(%ebx),%cl
(gdb) 
211             gate->offset_low = offset & 0xffff;
1: x/i $eip  0x157fe0 <gate_init+32>:   mov    %dx,(%eax)
(gdb) bt full
#0  gate_init (dest=0x1bf820, src=0x1a0350, entry_cs=16) at 
../../oskit/x86/seg.h:211
        dest = (struct x86_gate *) 0x1bf820
        src = (struct gate_init_entry *) 0x1a0358
        entry_cs = 16
#1  0x00151dae in idt_init () at ../i386/i386/idt.c:33
No locals.
#2  0x0013d5fe in main (argc=2, argv=0x1000000) at ../oskit/x86/main.c:144
No locals.
#3  0x001577d2 in multiboot_main (boot_info_pa=172448) at 
../../kern/x86/pc/base_multiboot_main.c:96
        argc = 2
        argv = (char **) 0x1000000
        i = 1
(gdb) info reg
eax            0x1bf828 1833000
ecx            0xc00f   49167
edx            0x156094 1400980
ebx            0x1a0358 1704792
esp            0x1b5f5c 0x1b5f5c
ebp            0x1b5f68 0x1b5f68
esi            0x10     16
edi            0x1bf820 1832992
eip            0x157fe0 0x157fe0
eflags         0x10102  65794
cs             0x11     17
ss             0x19     25
ds             0x1b0018 1769496
es             0x150018 1376280
fs             0x150000 1376256
gs             0x1b0000 1769472
fctrl          0x0      0
fstat          0x0      0
ftag           0x0      0
fiseg          0x0      0
fioff          0x0      0
foseg          0x0      0
fooff          0x0      0
fop            0x0      0
xmm0           0x00000000000000000000000000000000
xmm1           0x00000000000000000000000000000000
xmm2           0x00000000000000000000000000000000
xmm3           0x00000000000000000000000000000000
xmm4           0x00000000000000000000000000000000
xmm5           0x00000000000000000000000000000000
xmm6           0x00000000000000000000000000000000
xmm7           0x00000000000000000000000000000000
mxcsr          0x0      0
(gdb) / x/40i
0x157fe3 <gate_init+35>:        mov    %si,0x2(%eax)
0x157fe7 <gate_init+39>:        movb   $0x0,0x4(%eax)
0x157feb <gate_init+43>:        or     $0x80,%cl
0x157fee <gate_init+46>:        mov    %cl,0x5(%eax)
0x157ff1 <gate_init+49>:        shr    $0x10,%edx
0x157ff4 <gate_init+52>:        mov    %dx,0x6(%eax)
0x157ff8 <gate_init+56>:        add    $0x8,%ebx
0x157ffb <gate_init+59>:        cmpl   $0x0,(%ebx)
0x157ffe <gate_init+62>:        jne    0x157fd4 <gate_init+20>
0x158000 <gate_init+64>:        pop    %ebx
0x158001 <gate_init+65>:        pop    %esi
0x158002 <gate_init+66>:        pop    %edi
0x158003 <gate_init+67>:        leave  
0x158004 <gate_init+68>:        ret    
0x158005 <Letext>:      lea    0x0(%esi,1),%esi
0x158009 <Letext+4>:    lea    0x0(%edi,1),%edi
0x158010 <query>:       push   %ebp
0x158011 <query+1>:     mov    %esp,%ebp
0x158013 <query+3>:     push   %edi
0x158014 <query+4>:     push   %esi
0x158015 <query+5>:     push   %ebx
0x158016 <query+6>:     mov    0x8(%ebp),%edx
0x158019 <query+9>:     mov    0xc(%ebp),%eax
0x15801c <query+12>:    mov    0x10(%ebp),%ebx
0x15801f <query+15>:    mov    %eax,%esi
0x158021 <query+17>:    mov    $0x1906a0,%edi
0x158026 <query+22>:    mov    $0x10,%ecx
0x15802b <query+27>:    cld    
0x15802c <query+28>:    test   $0x0,%al
0x15802e <query+30>:    repz cmpsb %es:(%edi),%ds:(%esi)
0x158030 <query+32>:    je     0x158045 <query+53>
0x158032 <query+34>:    mov    %eax,%esi
0x158034 <query+36>:    mov    $0x190720,%edi
0x158039 <query+41>:    mov    $0x10,%ecx
0x15803e <query+46>:    cld    
0x15803f <query+47>:    test   $0x0,%al
0x158041 <query+49>:    repz cmpsb %es:(%edi),%ds:(%esi)
0x158043 <query+51>:    jne    0x158050 <query+64>
0x158045 <query+53>:    incl   0x4(%edx)
0x158048 <query+56>:    mov    %edx,(%ebx)
(gdb) l
206     /* Fill a gate with particular values.  */
207     OSKIT_INLINE void
208     fill_gate(struct x86_gate *gate, unsigned offset, unsigned short 
selector,
209               unsigned char access, unsigned char word_count)
210     {
211             gate->offset_low = offset & 0xffff;
212             gate->selector = selector;
213             gate->word_count = word_count;
214             gate->access = access | ACC_P;
215             gate->offset_high = (offset >> 16) & 0xffff;
(gdb) si
Interrupted while waiting for the program.
Give up (and stop debugging it)? (y or n) y
(gdb) quit
<2>(mirage)[/usr/src/gnu/hurd-20020103/oskit-mach/build]
# 
Script done on Sat Mar  9 01:41:14 2002

Reply via email to