[OpenBIOS] PIC Passthough( VGA )

Jd Lyons lyons_dj at yahoo.com
Mon Dec 18 14:05:57 CET 2017



> On Dec 18, 2017, at 5:01 AM, Segher Boessenkool <segher at kernel.crashing.org> wrote:
> 
> On Mon, Dec 18, 2017 at 03:22:11AM -0500, Jd Lyons wrote:
>>> On Dec 18, 2017, at 2:44 AM, Segher Boessenkool <segher at kernel.crashing.org> wrote:
>>> Exactly.  And I gave a (not super great) implementation above, enough to
>>> see if you get further :-)
>> 
>> Ok, I see, the code you gave was a command for Openbios, I kept trying to find where to add it to the source, thinking it was C code;-)
>> 
>> Only got one byte further:
>> 
>> 
>> 
>>       (offset) 5 
>> 401000d : (compile)  [ 0xe05 ]
>> 401000e : (compile) b(endcase) [ 0xc5 ]
>> 401000f : (compile) over [ 0x48 ]
>> 4010010 : (compile) b(to) [ 0xc3 ]
>> 4010014 : (compile)  [ 0xe36 ]
>> 4010016 : (compile) encode+ [ 0x112 ]
>> 4010017 : (compile) 2dup [ 0x53 ]
>> 4010018 : (compile) b(to) [ 0xc3 ]
>> 401001b : (compile) b(to) [ 0xc3 ]
>> 401001f : (compile)  [ 0xc7b ]
>> 4010021 : (compile) property [ 0x110 ]
>> 4010022 : (compile) b(;) [ 0xc2 ]
>> 4010023 : b(') [ 0x11 ]
>> 4010026 : b(to) [ 0xc3 ]
>> 401002a :  [ 0xe34 ]
>> 401002c :  [ 0xdff ]
>> 
>> byte-load: exception caught!
>> ok
> 
> dff does:
> 
> : xdff
>    " vendor-id" get-my-property IF ABORT THEN
>    decode-int -rot 2drop   dup TO x93b   10de <> IF ABORT THEN
>    " device-id" get-my-property IF ABORT THEN
> ...
> 
> so it seems the device-id or vendor-id propertie don't exist, or don't
> have the right value?  Or you don't have a current instance, perhaps.

I don’t know, maybe because we’re only executing the FCode from 4000040, past the part in the Rom where the Device ID is in the PCI Header?

It looks like it just sets the Vendor ID to 10de, but I’m un sure what it does for the Device ID, that seem to be the point where it’s breaking.

      (offset) 5 
401000d : (compile)  [ 0xe05 ]
401000e : (compile) b(endcase) [ 0xc5 ]
401000f : (compile) over [ 0x48 ]
4010010 : (compile) b(to) [ 0xc3 ]
4010014 : (compile)  [ 0xe36 ]
4010016 : (compile) encode+ [ 0x112 ]
4010017 : (compile) 2dup [ 0x53 ]
4010018 : (compile) b(to) [ 0xc3 ]
401001b : (compile) b(to) [ 0xc3 ]
401001f : (compile)  [ 0xc7b ]
4010021 : (compile) property [ 0x110 ]
4010022 : (compile) b(;) [ 0xc2 ]
4010023 : b(') [ 0x11 ]
4010026 : b(to) [ 0xc3 ]
401002a :  [ 0xe34 ]
401002c :  [ 0xdff ]

byte-load: exception caught!
 ok
1 > .properties 
name                      "pci10de,141"
vendor-id                 10de 
device-id                 141 
revision-id               a2 
class-code                30000 
interrupts                1 
min-grant                 0 
max-latency               0 
devsel-speed              0 
subsystem-vendor-id       10de 
subsystem-id              50 
cache-line-size           10 
assigned-addresses        -- 3c : 02 00 80 10 00 00 00 00 83 00 00 00 00 00 00 00 01 00 00 00 c3 00 80 14 00 00 00 00 90 00 00 00 00 00 00 00 10 00 00 00 83 00 80 1c 00 00 00 00 a0 00 00 00 00 00 00 00 01 00 00 00 
reg                       00008000 00000000 00000000   00000000 00000000
                          02008010 00000000 00000000   00000000 01000000
                          c3008014 00000000 00000000   00000000 10000000
                          8300801c 00000000 00000000   00000000 01000000
 ok
1 > 

> 
> 
> Segher
> 
> -- 
> OpenBIOS                 http://openbios.org/
> Mailinglist:  http://lists.openbios.org/mailman/listinfo
> Free your System - May the Forth be with you




More information about the OpenBIOS mailing list