[OpenBIOS] Back at it again( PCI Passthrough )
Jd Lyons
lyons_dj at yahoo.com
Sat May 12 12:47:57 CEST 2018
As far as I can tell, here is a breakdown of 0xddf, I’m getting an exception here now, but I’m not sure where or how to debug it.
I did add the other config* words, but I’m unsure I did it correctly, and I can’t seem to debug them when they are called in the Fcode?
new-token 0xddf
b(:)
b(lit) 0x10
(unnamed-fcode) [0xdde]
new-token 0xdde
b(:)
my-space
+
dup
(unnamed-fcode) [0xa08]
new-token 0xa08
b(:)
b(") ( len=9 )
" config-l@"
$call-parent
b(;)
swap
-1
over
(unnamed-fcode) [0xa09]
new-token 0xa09
b(:)
b(") ( len=9 )
" config-l!"
$call-parent
b(;)
dup
(unnamed-fcode) [0xa08]
new-token 0xa08
b(:)
b(") ( len=9 )
" config-l@"
$call-parent
b(;)
b(lit) 0xfffffff0dde
and
negate
-rot
(unnamed-fcode) [0xa0
b(;)
new-token 0xa0b
b(:)
(unnamed-fcode) [0x9a3]
+
rb!
b(;)
b(to) (unnamed-fcode) [0x9c3]
new-token 0x9c3
b(value)
0
b(lit) 0x14
(unnamed-fcode) [0xdde]
new-token 0xdde
b(:)
my-space
+
dup
(unnamed-fcode) [0xa08]
new-token 0xa08
b(:)
b(") ( len=9 )
" config-l@"
$call-parent
b(;)
swap
-1
over
(unnamed-fcode) [0xa09]
new-token 0xa09
b(:)
b(") ( len=9 )
" config-l!"
$call-parent
b(;)
dup
(unnamed-fcode) [0xa08]
new-token 0xa08
b(:)
b(") ( len=9 )
" config-l@"
$call-parent
b(;)
b(lit) 0xfffffff0dde
and
negate
-rot
(unnamed-fcode) [0xa0
b(;)
new-token 0xa0b
b(:)
(unnamed-fcode) [0x9a3]
+
rb!
b(;)
b(to) (unnamed-fcode) [0x9c4]
new-token 0x9c4
b(value)
0
(unnamed-fcode) [0x9c0]
new-token 0x9c0
b(defer)
b(lit) 0xff
and
(unnamed-fcode) [0xdde]
new-token 0xdde
b(:)
my-space
+
dup
(unnamed-fcode) [0xa08]
new-token 0xa08
b(:)
b(") ( len=9 )
" config-l@"
$call-parent
b(;)
swap
-1
over
(unnamed-fcode) [0xa09]
new-token 0xa09
b(:)
b(") ( len=9 )
" config-l!"
$call-parent
b(;)
dup
(unnamed-fcode) [0xa08]
new-token 0xa08
b(:)
b(") ( len=9 )
" config-l@"
$call-parent
b(;)
b(lit) 0xfffffff0dde
and
negate
-rot
(unnamed-fcode) [0xa0
b(;)
new-token 0xa0b
b(:)
(unnamed-fcode) [0x9a3]
+
rb!
b(;)
b(to) (unnamed-fcode) [0x9c6]
new-token 0x9c6
b(value)
b(lit) 0x30
(unnamed-fcode) [0xdde]
new-token 0xdde
b(:)
my-space
+
dup
(unnamed-fcode) [0xa08]
new-token 0xa08
b(:)
b(") ( len=9 )
" config-l@"
$call-parent
b(;)
swap
-1
over
(unnamed-fcode) [0xa09]
new-token 0xa09
b(:)
b(") ( len=9 )
" config-l!"
$call-parent
b(;)
dup
(unnamed-fcode) [0xa08]
new-token 0xa08
b(:)
b(") ( len=9 )
" config-l@"
$call-parent
b(;)
b(lit) 0xfffffff0dde
and
negate
-rot
(unnamed-fcode) [0xa0
b(;)
new-token 0xa0b
b(:)
(unnamed-fcode) [0x9a3]
+
rb!
b(;)
b(to) (unnamed-fcode) [0x9c5]
new-token 0x9c5
b(value)
0
(unnamed-fcode) [0x9bf]
new-token 0x9bf
b(constant)
(unnamed-fcode) [0xa03]
new-token 0xa03
b(:)
my-space
or
b(") ( len=0x12 [18 bytes] )
" assigned-addresses"
get-my-property
invert
b?branch 0x0033 ( =dec 51)
rot
>r
b(<mark)
dup
b?branch 0x0029 ( =dec 41)
decode-phys
b(lit) 0xff
and
r@
b(lit) 0xff
and
=
b?branch 0x000a ( =dec 10)
2swap
2drop
r>
exit
bbranch 0x0005 ()
b(>resolve)
2drop
b(>resolve)
decode-int
drop
decode-int
drop
bbranch 0xffd8 ( =dec -40)
b(>resolve)
2drop
r>
b(>resolve)
>r
my-address
r>
b(;)
(unnamed-fcode) [0x9c5]
new-token 0x9c5
b(value)
0
(unnamed-fcode) [0xa04]
new-token 0xa04
b(:)
b(") ( len=6 )
" map-in"
$call-parent
b(;)
b(to) (unnamed-fcode) [0x9a5]
new-token 0x9a5
b(value)
-1
(unnamed-fcode) [0x9bc]
new-token 0x9bc
b(constant)
b(lit) 0x2000014
(unnamed-fcode) [0xa03]
new-token 0xa03
b(:)
my-space
or
b(") ( len=0x12 [18 bytes] )
" assigned-addresses"
get-my-property
invert
b?branch 0x0033 ( =dec 51)
rot
>r
b(<mark)
dup
b?branch 0x0029 ( =dec 41)
decode-phys
b(lit) 0xff
and
r@
b(lit) 0xff
and
=
b?branch 0x000a ( =dec 10)
2swap
2drop
r>
exit
bbranch 0x0005 ()
b(>resolve)
2drop
b(>resolve)
decode-int
drop
decode-int
drop
bbranch 0xffd8 ( =dec -40)
b(>resolve)
2drop
r>
b(>resolve)
>r
my-address
r>
b(;)
(unnamed-fcode) [0x9c3]
new-token 0x9c3
b(value)
0
(unnamed-fcode) [0xa04]
new-token 0xa04
b(:)
b(") ( len=6 )
" map-in"
$call-parent
b(;)
b(to) (unnamed-fcode) [0x9a3]
new-token 0x9a3
b(value)
-1
(unnamed-fcode) [0x9c0]
new-token 0x9c0
b(defer)
b(lit) 0x200001c
(unnamed-fcode) [0xa03]
new-token 0xa03
b(:)
my-space
or
b(") ( len=0x12 [18 bytes] )
" assigned-addresses"
get-my-property
invert
b?branch 0x0033 ( =dec 51)
rot
>r
b(<mark)
dup
b?branch 0x0029 ( =dec 41)
decode-phys
b(lit) 0xff
and
r@
b(lit) 0xff
and
=
b?branch 0x000a ( =dec 10)
2swap
2drop
r>
exit
bbranch 0x0005 ()
b(>resolve)
2drop
b(>resolve)
decode-int
drop
decode-int
drop
bbranch 0xffd8 ( =dec -40)
b(>resolve)
2drop
r>
b(>resolve)
>r
my-address
r>
b(;)
(unnamed-fcode) [0x9c6]
new-token 0x9c6
b(value)
(unnamed-fcode) [0xa04]
new-token 0xa04
b(:)
b(") ( len=6 )
" map-in"
$call-parent
b(;)
b(to) (unnamed-fcode) [0x9a6]
new-token 0x9c6
b(value)
(unnamed-fcode) [0x9bd]
new-token 0x9bd
b(constant)
b(lit) 0x42000014
(unnamed-fcode) [0xa03]
new-token 0xa03
b(:)
my-space
or
b(") ( len=0x12 [18 bytes] )
" assigned-addresses"
get-my-property
invert
b?branch 0x0033 ( =dec 51)
rot
>r
b(<mark)
dup
b?branch 0x0029 ( =dec 41)
decode-phys
b(lit) 0xff
and
r@
b(lit) 0xff
and
=
b?branch 0x000a ( =dec 10)
2swap
2drop
r>
exit
bbranch 0x0005 ()
b(>resolve)
2drop
b(>resolve)
decode-int
drop
decode-int
drop
bbranch 0xffd8 ( =dec -40)
b(>resolve)
2drop
r>
b(>resolve)
>r
my-address
r>
b(;)
(unnamed-fcode) [0x9c4]
new-token 0x9c4
b(value)
0
(unnamed-fcode) [0xa04]
new-token 0xa04
b(:)
b(") ( len=6 )
" map-in"
$call-parent
b(;)
b(to) (unnamed-fcode) [0x9a4]
new-token 0x9a4
b(value)
-1
(unnamed-fcode) [0xa3b]
new-token 0xa3b
b(:)
my-space
la1+
dup
(unnamed-fcode) [0xa06]
2
or
swap
(unnamed-fcode) [0xa07]
b(;)
(unnamed-fcode) [0xa3d]
new-token 0xa3d
b(:)
(unnamed-fcode) [0x949]
invert
b?branch 0x0013 ( =dec 19)
b(lit) 0x1000000
b(lit) 0x4
(unnamed-fcode) [0xa0f]
-1
b(to) (unnamed-fcode) [0x949]
b(>resolve)
b(;)
(unnamed-fcode) [0xddd]
new-token 0xddd
b(:)
(unnamed-fcode) [0x93d]
b(lit) 0x25
=
b?branch 0x0024 ( =dec 36)
b(lit) 0x1002c0
dup
(unnamed-fcode) [0xb7b]
b(lit) 0x100
or
(unnamed-fcode) [0xb81]
b(lit) 0x1002c0
dup
(unnamed-fcode) [0xb7b]
b(lit) 0x100
invert
and
(unnamed-fcode) [0xb81]
b(>resolve)
b(;)
b(;)
> On May 11, 2018, at 11:24 PM, Jd Lyons via OpenBIOS <openbios at openbios.org> wrote:
>
> Yes, along with some of the other config* words:
>
> new-token 0xa00
> b(defer)
> new-token 0xa01
> b(defer)
> new-token 0xa02
> b(defer)
> new-token 0xa03
> b(:)
> my-space
> or
> b(") ( len=0x12 [18 bytes] )
> " assigned-addresses"
> get-my-property
> invert
> b?branch 0x0033 ( =dec 51)
> rot
>> r
> b(<mark)
> dup
> b?branch 0x0029 ( =dec 41)
> decode-phys
> b(lit) 0xff
> and
> r@
> b(lit) 0xff
> and
> =
> b?branch 0x000a ( =dec 10)
> 2swap
> 2drop
> r>
> exit
> bbranch 0x0005 ()
> b(>resolve)
> 2drop
> b(>resolve)
> decode-int
> drop
> decode-int
> drop
> bbranch 0xffd8 ( =dec -40)
> b(>resolve)
> 2drop
> r>
> b(>resolve)
>> r
> my-address
> r>
> b(;)
> new-token 0xa04
> b(:)
> b(") ( len=6 )
> " map-in"
> $call-parent
> b(;)
> new-token 0xa05
> b(:)
> b(") ( len=7 )
> " map-out"
> $call-parent
> b(;)
> new-token 0xa06
> b(:)
> b(") ( len=9 )
> " config-w@"
> $call-parent
> b(;)
> new-token 0xa07
> b(:)
> b(") ( len=9 )
> " config-w!"
> $call-parent
> b(;)
> new-token 0xa08
> b(:)
> b(") ( len=9 )
> " config-l@"
> $call-parent
> b(;)
> new-token 0xa09
> b(:)
> b(") ( len=9 )
> " config-l!"
> $call-parent
> b(;)
> new-token 0xa0a
> b(:)
> (unnamed-fcode) [0x9a3]
> +
> rb@
> b(;)
> new-token 0xa0b
> b(:)
> (unnamed-fcode) [0x9a3]
> +
> rb!
> b(;)
> new-token 0xa0c
> b(:)
> swap
> (unnamed-fcode) [0xa0b]
> b(;)
> new-token 0xa0d
> b(:)
> (unnamed-fcode) [0x9a3]
> +
> rl@
> b(;)
> new-token 0xa0e
> b(:)
> (unnamed-fcode) [0x9a3]
> +
> rl!
> b(;)
> new-token 0xa0f
> b(:)
> (unnamed-fcode) [0x9a3]
> +
> rl!
> b(;)
>
>
>> On May 11, 2018, at 11:31 AM, Mark Cave-Ayland <mark.cave-ayland at ilande.co.uk> wrote:
>>
>> On 11/05/18 12:46, Jd Lyons via OpenBIOS wrote:
>>
>>> Thanks Mark, now I’m down to stepping through the ddf word.
>>> Are map-in and map-out implemented in forth?
>>> Seems the nVidia roms use them, as most option roms would.
>>
>> From memory PCI map-in is supported, map-out isn't but could be implemented fairly easily. Do you see that in the NVidia ROM image?
>>
>>
>> ATB,
>>
>> Mark.
>
>
> --
> 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