* PCI MMIO under DOSEMU
@ 2009-06-24 15:21 jean-francois simon
2009-06-25 19:03 ` Bart Oldeman
0 siblings, 1 reply; 4+ messages in thread
From: jean-francois simon @ 2009-06-24 15:21 UTC (permalink / raw)
To: linux-msdos
hi
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?
thx a lot
-jf
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: PCI MMIO under DOSEMU
2009-06-24 15:21 PCI MMIO under DOSEMU jean-francois simon
@ 2009-06-25 19:03 ` Bart Oldeman
2009-06-26 10:13 ` jean-francois simon
0 siblings, 1 reply; 4+ messages in thread
From: Bart Oldeman @ 2009-06-25 19:03 UTC (permalink / raw)
To: jfs; +Cc: linux-msdos
2009/6/24 jean-francois simon <jfs@themis.com>:
> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-msdos" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: PCI MMIO under DOSEMU
2009-06-25 19:03 ` Bart Oldeman
@ 2009-06-26 10:13 ` jean-francois simon
2009-06-26 12:03 ` Bart Oldeman
0 siblings, 1 reply; 4+ messages in thread
From: jean-francois simon @ 2009-06-26 10:13 UTC (permalink / raw)
To: Bart Oldeman; +Cc: linux-msdos
Bart Oldeman wrote:
> 2009/6/24 jean-francois simon <jfs@themis.com>:
>> 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
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: PCI MMIO under DOSEMU
2009-06-26 10:13 ` jean-francois simon
@ 2009-06-26 12:03 ` Bart Oldeman
0 siblings, 0 replies; 4+ messages in thread
From: Bart Oldeman @ 2009-06-26 12:03 UTC (permalink / raw)
To: jfs; +Cc: linux-msdos
2009/6/26 jean-francois simon <jfs@themis.com>:
> 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.
The DOS DPMI program cannot access the memory directly (on i386 Linux
kernels it would actually be a kernel address) but would need to
create a mapping using the DPMI function for physical address mapping
(int31/AX=0x0800). If you run "dosemu -s -D+M" you should see what the
DPMI program does in ~/.dosemu/boot.log and also where DOSEMU actually
maps that memory.
hope that helps,
Bart
--
To unsubscribe from this list: send the line "unsubscribe linux-msdos" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2009-06-26 12:03 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-06-24 15:21 PCI MMIO under DOSEMU jean-francois simon
2009-06-25 19:03 ` Bart Oldeman
2009-06-26 10:13 ` jean-francois simon
2009-06-26 12:03 ` Bart Oldeman
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.