Author: wmb Date: 2009-01-04 00:32:33 +0100 (Sun, 04 Jan 2009) New Revision: 1060
Modified: dev/pcibus.fth Log: PCI bus driver - error check/graceful handling for hardwired IO-space BARs that appear to the size prober as too large.
Modified: dev/pcibus.fth =================================================================== --- dev/pcibus.fth 2009-01-03 23:31:04 UTC (rev 1059) +++ dev/pcibus.fth 2009-01-03 23:32:33 UTC (rev 1060) @@ -1085,6 +1085,14 @@ 4drop exit then ( phys.lo,mid,hi size.lo )
+ over io? if ( phys.lo,mid,hi size.lo ) + dup h# 4000 u>= if ( phys.lo,mid,hi size.lo ) + ." Can't assign more than 16K of I/O space" cr + ." Probably a non-writable BAR at PCI config address " drop h# ff.ffff and u. cr + 2drop exit + then + then + \ Mark as already assigned 1 2 pick >assigned dup 1+ >r c! ( phys.lo,mid,hi size.lo ) ( r: adr) r> 2 pick 64mem? if 1 swap c! else drop then