Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S964866AbVKHPGn (ORCPT ); Tue, 8 Nov 2005 10:06:43 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S965005AbVKHPGn (ORCPT ); Tue, 8 Nov 2005 10:06:43 -0500 Received: from smtp.osdl.org ([65.172.181.4]:24272 "EHLO smtp.osdl.org") by vger.kernel.org with ESMTP id S964866AbVKHPGm (ORCPT ); Tue, 8 Nov 2005 10:06:42 -0500 Date: Tue, 8 Nov 2005 07:06:26 -0800 (PST) From: Linus Torvalds To: Zachary Amsden cc: Andrew Morton , Chris Wright , Linux Kernel Mailing List , Virtualization Mailing List , "H. Peter Anvin" , Zwane Mwaikambo , Martin Bligh , Pratap Subrahmanyam , Christopher Li , "Eric W. Biederman" , Ingo Molnar Subject: Re: [PATCH 4/21] i386 Broken bios common In-Reply-To: <200511080422.jA84MQxK009859@zach-dev.vmware.com> Message-ID: References: <200511080422.jA84MQxK009859@zach-dev.vmware.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1303 Lines: 29 On Mon, 7 Nov 2005, Zachary Amsden wrote: > > Both the APM BIOS and PnP BIOS code use a segment hack to simulate real > mode selector 0x40 (which points to the BIOS data area at 0x00400 in > real mode). Several broken BIOSen use selector 0x40 as if they were > running in real mode, which we make work by faking up selector 0x40 in > the GDT to point to physical memory starting at 0x400. We limit the > access to the remainder of this physical page using a byte granular > limit. Rather than have this tricky code in multiple places, it makes > sense to define it in one place, and the GDT makes a very convenient > place for it. Use GDT entry 4 as the BAD_BIOS_CACHE segment. I'd much rather use entry 8 instead, which should just automatically mean that selector 0x40 _always_ points to virtual address 0x400. No switching etc.. Isn't this what Wine already has to work around, or something? Ingo, can we move the TLS selectors upwards, or does user space perhaps know about the current TLS layout? Wine in particular may well know ;( Linus - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/