> Hi
>
> I have the next question.
> The FreeBSD on i386 don't use GS register, even kernel DDB don't show
> it. And at the time when kernel loaded and operational GS didn't
> initialized yet and have some garbage value (something like 0x1f, i.e.
> pointed to the LDT). But because no one don't touch that all working fine.
>
0x1f is not garbage, it's (FreeBSD) standard user data segment.
> Question.
> The some driver had code like this:
> push %gs <--- OK 0x1f saved on the stack
> ...
> call do_big_deal
> ...
> pop %gs <--- Restore 0x1f and have a fault, probably Double Fault
>
It could only be that the driver code changed the LDT descriptor and didn't
restore it upon return.
> I can't change that code. When I found this problem, I did simple hack,
> before call that code I'm clear GS. But I want to know may be exist
> a better solution?
>
> --
> Vladimir Silyaev
>
-lq
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message