[OpenBIOS] Back at it again( PCI Passthrough )

Jd Lyons lyons_dj at yahoo.com
Wed May 9 14:27:14 CEST 2018


Bear with me, while I try to understand this, but it looks like b?branch sets up some type of temporary buffer, and b(>resolve) try to “flush” that buffer.



> On May 9, 2018, at 4:55 AM, Jd Lyons via OpenBIOS <openbios at openbios.org> wrote:
> 
> I don’t know if this is helpful, but I did a debug of b?branch and b(>resolve):
> 
> 4010035 : b?branch [ 0x14 ]
> 
> : b?branch  ( ffffffff 1 0 ffffffff 0 0 ffffffff fff41a48 0 0 0 0 0 0 ffffffff ) 
> fff46930: fcode-offset        (offset) 26 
> ( ffffffff 1 0 ffffffff 0 0 ffffffff fff41a48 0 0 0 0 0 0 ffffffff 26 ) 
> fff46934: 0<  ( ffffffff 1 0 ffffffff 0 0 ffffffff fff41a48 0 0 0 0 0 0 ffffffff 0 ) 
> fff46938: do?branch  ( ffffffff 1 0 ffffffff 0 0 ffffffff fff41a48 0 0 0 0 0 0 ffffffff ) 
> fff4695c: setup-tmp-comp  ( ffffffff 1 0 ffffffff 0 0 ffffffff fff41a48 0 0 0 0 0 0 ffffffff ) 
> fff46960: (lit)  ( ffffffff 1 0 ffffffff 0 0 ffffffff fff41a48 0 0 0 0 0 0 ffffffff fff3d4e4 ) 
> fff46968: ,  ( ffffffff 1 0 ffffffff 0 0 ffffffff fff41a48 0 0 0 0 0 0 ffffffff ) 
> fff4696c: here  ( ffffffff 1 0 ffffffff 0 0 ffffffff fff41a48 0 0 0 0 0 0 ffffffff fff571c4 ) 
> fff46970: 0  ( ffffffff 1 0 ffffffff 0 0 ffffffff fff41a48 0 0 0 0 0 0 ffffffff fff571c4 0 ) 
> fff46974: 0  ( ffffffff 1 0 ffffffff 0 0 ffffffff fff41a48 0 0 0 0 0 0 ffffffff fff571c4 0 0 ) 
> fff46978: ,  ( ffffffff 1 0 ffffffff 0 0 ffffffff fff41a48 0 0 0 0 0 0 ffffffff fff571c4 0 ) 
> fff4697c: (semis) 
> [ Finished b?branch ] 4010039 : (compile)  [ 0x9bd ]
> 401003a : (compile) b(lit) [ 0x10 ]
> 401003f : (compile) and [ 0x23 ]
> 4010041 : (compile) my-space [ 0x103 ]
> 4010042 : (compile) + [ 0x1e ]
> 4010044 : (compile)  [ 0xa08 ]
> 4010045 : (compile) b(lit) [ 0x10 ]
> 401004a : (compile) and [ 0x23 ]
> 401004b : (compile) b(lit) [ 0x10 ]
> 4010050 : (compile) = [ 0x3c ]
> 4010051 : (compile) b?branch [ 0x14 ]
> 
> : b?branch  ( ffffffff 1 0 ffffffff 0 0 ffffffff fff41a48 0 0 0 0 0 0 ffffffff fff571c4 0 ) 
> fff46930: fcode-offset        (offset) 9 
> ( ffffffff 1 0 ffffffff 0 0 ffffffff fff41a48 0 0 0 0 0 0 ffffffff fff571c4 0 9 ) 
> fff46934: 0<  ( ffffffff 1 0 ffffffff 0 0 ffffffff fff41a48 0 0 0 0 0 0 ffffffff fff571c4 0 0 ) 
> fff46938: do?branch  ( ffffffff 1 0 ffffffff 0 0 ffffffff fff41a48 0 0 0 0 0 0 ffffffff fff571c4 0 ) 
> fff4695c: setup-tmp-comp  ( ffffffff 1 0 ffffffff 0 0 ffffffff fff41a48 0 0 0 0 0 0 ffffffff fff571c4 0 ) 
> fff46960: (lit)  ( ffffffff 1 0 ffffffff 0 0 ffffffff fff41a48 0 0 0 0 0 0 ffffffff fff571c4 0 fff3d4e4 ) 
> fff46968: ,  ( ffffffff 1 0 ffffffff 0 0 ffffffff fff41a48 0 0 0 0 0 0 ffffffff fff571c4 0 ) 
> fff4696c: here  ( ffffffff 1 0 ffffffff 0 0 ffffffff fff41a48 0 0 0 0 0 0 ffffffff fff571c4 0 fff57200 ) 
> fff46970: 0  ( ffffffff 1 0 ffffffff 0 0 ffffffff fff41a48 0 0 0 0 0 0 ffffffff fff571c4 0 fff57200 0 ) 
> fff46974: 0  ( ffffffff 1 0 ffffffff 0 0 ffffffff fff41a48 0 0 0 0 0 0 ffffffff fff571c4 0 fff57200 0 0 ) 
> fff46978: ,  ( ffffffff 1 0 ffffffff 0 0 ffffffff fff41a48 0 0 0 0 0 0 ffffffff fff571c4 0 fff57200 0 ) 
> fff4697c: (semis) 
> [ Finished b?branch ] 4010054 : (compile) b(') [ 0x11 ]
> 4010057 : (compile) b(to) [ 0xc3 ]
> 401005a : (compile) b(>resolve) [ 0xb2 ]
> 
> : b(>resolve)  ( ffffffff 1 0 ffffffff 0 0 ffffffff fff41a48 0 0 0 0 0 0 ffffffff fff571c4 0 fff57200 0 ) 
> fff469bc: resolve-orig  ( ffffffff 1 0 ffffffff 0 0 ffffffff fff41a48 0 0 0 0 0 0 ffffffff fff571c4 0 ) 
> fff469c0: execute-tmp-comp  ( ffffffff 1 0 ffffffff 0 0 ffffffff fff41a48 0 0 0 0 0 0 ffffffff fff571c4 0 ) 
> fff469c4: (semis) 
> [ Finished b(>resolve) ] 401005b : (compile) b(>resolve) [ 0xb2 ]
> 
> : b(>resolve)  ( ffffffff 1 0 ffffffff 0 0 ffffffff fff41a48 0 0 0 0 0 0 ffffffff fff571c4 0 ) 
> fff469bc: resolve-orig  ( ffffffff 1 0 ffffffff 0 0 ffffffff fff41a48 0 0 0 0 0 0 ffffffff ) <<—Something is going wrong here? I just don’t know what it is?
> fff469c0: execute-tmp-comp 
> byte-load: exception caught!
> ok
> 
> 

Just deleting the b(>resolve) I’m hanging on and replacing it with ff gets a little further, and what I’m thinking is these two b(>resolves) and the two b?branch that come before them have something to do with the children, NVDA,Display-A and NVDA,Display-B. Maybe something to do with display detection, or the set-mode command.

Here is the result of skipping the last b(>resolve):

8010051 : (compile) b?branch [ 0x14 ]
       (offset) 9 
8010054 : (compile) b(') [ 0x11 ]
8010057 : (compile) b(to) [ 0xc3 ]
801005a : (compile) b(>resolve) [ 0xb2 ]
801005b : (compile) end1 [ 0xff ]<—skipping
801005d : (compile)  [ 0xddf ]
801005f : (compile)  [ 0xe04 ]
8010061 : (compile)  [ 0xe38 ]
8010063 : (compile)  [ 0xe06 ]
8010065 : (compile)  [ 0xce5 ]
8010067 : (compile)  [ 0xdb0 ]
8010069 : (compile)  [ 0xe07 ]
801006b : (compile)  [ 0xe1a ]
801006d : (compile)  [ 0xc5b ]
801006f : (compile)  [ 0xe28 ]
8010071 : (compile)  [ 0xe20 ]
8010073 : (compile)  [ 0xdfa ]
8010075 : (compile)  [ 0xe37 ]
8010077 : (compile)  [ 0xe2c ]
8010079 : (compile)  [ 0xe2d ]
801007a : (compile) b(") [ 0x12 ]
       (const) NVDA,Parent
8010088 : (compile) device-name [ 0x201 ]
8010089 : (compile) 1 [ 0xa6 ]
801008b : (compile) encode-int [ 0x111 ]
801008c : (compile) b(") [ 0x12 ]
       (const) #address-cells
801009d : (compile) property [ 0x110 ]
801009e : (compile) 0 [ 0xa5 ]
80100a0 : (compile) encode-int [ 0x111 ]
80100a1 : (compile) b(") [ 0x12 ]
       (const) #size-cells
80100af : (compile) property [ 0x110 ]
80100b1 : (compile)  [ 0x9c7 ]
80100b3 : (compile)  [ 0x93d ]
80100b4 : (compile) b(lit) [ 0x10 ]
80100b9 : (compile) >= [ 0x42 ]
80100ba : (compile) b?branch [ 0x14 ]
       (offset) d 
80100bd : (compile) 1 [ 0xa6 ]
80100bf : (compile)  [ 0x933 ]
80100c0 : (compile) lshift [ 0x27 ]
80100c2 : (compile)  [ 0x935 ]
80100c3 : (compile) or [ 0x24 ]
80100c4 : (compile) b(to) [ 0xc3 ]
80100c7 : (compile) b(>resolve) [ 0xb2 ]
80100c9 : (compile)  [ 0x941 ]
80100ca : (compile) b(lit) [ 0x10 ]
80100cf : (compile) lshift [ 0x27 ]
80100d1 : (compile)  [ 0x935 ]
80100d2 : (compile) or [ 0x24 ]
80100d4 : (compile) encode-int [ 0x111 ]
80100d5 : (compile) b(") [ 0x12 ]
       (const) NVDA,Features
80100e5 : (compile) property [ 0x110 ]
80100e6 : (compile) 1 [ 0xa6 ]
80100e8 : (compile) encode-int [ 0x111 ]
80100e9 : (compile) b(") [ 0x12 ]
       (const) NVDA,Level
80100f6 : (compile) property [ 0x110 ]
80100f7 : (compile) 0 [ 0xa5 ]
80100f8 : (compile) 0 [ 0xa5 ]
80100fa : (compile)  [ 0xe2e ]
80100fc : (compile)  [ 0x9bc ]
80100fe : (compile)  [ 0x9c3 ]
8010100 : (compile)  [ 0xe2e ]
8010102 : (compile) encode+ [ 0x112 ]
8010104 : (compile)  [ 0x9c0 ]
8010106 : (compile)  [ 0x9c6 ]
8010108 : (compile)  [ 0xe2e ]
801010a : (compile) encode+ [ 0x112 ]
801010c : (compile)  [ 0x9be ]
801010e : (compile)  [ 0x9c4 ]
8010110 : (compile)  [ 0xe2e ]
8010112 : (compile) encode+ [ 0x112 ]
8010114 : (compile)  [ 0x9bf ]
8010116 : (compile)  [ 0x9c5 ]
8010118 : (compile)  [ 0xe2e ]
801011a : (compile) encode+ [ 0x112 ]
801011b : (compile) b(") [ 0x12 ]
       (const) reg
8010121 : (compile) property [ 0x110 ]
8010122 : (compile) 1 [ 0xa6 ]
8010124 : (compile) encode-int [ 0x111 ]
8010125 : (compile) b(") [ 0x12 ]
       (const) #address-cells
8010136 : (compile) property [ 0x110 ]
8010137 : (compile) 0 [ 0xa5 ]
8010139 : (compile) encode-int [ 0x111 ]
801013a : (compile) b(") [ 0x12 ]
       (const) #size-cells
8010148 : (compile) property [ 0x110 ]
8010149 : (compile) b(") [ 0x12 ]
       (const) : decode-unit parse-1hex ;
8010165 : (compile) evaluate [ 0xcd ]
8010167 : (compile)  [ 0xc7c ]
8010168 : (compile) dup [ 0x47 ]
801016a : (compile) encode-int [ 0x111 ]
801016b : (compile) rot [ 0x4a ]
801016d : (compile) encode-int [ 0x111 ]
801016f : (compile) encode+ [ 0x112 ]
8010170 : (compile) b(") [ 0x12 ]
       (const) VRAM,memsize
801017f : (compile) property [ 0x110 ]
8010180 : (compile) 0 [ 0xa5 ]
8010181 : (compile) b(to) [ 0xc3 ]
8010185 : (compile)  [ 0x951 ]
8010186 : (compile) 0 [ 0xa5 ]
8010187 : (compile) b(?do) [ 0x18 ]
       (offset) 16 
801018a : (compile) i [ 0x19 ]
801018c : (compile)  [ 0xa41 ]
801018e : (compile)  [ 0xa4a ]
8010190 : (compile)  [ 0x8ea ]
8010191 : (compile) <> [ 0x3d ]
8010192 : (compile) b?branch [ 0x14 ]
       (offset) 8 
8010195 : (compile) i [ 0x19 ]
8010196 : (compile) b(to) [ 0xc3 ]
8010199 : (compile) b(leave) [ 0x1b ]
801019a : (compile) b(>resolve) [ 0xb2 ]
801019b : (compile) b(loop) [ 0x15 ]
       (offset) -12 
801019f : (compile)  [ 0x946 ]
80101a0 : (compile) 0> [ 0x38 ]
80101a1 : (compile) b?branch [ 0x14 ]
       (offset) 1b0 
80101a5 : (compile)  [ 0x952 ]
80101a7 : (compile)  [ 0xa41 ]
80101a9 : (compile) new-device [ 0x11f ]
80101ab : (compile)  [ 0xe32 ]
80101ac : (compile) new-token [ 0xb5 ]
80101ae : (compile) undefined-fcode [ 0xe39 ]
80101af : (compile) b(:) [ 0xb7 ]
80101b1 : (compile)  [ 0x952 ]
80101b3 : (compile)  [ 0xa41 ]
80101b5 : (compile)  [ 0xdf1 ]
80101b6 : (compile) b(to) [ 0xc3 ]
80101b9 : (compile) b(;) [ 0xc2 ]
80101ba : new-token [ 0xb5 ]
       (fcode#) e3a 
80101bd : b(:) [ 0xb7 ]
80101bf : (compile)  [ 0x952 ]
80101c1 : (compile)  [ 0xa41 ]
80101c3 : (compile)  [ 0xdf2 ]
80101c4 : (compile) b(;) [ 0xc2 ]
80101c5 : named-token [ 0xb6 ]
       (const) get-mode
       (fcode#) e3b 
80101d1 : b(:) [ 0xb7 ]
80101d3 : (compile)  [ 0xdcb ]
80101d4 : (compile) b(;) [ 0xc2 ]
80101d5 : named-token [ 0xb6 ]
       (const) show-modes
       (fcode#) e3c 
80101e3 : b(:) [ 0xb7 ]
80101e5 : (compile)  [ 0xdcc ]
80101e6 : (compile) b(;) [ 0xc2 ]
80101e7 : external-token [ 0xca ]
       (const) set-mode
       (fcode#) e3d 
80101f3 : b(:) [ 0xb7 ]
80101f5 : (compile)  [ 0x952 ]
80101f7 : (compile)  [ 0xa41 ]
80101f9 : (compile)  [ 0xdca ]
80101fa : (compile) b(;) [ 0xc2 ]
80101fb : external-token [ 0xca ]
       (const) draw-rectangle
       (fcode#) e3e 
801020d : b(:) [ 0xb7 ]
801020f : (compile)  [ 0x952 ]
8010211 : (compile)  [ 0xa41 ]
8010213 : (compile)  [ 0xdd5 ]
8010214 : (compile) b(;) [ 0xc2 ]
8010215 : external-token [ 0xca ]
       (const) fill-rectangle
       (fcode#) e3f 
8010227 : b(:) [ 0xb7 ]
8010229 : (compile)  [ 0x952 ]
801022b : (compile)  [ 0xa41 ]
801022d : (compile)  [ 0xdd7 ]
801022e : (compile) b(;) [ 0xc2 ]
801022f : external-token [ 0xca ]
       (const) read-rectangle
       (fcode#) e40 
8010241 : b(:) [ 0xb7 ]
8010243 : (compile)  [ 0x952 ]
8010245 : (compile)  [ 0xa41 ]
8010247 : (compile)  [ 0xdd6 ]
8010248 : (compile) b(;) [ 0xc2 ]
8010249 : external-token [ 0xca ]
       (const) color!
       (fcode#) e41 
8010253 : b(:) [ 0xb7 ]
8010255 : (compile)  [ 0x952 ]
8010257 : (compile)  [ 0xa41 ]
8010259 : (compile)  [ 0xcf7 ]
801025a : (compile) b(;) [ 0xc2 ]
801025b : external-token [ 0xca ]
       (const) color@
       (fcode#) e42 
8010265 : b(:) [ 0xb7 ]
8010267 : (compile)  [ 0x952 ]
8010269 : (compile)  [ 0xa41 ]
801026b : (compile)  [ 0xcf9 ]
801026c : (compile) b(;) [ 0xc2 ]
801026d : external-token [ 0xca ]
       (const) set-colors
       (fcode#) e43 
801027b : b(:) [ 0xb7 ]
801027d : (compile)  [ 0x952 ]
801027f : (compile)  [ 0xa41 ]
8010281 : (compile)  [ 0xcf3 ]
8010282 : (compile) b(;) [ 0xc2 ]
8010283 : external-token [ 0xca ]
       (const) get-colors
       (fcode#) e44 
8010291 : b(:) [ 0xb7 ]
8010293 : (compile)  [ 0x952 ]
8010295 : (compile)  [ 0xa41 ]
8010297 : (compile)  [ 0xcf5 ]
8010298 : (compile) b(;) [ 0xc2 ]
8010299 : external-token [ 0xca ]
       (const) dimensions
       (fcode#) e45 
80102a7 : b(:) [ 0xb7 ]
80102a9 : (compile)  [ 0xb70 ]
80102ab : (compile)  [ 0xb71 ]
80102ac : (compile) b(;) [ 0xc2 ]
80102ad : external-token [ 0xca ]
       (const) ddc2-set-start
       (fcode#) e46 
80102bf : b(:) [ 0xb7 ]
80102c1 : (compile)  [ 0x952 ]
80102c3 : (compile)  [ 0xa41 ]
80102c5 : (compile)  [ 0xdf3 ]
80102c6 : (compile) b(;) [ 0xc2 ]
80102c7 : external-token [ 0xca ]
       (const) ddc2-set-stop
       (fcode#) e47 
80102d8 : b(:) [ 0xb7 ]
80102da : (compile)  [ 0x952 ]
80102dc : (compile)  [ 0xa41 ]
80102de : (compile)  [ 0xdf4 ]
80102df : (compile) b(;) [ 0xc2 ]
80102e0 : external-token [ 0xca ]
       (const) ddc2-send-byte
       (fcode#) e48 
80102f2 : b(:) [ 0xb7 ]
80102f4 : (compile)  [ 0x952 ]
80102f6 : (compile)  [ 0xa41 ]
80102f8 : (compile)  [ 0xdf5 ]
80102f9 : (compile) b(;) [ 0xc2 ]
80102fb :  [ 0x95f ]
80102fc : 1 [ 0xa6 ]
80102fe :  [ 0x952 ]
80102ff : lshift [ 0x27 ]
8010300 : and [ 0x23 ]
8010301 : 0<> [ 0x35 ]
8010302 : b?branch [ 0x14 ]
       (offset) 42 
8010305 : (compile) external-token [ 0xca ]
8010306 : (compile) bbranch [ 0x13 ]
       (offset) 706f 
8010309 : (compile) 2! [ 0x77 ]
801030a : (compile) cell+ [ 0x65 ]
801030b : (compile) ! [ 0x72 ]
801030c : (compile) abs [ 0x2d ]
801030d : (compile) l! [ 0x73 ]
801030e : (compile) 2! [ 0x77 ]
801030f : (compile) cells [ 0x69 ]
8010310 : (compile) w! [ 0x74 ]
8010311 : (compile) wa1+ [ 0x63 ]
8010312 : (compile) /l* [ 0x68 ]
8010313 : (compile) abs [ 0x2d ]
8010314 : (compile) cell+ [ 0x65 ]
8010315 : (compile) l@ [ 0x6e ]
8010316 : (compile) na+ [ 0x61 ]
8010317 : (compile) char+ [ 0x62 ]
8010318 : (compile) +! [ 0x6c ]
8010319 : (compile) cell+ [ 0x65 ]
801031b : (compile) undefined-fcode [ 0xe49 ]
801031c : (compile) b(:) [ 0xb7 ]
801031e : (compile)  [ 0x952 ]
8010320 : (compile)  [ 0xdd8 ]
8010321 : (compile) b(;) [ 0xc2 ]
8010322 : external-token [ 0xca ]
       (const) power-switch-disable
       (fcode#) e4a 
801033a : b(:) [ 0xb7 ]
801033c : (compile)  [ 0x952 ]
801033e : (compile)  [ 0xdd9 ]
801033f : (compile) b(;) [ 0xc2 ]
8010341 :  [ 0x952 ]
8010343 :  [ 0xdd9 ]
8010344 : b(>resolve) [ 0xb2 ]
8010345 : b(') [ 0x11 ]
8010349 : is-install [ 0x11c ]
open isn't unique.
801034a : b(') [ 0x11 ]
801034e : is-remove [ 0x11d ]
close isn't unique.
8010350 : finish-device [ 0x127 ]
8010351 : b(>resolve) [ 0xb2 ]
8010353 :  [ 0x946 ]
8010354 : 1 [ 0xa6 ]
8010355 : > [ 0x3b ]
8010356 : b?branch [ 0x14 ]
       (offset) 1dc 
8010359 : (compile) -1 [ 0xa4 ]
801035b : (compile)  [ 0x951 ]
801035c : (compile) 0 [ 0xa5 ]
801035d : (compile) b(?do) [ 0x18 ]
       (offset) 25 
8010360 : (compile) i [ 0x19 ]
8010362 : (compile)  [ 0x952 ]
8010363 : (compile) <> [ 0x3d ]
8010364 : (compile) b?branch [ 0x14 ]
       (offset) 1b 
8010367 : (compile) dup [ 0x47 ]
8010368 : (compile) -1 [ 0xa4 ]
8010369 : (compile) = [ 0x3c ]
801036a : (compile) b?branch [ 0x14 ]
       (offset) 5 
801036d : (compile) drop [ 0x46 ]
801036e : (compile) i [ 0x19 ]
801036f : (compile) b(>resolve) [ 0xb2 ]
8010370 : (compile) i [ 0x19 ]
8010372 : (compile)  [ 0xa41 ]
8010374 : (compile)  [ 0xa4a ]
8010376 : (compile)  [ 0x8ea ]
8010377 : (compile) <> [ 0x3d ]
8010378 : (compile) b?branch [ 0x14 ]
       (offset) 6 
801037b : (compile) drop [ 0x46 ]
801037c : (compile) i [ 0x19 ]
801037d : (compile) b(leave) [ 0x1b ]
801037e : (compile) b(>resolve) [ 0xb2 ]
801037f : (compile) b(>resolve) [ 0xb2 ]
8010380 : (compile) b(loop) [ 0x15 ]
       (offset) -21 
8010383 : (compile) dup [ 0x47 ]
8010384 : (compile) b(to) [ 0xc3 ]
8010388 : (compile)  [ 0xa41 ]
801038a : (compile) new-device [ 0x11f ]
801038c : (compile)  [ 0xe32 ]
801038d : (compile) new-token [ 0xb5 ]
801038f : (compile) undefined-fcode [ 0xe4b ]
8010390 : (compile) b(:) [ 0xb7 ]
8010392 : (compile)  [ 0x953 ]
8010394 : (compile)  [ 0xa41 ]
8010396 : (compile)  [ 0xdf1 ]
8010397 : (compile) b(to) [ 0xc3 ]
801039a : (compile) b(;) [ 0xc2 ]
801039b : new-token [ 0xb5 ]
       (fcode#) e4c 
801039e : b(:) [ 0xb7 ]
80103a0 : (compile)  [ 0x953 ]
80103a2 : (compile)  [ 0xa41 ]
80103a4 : (compile)  [ 0xdf2 ]
80103a5 : (compile) b(;) [ 0xc2 ]
80103a6 : named-token [ 0xb6 ]
       (const) get-mode
       (fcode#) e4d 
80103b2 : b(:) [ 0xb7 ]
80103b4 : (compile)  [ 0xdcb ]
80103b5 : (compile) b(;) [ 0xc2 ]
80103b6 : named-token [ 0xb6 ]
       (const) show-modes
       (fcode#) e4e 
80103c4 : b(:) [ 0xb7 ]
80103c6 : (compile)  [ 0xdcc ]
80103c7 : (compile) b(;) [ 0xc2 ]
80103c8 : external-token [ 0xca ]
       (const) set-mode<——We just hang here

Get-mode, show-mode, and set-mode are called twice, I assume once for each display node, so something is going wrong with NVDA,Dispaly-A/B, I just don’t know what it is.

Something b?branch sets up, but b(>resolve) can’t resolve?




> 
> 
>> On May 8, 2018, at 6:14 PM, Jd Lyons via OpenBIOS <openbios at openbios.org> wrote:
>> 
>> 
>> 
>>> On May 8, 2018, at 5:56 PM, Segher Boessenkool <segher at kernel.crashing.org> wrote:
>>> 
>>> On Tue, May 08, 2018 at 12:41:30PM -0700, Joe van Tunen wrote:
>>>> The b?branch command causes the dictionary pointer to change from fff81e54 to fff57240. This behavior is described in fcode.fs where b?branch calls setup-tmp-comp. It's using the tmp-comp-buf which is initialized to a fixed size of 200 in bootstrap.fs. Is 200 enough?
>>> 
>>> Using a temporary compile buffer for b?branch in interpret mode is
>>> incorrect.  It should be executed in interpret mode directly, as the
>>> 1275 specification specifies.  This is different from IF in interpret
>>> mode, etc.
>>> 
>>> 
>>> Segher
>> 
>> Yes, that sound about right, we got to maybe b?branch wasn’t working correctly, before. I did a hatchet job, basically just a copy and paste from SLOF into Openbios, and a few “fixes” to make it compile, but I think the result was the Fcode caught an exception earlier.
>> 
>> Likely if someone that knew what they were doing takes a swing at it, we could get a little further.
>> 
>> https://mail.coreboot.org/pipermail/openbios/2017-December/010071.html
>> -- 
>> OpenBIOS                 http://openbios.org/
>> Mailinglist:  http://lists.openbios.org/mailman/listinfo
>> Free your System - May the Forth be with you
> 
> 
> -- 
> OpenBIOS                 http://openbios.org/
> Mailinglist:  http://lists.openbios.org/mailman/listinfo
> Free your System - May the Forth be with you

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/openbios/attachments/20180509/4fde430f/attachment-0001.html>


More information about the OpenBIOS mailing list