Date: Wed, 8 Dec 1999 00:53:51 -0500 (EST) From: Luoqi Chen <luoqi@watermarkgroup.com> To: hackers@FreeBSD.ORG, vsilyaev@mindspring.com Subject: Re: FreeBSD-i386 and GS selector register Message-ID: <199912080553.AAA03932@lor.watermarkgroup.com>
next in thread | raw e-mail | index | archive | help
> 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 majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199912080553.AAA03932>