tech-x11 archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Accessing ROMs from libpciaccess
On Thursday 18 November 2010 07:38:36 Michael wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hello,
>
> I just committed a fix for libpciaccess's ROM access method. It used
> to just open /dev/mem, mmap(ROM_BASE) and crossfingers hoping physical
> addresses are the same as bus addresses on the machine it's running.
> Obviously this assumption is false on many non-x86 machines ( sparc64
> for example ) but the fix is simple - use the same mechanism as
> pci_device_netbsd_map_range().
> This should work as before on x86, additionally it should work on all
> other ports as well - here's an example from sparc64:
> (II) RADEON(1): Attempting to read un-POSTed bios
> (WW) RADEON(1): Not an x86 BIOS ROM image, BIOS data will not be used
> no kidding, it's an xvr-100 with Sun firmware.
> I have a mach64 card with PC firmware in the same box but the driver
> is unable to cold start it and int10 isn't built by default - I'll
> look at that next.
> On macppc int10 crashed with a SIGBUS trying to muck with an R128's
> ROM, in LockVGA() - let's see how much work it takes to get the x86
> emulator running.
This definitely helps me on cats - I had a similar local changes to get cats
working again.
int10 has problems on cats as follows. I'm still looking what this might be.
(II) S3VIRGE(0): initializing int10
(II) S3VIRGE(0): Bad V_BIOS checksum
(NI) S3VIRGE(0): Ignoring int 0x10 call
(NI) S3VIRGE(0): Ignoring int 0x10 call
(NI) S3VIRGE(0): Ignoring int 0x10 call
0000:0075: 74 ILLEGAL EXTENDED X86 OPCODE!
0000:0075: 74 ILLEGAL EXTENDED X86 OPCODE!
(II) S3VIRGE(0): VESA BIOS not detected
Nick
Home |
Main Index |
Thread Index |
Old Index