From mboxrd@z Thu Jan 1 00:00:00 1970 From: jean-francois simon Subject: Re: PCI MMIO under DOSEMU Date: Fri, 26 Jun 2009 12:13:45 +0200 Message-ID: <4A449F59.7060909@themis.com> References: <4A424477.7030500@themis.com> Reply-To: jfs@themis.com Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Return-path: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:sender:message-id:date:from :reply-to:user-agent:mime-version:to:cc:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=JdPiYwN0YjoTNnnfw60rNs0wSss7Ni0f8NvVW22pgys=; b=ogFCM2PEgekiWQq2bybk6WCENDBjglxQyilx+ejDhCM/Pa4BK5J53jHL3HNbbIJMgh Y+8bQJOaPA7b+ok7vLeOQM1P0e+uZmMkUF/fq7+QugU4eeRhLFl/hJmqGqUbIKA8V65w cEt83Fn2VTk28RyjKK6h26UklczwstBBNnlfw= In-Reply-To: Sender: linux-msdos-owner@vger.kernel.org List-ID: Content-Type: text/plain; charset="us-ascii" To: Bart Oldeman Cc: linux-msdos@vger.kernel.org Bart Oldeman wrote: > 2009/6/24 jean-francois simon : >> i have a dos program using DPMI and making PCI accesses. it runs fine as >> a DOS stand alone. Under dosemu it can make PCI configuration access no >> problem. but when it tries to make PCI memory access then it fails. i am >> trying to access the following PCI MMIO resource at address 0xDFFFF000: >> >> 0a:0a.0 Bridge: Device 1895:0001 (rev 01) >> Subsystem: Device 1895:0001 >> Flags: bus master, medium devsel, latency 64, IRQ 10 >> Memory at dffff000 (32-bit, non-prefetchable) [size=4K] >> Memory at 80000000 (32-bit, non-prefetchable) [size=1024M] >> Memory at de000000 (32-bit, non-prefetchable) [size=16M] >> Memory at dd000000 (32-bit, non-prefetchable) [size=16M] >> Memory at 7e000000 (64-bit, prefetchable) [size=16M] >> >> >> is it possible to access PCI MMIO under dosemu? > > This should be possible using $_hardware_ram: > $_hardware_ram = "range 0xdffff000,0xdfffffff range 0x80000000,0x80100000" etc. > > Bart > thx for the info. i have tried it and it fails with: Page fault: write instruction to linear address: 0xdffff3fc CPU was in user mode Exception was caused by non-available page VFLAGS(b): 010000001010000110 EAX: 01000000 EBX: 00cc8600 ECX: 00cc8600 EDX: 00000615 VFLAGS(h): 00010286 ESI: 00000212 EDI: dffff3fc EBP: 00000000 CS: 0033 DS: 0000 ES: 0000 FS: 0000 GS: 0000 the address is valid since it is that which is reported by lspci. but it seems like a permission issue (CPU was in user mode). i did a "dosemu -s" though. -jfs