Author: wmb Date: 2008-11-12 00:24:49 +0100 (Wed, 12 Nov 2008) New Revision: 1003
Modified: cpu/x86/pc/neptune/mfgdata.fth Log: Neptune - use random mac address if manufacturing data area is not set.
Modified: cpu/x86/pc/neptune/mfgdata.fth =================================================================== --- cpu/x86/pc/neptune/mfgdata.fth 2008-11-11 22:53:41 UTC (rev 1002) +++ cpu/x86/pc/neptune/mfgdata.fth 2008-11-11 23:24:49 UTC (rev 1003) @@ -51,8 +51,9 @@
stand-init: Manufacturing data dangerous-select-mfg-data - read-nvram \ Read the manufacturing data into memory - read-ge-area \ Incorporate it into the config variables + read-nvram 0= if \ Read the manufacturing data into memory + read-ge-area \ Incorporate it into the config variables + then unselect-mfg-data ;
@@ -100,9 +101,6 @@
" " 6 config-mac-address mfg-mac-address
-' mfg-mac-address to system-mac-address - -0 [if] 8 buffer: mac-address-buf : random-mac-address ( -- adr len ) mac-address-buf @ 0= if @@ -124,10 +122,15 @@
mac-address-buf 6 ; -' random-mac-address to system-mac-address -[then]
+: choose-mac-address ( -- adr len ) + mfg-mac-address dup 6 <> if ( adr len ) + 2drop random-mac-address ( adr' len' ) + then ( adr len ) +; +' choose-mac-address to system-mac-address
+ \ LICENSE_BEGIN \ Copyright (c) 2008 FirmWorks \
openfirmware@openfirmware.info