Rusty Russell wrote:
>
> It was a PITA because we can't just load $0x18 into %ss: it has to be
> $0x19. I started doing it (read %cs, mask off bottom 2 bits, orl
> __BOOT_DS), but between that extra code and the extra code to then
> change segments back... well, we have to skip the cli anyway so it was
> easy to skip them all.
>
> I think Jeremy said Xen doesn't start on the boot descriptors either. I
> have to wonder why we don't just run on the boot descriptors forever
> (#define __KERNEL_DS __BOOT_DS etc)?
>
You can't do that once you define your own layout, or you introduce a
nasty intermodule dependency which shouldn't exist.
The rule should be:
- You MUST NOT reload segments before LGDT.
(One can possibly get away with declaring that DS = CS+8 by
protocol and load dynamic values, but that's not a good thing.)
- After LGDT, you MUST load your own segment values.
Anything else is just broken.
-hpa
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]