Great, I would have a try.
So the vgabios will be in the tree. How about the util/testbios?
YH.
-----邮件原件----- 发件人: ron minnich [mailto:rminnich@lanl.gov] 发送时间: 2004年1月9日 14:35 收件人: linuxbios@clustermatic.org 主题: Tyan S2885 + K8 + Nvidia GEForce FX 5600 + testbios: WORKS!
We just brought up an AGP card using the freebios/util/vgabios/testbios code! It's an Nvidia and it works fine.
I think the emulator path is going to work for linuxbios. There are still some sharp corners to round off but this is really exciting. This is as far as we have ever come with VGA support that will work safely and across all architectures.
I will be putting a fix into the linuxbios resource code to deal with the problems we encountered. It is a trivial fix. It is amazing how well the resource setup code in V2 is working, however; bridges and things just tend to get set up correctly.
Anyway, just thought you'd all want to know.
ron
_______________________________________________ Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios
On Fri, 9 Jan 2004, YhLu wrote:
So the vgabios will be in the tree. How about the util/testbios?
it's going to move into the freebios2 tree as well.
ron
ron minnich wrote:
On Fri, 9 Jan 2004, YhLu wrote:
So the vgabios will be in the tree. How about the util/testbios?
it's going to move into the freebios2 tree as well.
At the end of this week and next I'm going to start work on bringing up our new system that has ATI video chips. The ADLO solution that worked for the Assiliant 68030's hangs on with the ATI bios.
So it looks like a good time to stop using ADLO and move to vgabios and see if I can make it work. Currently I don't have the liberty of moving to freebios2 tree as I'd have to rewrite all the memory init stuff.
Can some kind soul give me or point me to info on what the current status is and what I going to need to do to get it all up?
On Mon, 12 Jan 2004, Richard Smith wrote:
Can some kind soul give me or point me to info on what the current status is and what I going to need to do to get it all up?
vgabios/testbios is currently a linux program, not built into linuxbios at all. That's the emulator. We want to make it a linuxbios device soon.
The vgabios support code will run a vgabios directly. It is built into linuxbios.
Which one did you want?
ron
ron minnich wrote:
On Mon, 12 Jan 2004, Richard Smith wrote:
Can some kind soul give me or point me to info on what the current status is and what I going to need to do to get it all up?
vgabios/testbios is currently a linux program, not built into linuxbios at all. That's the emulator. We want to make it a linuxbios device soon.
The vgabios support code will run a vgabios directly. It is built into linuxbios.
Which one did you want?
I (and my customer) want to see the screen light up at boot so I guess I need the direct vgabios support. I seem to remember trying to use it about 6 months ago but I never could get it to compile and since ADLO worked I didn't continue that path. I'm using a 440BX chipset.
Does success under the emulator indicate the level of success for the direct support or are they totally different? Will it be of use to boot the board up headless and run the emulator to see what happens?
On Mon, 12 Jan 2004, Richard Smith wrote:
I (and my customer) want to see the screen light up at boot so I guess I need the direct vgabios support.
well, maybe. I am also working to move the emulator to become a linuxbios component. For many reasons, this is much safer than just running the BIOS directly.
But you do what that screen on boot so we will start pushing that harder.
I could use your help on this, since we do get some problems with some cards.
Will it be of use to boot the board up headless and run the emulator to see what happens?
That would be the right way to start.
I think in the long term the emulator is the way to go, and possibly in the short term too.
ron
ron minnich wrote:
On Mon, 12 Jan 2004, Richard Smith wrote:
component. For many reasons, this is much safer than just running the BIOS directly.
But you do what that screen on boot so we will start pushing that harder.
Yeah. This system is going to boot from a compact flash thats replaceable so if it gets hosed and won't boot then I need some sort of info on the screen to indicate failue rather than haveing to have a tech sent out to the site to connect up a serial console to determine the issue.
I could use your help on this, since we do get some problems with some cards.
Will it be of use to boot the board up headless and run the emulator to see what happens?
That would be the right way to start.
Ok. Is that in the stock freebios module or a seperate module? Have you tested it compiling against uclibc? I guess I can compile static to start with if I need to.
I think in the long term the emulator is the way to go, and possibly in the short term too.
How much work do you see coming to add the emulator into LB?
On Mon, 12 Jan 2004, Richard Smith wrote:
Yeah. This system is going to boot from a compact flash thats replaceable so if it gets hosed and won't boot then I need some sort of info on the screen to indicate failue rather than haveing to have a tech sent out to the site to connect up a serial console to determine the issue.
it's amazing how often this issue comes up. VGA is "special".
Ok. Is that in the stock freebios module or a seperate module? Have you tested it compiling against uclibc? I guess I can compile static to start with if I need to.
yes, the stock one in the freebios 1 tree.
How much work do you see coming to add the emulator into LB?
not a lot. We'll see as we proceed.
Your expertise would be invaluable in making sure it's working correctly, however.
ron
ron minnich wrote:
How much work do you see coming to add the emulator into LB?
not a lot. We'll see as we proceed.
Your expertise would be invaluable in making sure it's working correctly, however.
Cool thanks. BTW. I read your article in Linux Journal. Good Job. I also now a have a face to go with the name.
Oh, that's nothing. check out the pics on the LinuxBIOS page: http://www.linuxbios.org/misc/index.html
On Mon, 12 Jan 2004, Richard Smith wrote:
I also now a have a face to go with the name.
Hello (again) from Gregg C Levine Funny you should mention that Linux Journal article, Richard. So have I. Nice article Ron. It is indeed a Good Job.
Now as to the subject, is this in reference to the VGA BIOS item that's tucked into the regular Free BIOS tree? Or is it in version 2 of same?
Now the fun question: Anyone besides myself, going to be attending Linux World Conference and Expo, here in NYC, this month? ------------------- Gregg C Levine hansolofalcon@worldnet.att.net ------------------------------------------------------------ "The Force will be with you...Always." Obi-Wan Kenobi "Use the Force, Luke." Obi-Wan Kenobi (This company dedicates this E-Mail to General Obi-Wan Kenobi ) (This company dedicates this E-Mail to Master Yoda )
-----Original Message----- From: linuxbios-admin@clustermatic.org [mailto:linuxbios- admin@clustermatic.org] On Behalf Of Richard Smith Sent: Monday, January 12, 2004 4:58 PM To: rminnich@lanl.gov Cc: YhLu; linuxbios@clustermatic.org Subject: Re: vgabios use howto.
ron minnich wrote:
How much work do you see coming to add the emulator into LB?
not a lot. We'll see as we proceed.
Your expertise would be invaluable in making sure it's working
correctly,
however.
Cool thanks. BTW. I read your article in Linux Journal. Good Job.
I
also now a have a face to go with the name.
-- Richard A. Smith rsmith@bitworks.com
Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios
How do I tell it what pci device to use. I get an error trying to open /proc/bus/pci/00/1f.7
lspci shows my video devices at 00:12.0 and 00:14.0 with 12 being the device that has its IO region enabled at 1000
On Tue, 13 Jan 2004, Richard Smith wrote:
How do I tell it what pci device to use. I get an error trying to open /proc/bus/pci/00/1f.7
what does lspci show?
lspci shows my video devices at 00:12.0 and 00:14.0 with 12 being the device that has its IO region enabled at 1000
for the -d option to the tool you have to give the busdevfn as one number, e.g. 2:0.0 needs to be 0x200
ron
ron minnich wrote:
On Tue, 13 Jan 2004, Richard Smith wrote:
How do I tell it what pci device to use. I get an error trying to open /proc/bus/pci/00/1f.7
what does lspci show?
gpatlas:~# lspci -v 00:00.0 Host bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) (rev 03) Subsystem: Intel Corp.: Unknown device 0000 Flags: bus master, medium devsel, latency 64 Memory at e0000000 (32-bit, prefetchable) [size=256M]
00:07.0 ISA bridge: Intel Corp. 82371AB/EB/MB PIIX4 ISA (rev 02) Flags: bus master, medium devsel, latency 0
00:07.1 IDE interface: Intel Corp. 82371AB/EB/MB PIIX4 IDE (rev 01) (prog-if 8 0 [Master]) Flags: medium devsel I/O ports at 1820 [size=16]
00:07.2 USB Controller: Intel Corp. 82371AB/EB/MB PIIX4 USB (rev 01) (prog-if 00 [UHCI]) Flags: bus master, medium devsel, latency 64, IRQ 9 I/O ports at 1800 [size=32]
00:07.3 Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ACPI (rev 02) Flags: medium devsel, IRQ 9
00:12.0 VGA compatible controller: ATI Technologies Inc Rage Mobility P/M (rev 64) (prog-if 00 [VGA]) Flags: stepping, medium devsel Memory at f0000000 (32-bit, non-prefetchable) [size=16M] I/O ports at 1000 [size=256] Memory at f2000000 (32-bit, non-prefetchable) [size=4K] Expansion ROM at <unassigned> [disabled] [size=128K] Capabilities: [5c] Power Management version 1
00:14.0 VGA compatible controller: ATI Technologies Inc Rage Mobility P/M (rev 64) (prog-if 00 [VGA]) Flags: stepping, medium devsel Memory at f1000000 (32-bit, non-prefetchable) [disabled] [size=16M] I/O ports at 1400 [disabled] [size=256] Memory at f2001000 (32-bit, non-prefetchable) [disabled] [size=4K] Expansion ROM at <unassigned> [disabled] [size=128K] Capabilities: [5c] Power Management version 1
for the -d option to the tool you have to give the busdevfn as one number, e.g. 2:0.0 needs to be 0x200
I always get this wrong.. 00:12.0 would be what?
On Tue, 13 Jan 2004, Richard Smith wrote:
I always get this wrong.. 00:12.0 would be what?
12 << 3 or 0x90
so testbios -d 0x90
ron
ron minnich wrote:
so testbios -d 0x90
Ok.. BTW the -d option dosen't show up in the useage info..
So now I have:
gpatlas:~# ./testbios -d 0x90 -s 65536 video.bios-ATI-M1.bin running file video.bios-ATI-M1.bin No base specified. defaulting to 0xc0000 No initial code segment specified. defaulting to 0xc000 No initial instruction pointer specified. defaulting to 0x0003 eax=0x9 ecx=0x4c52 eflags=0x44 eax=0x9 ecx=0x1001 eflags=0x44 eax=0x8 ecx=0xef87 eflags=0x2 eax=0xb eflags=0x86 eax=0xa ecx=0xf2000000 eflags=0x86
int15 encountered. EAX=64004e08 EBX=00000805 ECX=00008000 EDX=000010e0 ESP=0000ffe4 EBP=00000000 ESI=0000bf2f EDI=0000019e DS=0000 ES=a000 SS=0030 CS=c000 EIP=0000e90c NV UP EI PL ZR NA PE NC
int15 encountered. EAX=00004e08 EBX=00001006 ECX=00000000 EDX=00001088 ESP=0000ffe2 EBP=00000000 ESI=0000bf2f EDI=000001a2 DS=0000 ES=a000 SS=0030 CS=c000 EIP=0000ec67 NV UP EI PL ZR NA PE NC
int15 encountered. EAX=00004e08 EBX=00000100 ECX=00000001 EDX=00001088 ESP=0000ffe2 EBP=00000000 ESI=0000bf2f EDI=000001a2 DS=0000 ES=a000 SS=0030 CS=c000 EIP=0000e9fd NV UP EI PL ZR NA PE NC
int15 encountered. EAX=00004e08 EBX=00001502 ECX=00000000 EDX=00001088 ESP=0000ffe2 EBP=00000000 ESI=0000bf2f EDI=000001a2 DS=c000 ES=a000 SS=0030 CS=c000 EIP=0000eba1 NV UP EI PL ZR NA PE NC
int15 encountered. EAX=00004e08 EBX=00000f01 ECX=00000000 EDX=0000108a ESP=0000ffe2 EBP=00000000 ESI=0000bf2f EDI=000001a2 DS=c000 ES=a000 SS=0030 CS=c000 EIP=0000ebe7 NV UP EI PL NZ NA PO NC int6d: Write String in Teletype Mode - Function not implemented. EAX=00001301 EBX=00000007 ECX=0000002a EDX=00000000 ESP=0000ffe4 EBP=00000083 ESI=0000ffda EDI=0000ffd0 DS=0000 ES=c000 SS=0030 CS=c000 EIP=00000331 NV UP EI PL ZR NA PE NC halt_sys: file ops.c, line 9836 halted
run with -t also and you'll get instruction traces.
Don't post traces to the list, as we don't want to start posting disassembled bios code to the list.
ron
ron minnich wrote:
run with -t also and you'll get instruction traces.
Don't post traces to the list, as we don't want to start posting disassembled bios code to the list.
Agreed. Way to long anyway.
So now what? Since it was getting to a write string int call I would guess that the video init stuff would have already been run but I don't get any indication that VSYNC has been enabled. I haven't verified yet directly by checking the vsync pin on our header yet but my monitor never comes out of powersave.
The emulator lets the actual writes to the hardware occur dosen't it?
On Tue, 13 Jan 2004, Richard Smith wrote:
So now what? Since it was getting to a write string int call I would guess that the video init stuff would have already been run but I don't get any indication that VSYNC has been enabled. I haven't verified yet directly by checking the vsync pin on our header yet but my monitor never comes out of powersave.
blast. It's working on nvidia and an S3 card here.
The emulator lets the actual writes to the hardware occur dosen't it?
yes.
You need more tracing now.
ron
On Tue, 2004-01-13 at 15:21, ron minnich wrote:
On Tue, 13 Jan 2004, Richard Smith wrote:
So now what? Since it was getting to a write string int call I would guess that the video init stuff would have already been run but I don't get any indication that VSYNC has been enabled. I haven't verified yet directly by checking the vsync pin on our header yet but my monitor never comes out of powersave.
blast. It's working on nvidia and an S3 card here.
The emulator lets the actual writes to the hardware occur dosen't it?
yes.
Ron,
what paltform does he use ? Does it have the same problem to forward I/O and mem to the card ?
Ollie
On Tue, 13 Jan 2004, Li-Ta Lo wrote:
what paltform does he use ? Does it have the same problem to forward I/O and mem to the card ?
I think it's the 845, so should be ok.
ron
ron minnich wrote:
On Tue, 13 Jan 2004, Li-Ta Lo wrote:
what paltform does he use ? Does it have the same problem to forward I/O and mem to the card ?
I think it's the 845, so should be ok.
440BX. Our previous BIOS from Assiliant worked so I think the IO range is ok.
Anyone have a clue what Int 15 AX=b808 does? It's not in Ralph's list and none of the emulator code supports it.
My video bios is calling it so Im trying to determine if I can blow it off or if I actually have to make it work.
Hello (again) from Gregg C Levine Richard, according to a guide book for programming for the Evil Empire, that BIOS call, INT 15H AH=88H, which does mean AX=88H, since your using the high order byte for that call, does this, Get Extended Block Size. Upon return from the interrupt the AX register will contain the number of 1K blocks.
The book itself claims to be "The Programmers PC Sourcebook", but since its published by those guys, that's why I gave that introduction. In short, yes you do need to make it work. I don't know why yours is calling it, and the emulator does not. Is this on the native BIOS? I should think so. And is this for the video BIOS that lives on the card, or as a part of the VGA setup, as a whole? And I don't know why his interrupt list doesn't have it, its supposed to be extremely extensive. ------------------- Gregg C Levine hansolofalcon@worldnet.att.net ------------------------------------------------------------ "The Force will be with you...Always." Obi-Wan Kenobi "Use the Force, Luke." Obi-Wan Kenobi (This company dedicates this E-Mail to General Obi-Wan Kenobi ) (This company dedicates this E-Mail to Master Yoda )
-----Original Message----- From: linuxbios-admin@clustermatic.org [mailto:linuxbios- admin@clustermatic.org] On Behalf Of Richard Smith Sent: Wednesday, January 14, 2004 10:48 AM To: linuxbios@clustermatic.org Subject: Int 15 AX=b808
Anyone have a clue what Int 15 AX=b808 does? It's not in Ralph's
list
and none of the emulator code supports it.
My video bios is calling it so Im trying to determine if I can blow
it
off or if I actually have to make it work.
-- Richard A. Smith rsmith@bitworks.com
Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios
interesting, as I thought I had put the 'free memory' interrupt in there.
We'll try to look some more later today.
Thanks Gregg.
ron
Hello (again) from Gregg C Levine Your quite welcome. Although I am curious as to how that problem materialized, with what Richard is doing, within the scope of his NDA. ------------------- Gregg C Levine hansolofalcon@worldnet.att.net ------------------------------------------------------------ "The Force will be with you...Always." Obi-Wan Kenobi "Use the Force, Luke." Obi-Wan Kenobi (This company dedicates this E-Mail to General Obi-Wan Kenobi ) (This company dedicates this E-Mail to Master Yoda )
-----Original Message----- From: ron minnich [mailto:rminnich@lanl.gov] Sent: Wednesday, January 14, 2004 1:43 PM To: Gregg C Levine Cc: rsmith@bitworks.com; linuxbios@clustermatic.org Subject: RE: Int 15 AX=b808
interesting, as I thought I had put the 'free memory' interrupt in
there.
We'll try to look some more later today.
Thanks Gregg.
ron
ron minnich wrote:
On Tue, 13 Jan 2004, Richard Smith wrote:
So now what? Since it was getting to a write string int call I would guess that the video init stuff would have already been run but I don't get any indication that VSYNC has been enabled. I haven't verified yet directly by checking the vsync pin on our header yet but my monitor never comes out of powersave.
blast. It's working on nvidia and an S3 card here.
All's not lost yet. ATI provided me with a huge wad of code and images so it entirely possible that I'm not even running the correct image. Let me play with it some and report back.
Richard Smith rsmith@bitworks.com writes:
ron minnich wrote:
On Mon, 12 Jan 2004, Richard Smith wrote:
Can some kind soul give me or point me to info on what the current status is and what I going to need to do to get it all up?
vgabios/testbios is currently a linux program, not built into linuxbios at all. That's the emulator. We want to make it a linuxbios device soon. The vgabios support code will run a vgabios directly. It is built into linuxbios. Which one did you want?
I (and my customer) want to see the screen light up at boot so I guess I need the direct vgabios support. I seem to remember trying to use it about 6 months ago but I never could get it to compile and since ADLO worked I didn't continue that path. I'm using a 440BX chipset.
Does success under the emulator indicate the level of success for the direct support or are they totally different? Will it be of use to boot the board up headless and run the emulator to see what happens?
There are some ATI framebuffer drivers that think they know how to initialize a card from one of those.
It may be worth trying the emulator. If we have open source code that can init your video chip there are a lot of interesting things that can be done.
Eric
Eric W. Biederman wrote:
Does success under the emulator indicate the level of success for the direct support or are they totally different? Will it be of use to boot the board up headless and run the emulator to see what happens?
There are some ATI framebuffer drivers that think they know how to initialize a card from one of those.
The chips are the Rage Mobility M1. Suposedly a mach64 core with extra TFT and LVDS drivers added. Target is for laptops. Its pretty new so I don't know if any of the fbdevs would support it. If is really is a mach64 with a facelift then the atyfb might be able to make it work. Thats easy enough to test.
It may be worth trying the emulator. If we have open source code that can init your video chip there are a lot of interesting things that can be done.
I have to be careful here. To get the datasheet on this chip we had to enter into NDA's with ATI which also provided us access to the register level docs. So as a Bitworks employee I'm tainted.
If I can I'd like to just stick with running (or emulating) the provided bios image as that should keep any possiblity of someone crying foul. Otherwise I'll have to go seek permission from ATI's legal machine.