I've deeply investigated this, and I don't see what's wrong. The issue I was talking about yesterday is apparently unrelated.
It seems that our i386/xen code somehow does not tolerate having a pa allocated before the LDT. In fact, it has nothing to do with lapic and all the things I've committed; by definition, putting a pmap_bootstrap_palloc(1) just before this line [1] triggers a fault, and I don't understand why. And don't get confused: idt_vaddr is used as the LDT, not ldt_vaddr - which obviously makes a lot of sense. Looks like black magic once again. Moving pmap_init_lapic after idt_paddr is allocated makes it work, and I still don't see why. I've already spent several hours on this, and verily, I am a bit busy these days, so I cannot work more on that now. [1] https://nxr.netbsd.org/xref/src/sys/arch/x86/x86/pmap.c?r=1.234#1411 Le 21/12/2016 à 15:37, Manuel Bouyer a écrit : > Hello, > recent i386 Xen kernels don't boot any more, they fails to start init, > as can be seen here: > http://www-soc.lip6.fr/~bouyer/NetBSD-tests/xen/HEAD/ > (I also tested a 201612200210Z kernel, with the same result)
