qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Hervé Poussineau" <hpoussin@reactos.org>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: QEMU Developers <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] Resource reporting for VGA cards
Date: Sat, 03 Nov 2012 22:11:58 +0100	[thread overview]
Message-ID: <5095889E.9060301@reactos.org> (raw)
In-Reply-To: <5087F646.8040605@redhat.com>

Hi,

Gerd Hoffmann a écrit :
> On 10/23/12 23:04, Hervé Poussineau wrote:
>> Hi,
>> Gerd Hoffmann a écrit :
>>> On 10/22/12 21:43, Hervé Poussineau wrote:
>>>> Hello,
>>>>
>>>> I'm trying to add support for a S3 PCI VGA card to QEMU. It currently
>>>> works on some non-x86 systems.
>>>> However, on x86, it seems that the card is correctly detected, but there
>>>> is no display at all; I think it is due to bad framebuffer address
>>>> detection.
>>> I'd tend to suspect vgabios issues.
>>>
>>>> QEMU:
>>>>    Memory: 000A0000-000AFFFF
>>>>    Memory: 000B0000-000BFFFF
>>>>    I/O: 03B0-03BB
>>>>    I/O: 03C0-03DF
>>>>    Memory: FD000000-FDFFFFFF (BAR0)
>>>>    Memory: 000C0000-000CFFFF (rom file?)
>>>>    Memory: 04000000-04007FFF (???)
>>> Can you try lspci in a linux guest?
>>> Do you have a git tree somewhere?
>> Git tree is available at git://repo.or.cz/qemu/hpoussin.git branch s3.
>> Sorry, I don't have handy a lspci output, I will try to provide you one
>> later.
> 
> 00:02.0 VGA compatible controller: S3 Inc. 86c764/765 [Trio32/64/64V+]
> (prog-if 00 [VGA controller])
> 	Subsystem: Red Hat, Inc Device 1100
> 	Physical Slot: 2
> 	Flags: fast devsel
> 	Memory at fd000000 (32-bit, prefetchable) [size=16M]
> 	Expansion ROM at febd0000 [disabled] [size=64K]
> 
> Looks perfectly fine.  I have no idea where the last two memory ranges
> come from.

OK.

>>>> S3 card have a BAR0 of size 0x1000000 (16MB) for the framebuffer, and
>>>> ROM is created with bochs vgabios.
>>> I'd use seabios instead, but bochs vga should work too.  Of course the
>>> PCI IDs must be correct otherwise seabios ignores the rom.
>>>
>>>> QEMU is launched with -m pc -device s3-trio.
>>> /me suggests to add '-vga none' so you don't end up with both cirrus & s3
>> OK, tested with -vga none -device s3-trio, and I also tried with
>> seavgabios.
>>
>> With seavgabios, BIOS is displayed, Windows starts to load, and then
>> Windows 98 seems to stop loading at animated screen during load.
>>
>> With bochs vgabios, Windows 98 loads with fail-safe display driver,
>> saying that the device doesn't work.
> 
> I'd suggest to ditch bochs vbe support from the s3 (cirrus hasn't it
> too), i.e. not register vbe_ports and drop CONFIG_VGA_BOCHS from
> roms/config.vga.s3

Done.

> 
> vgabios will support only standard vga modes then, but with a s3 driver
> installed win98 should be able to drive the card with svga modes too.
> It is possible to add s3 support to seavgabios simliar to cirrus for
> VESA support.
> 
> Linux s3fb accepts the card:
> 
> [   56.157842] fbcon: S3 Unknown (fb0) is primary device
> [   58.537524] Console: switching to colour frame buffer device 80x30
> [   58.578909] fb0: S3 Unknown on 0000:00:02.0, 4 MB RAM, 7 MHz MCLK
> [   58.578969] fb0: unknown chip, CR2D=0, CR2E=0, CRT2F=0, CRT30=0
> 
> screen looks a bit funky though, probably due to the incomplete emulation.
> 
> s3fb thinks the card has 4 MB whereas BAR0 is 16 MB.  Something is fishy
> there.  Maybe just the incomplete emulation too.
> 

Thanks for your help. I had to lower BAR0 size to 8 MB, which seems to 
be the maximum allowed for the real card.

Current state is that NT4 works in 640x480, Windows 98 doesn't work, and 
Linux s3fb accepts the card but display is quite incorrect.

[  102.610239] Console: switching to colour framebuffer device 80x30
[  102.622086] fb0: S3 Trio32 on 0000:00:03.0, 8 MB RAM, 7 MHz MCLK

So, chip is recognized with the right name, and with the right RAM size.

I need to continue my debugging...

Regards,

Hervé

      reply	other threads:[~2012-11-03 21:12 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-22 19:43 [Qemu-devel] Resource reporting for VGA cards Hervé Poussineau
2012-10-23  7:31 ` Gerd Hoffmann
2012-10-23 21:04   ` Hervé Poussineau
2012-10-24 14:08     ` Gerd Hoffmann
2012-11-03 21:11       ` Hervé Poussineau [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5095889E.9060301@reactos.org \
    --to=hpoussin@reactos.org \
    --cc=kraxel@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).