All of lore.kernel.org
 help / color / mirror / Atom feed
* 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.