From owner-freebsd-hackers@FreeBSD.ORG Thu May 12 19:58:28 2005 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4D07616A4CE for ; Thu, 12 May 2005 19:58:28 +0000 (GMT) Received: from enterprise4.noxa.de (enterprise.noxa.de [212.60.197.71]) by mx1.FreeBSD.org (Postfix) with ESMTP id E09E443D53 for ; Thu, 12 May 2005 19:58:24 +0000 (GMT) (envelope-from arundel@h3c.de) Received: (qmail 25225 invoked from network); 12 May 2005 21:58:23 +0200 Received: from p508fc814.dip.t-dialin.net (HELO localhost.skatecity) (80.143.200.20) by enterprise.noxa.de with AES256-SHA encrypted SMTP; 12 May 2005 21:58:23 +0200 Received: from localhost.skatecity (nobody@localhost.skatecity [127.0.0.1]) by localhost.skatecity (8.13.3/8.13.3) with ESMTP id j4CJwBEw061564 for ; Thu, 12 May 2005 21:58:11 +0200 (CEST) (envelope-from arundel@localhost.skatecity) Received: (from arundel@localhost) by localhost.skatecity (8.13.3/8.13.3/Submit) id j4CJwBOl061563 for freebsd-hackers@FreeBSD.org; Thu, 12 May 2005 21:58:11 +0200 (CEST) (envelope-from arundel) From: alexander Date: Thu, 12 May 2005 21:58:10 +0200 To: freebsd-hackers@FreeBSD.org Message-ID: <20050512195810.GA61334@skatecity> Mail-Followup-To: freebsd-hackers@FreeBSD.org References: <6.2.1.2.2.20050512180519.03403540@202.179.0.80> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <6.2.1.2.2.20050512180519.03403540@202.179.0.80> Subject: Accessing BIOS memory range X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 May 2005 19:58:28 -0000 Hi there. I'm writing a little app in 32 bit x86 (386 minumum) assembly, where I need to access some memory in the BIOS range. The real address is 40h:6Ch (virtual = ((0x40<<4) | 0x6C)). Gaining access to the I/O ports isn't a big problem (open fd for /dev/io), but I don't know how to gain access to memory that isn't part of my user address space. Any hints? I heard that maybe /dev/mem or /dev/kmem might let me gain access to the BIOS memory, but 'man' tells me that the range is limited to the following range: 0x000a0000 to 0x00100000/0xf0000000 ?? Is it even possible to gain access to that memory area (of course as 'su'). I'd be really if somebody could give me a hint where I have to look (mem, kmem, io ???). Thx in advance.