On Dec 29, 2017, at 8:27 PM, Tarl Neustaedter tarl-b2@tarl.net wrote:
[re-send, copying the list. For whatever reason, it seems messages aren't getting the reply-to: header.]
On 2017-Dec-29 03:58 , Jd Lyons wrote:
0 > " /pci/@e" open-dev to my-self ok 0 > my-self . 5fc5ac34 ok 0 > my-parent . 5fc5abfc ok 0 > my-space . 0 ok <<---Seems my-space isn't returning a correct value? 0 >
That's the problem. It appears that simply open-dev and assigning my-self isn't enough. my-space (and my-address and my-unit) aren't getting set up, so all config-space accesses are going to do the wrong thing (they'll go to device 0, which may or may not be the root).
In the Sun/Oracle version, select would properly set things up, it appears no equivalent is available under openbios.
I think you'll have to further debug this by getting the FCode to be pulled in at startup in place of the built-in vga fcode, rather than trying to fiddle things this way.
Interestingly enough, SLOF has a file called psi-device_10de_0141.fs
\ ***************************************************************************** \ * Copyright (c) 2004, 2008 IBM Corporation \ * All rights reserved. \ * This program and the accompanying materials \ * are made available under the terms of the BSD License \ * which accompanies this distribution, and is available at \ * http://www.opensource.org/licenses/bsd-license.php \ * \ * Contributors: \ * IBM Corporation - initial implementation \ ****************************************************************************/
my-space pci-class-name type
my-space pci-device-generic-setup
pci-io-enable pci-mem-enable
30 config-l@ pci-find-fcode execute-rom-fcode
: check-display ( nodepath len -- true|false ) \ true if display found and "screen" alias set \ check if display available, set screen alias 2dup find-node \ ( path len phandle|0 ) find node ?dup IF \ node found, get "display-type" property s" display-type" rot get-property ( path len true|propaddr proplen 0 ) 0= IF ( path len propaddr proplen ) \ property found, check if the value is not "NONE" s" NONE" 0 char-cat ( path len propaddr proplen str strlen ) \ null-terminated NONE string str= 0= IF ( path len ) \ "display-type" property is not "NONE" so we can set "screen" alias s" screen" 2swap set-alias true ( true ) \ return true ELSE 2drop false ( false ) \ return false THEN THEN THEN ;
get-node node>path s" /NVDA,DISPLAY-A" $cat check-display 0= IF \ no display found on DISPLAY-A ... check DISPLAY-B get-node node>path s" /NVDA,DISPLAY-B" $cat check-display drop \ drop result THEN
s" name" get-my-property drop s" ( " type type s" ) " type cr
-- OpenBIOS http://openbios.org/ Mailinglist: http://lists.openbios.org/mailman/listinfo Free your System - May the Forth be with you