Hi!

Samuel Thibault <samuel.thiba...@gnu.org> skribis:

> At last I got it working: in the latest git master, the bootstrap code
> can cope with VM_MIN_KERNEL_ADDRESS != 0 by using segmentation before
> switching to C code. This means we can make the kernel live at high
> virtual addresses, which means that the debugger trace & such can
> properly know how to separate user and kernel addresses.

Excellent, thank you!

> It works for me on kvm, but I'd prefer to see more tests before enbling
> it by default. The attached patch is all that is needed to enable it.

It works for me with QEMU/KVM with the cross-built image.

I get nice stack traces from KDB:

  db> trace/tu
  0xc011eae9(c027c819,f4d5fc60,17,f4d7a548,f4d83ef8)
  0xc014ee59(f4d5cdc0,17,f4d83ef8,128bc70,a)
  0xc01529dc(1,17,f4d83ef8,f4d60d20,fe5729c8)
  0xc0106d40(128fdbc,2000,a,800,0)
  >>>>> user space <<<<<
  0x103ac23(9cb9ffda,e90128fd,ffdaadf0,804cd48,28ae0)

  no memory is assigned to address 28fd9cbd

There might still be something wrong with the user-space stack trace
though, but it could be due to something else:

  $ addr2line -pfa -e 
/nix/store/dsw2yh0sxidmijg2y3vjps1mqjvx6q5w-hurd-0-i586-pc-gnu/hurd/auth 
0x103ac23
  0x0103ac23: ??
  ??:0

(The Hurd above is compiled with -O1.)

Thanks again, you’re my hero!  ;-)

Ludo’.


Reply via email to