Changeset 3656


Ignore:
Timestamp:
May 7, 2013, 7:06:33 AM (15 months ago)
Author:
quozl
Message:

OLPC XO-1.75 - retain the file name portion of the /chosen bootpath property, so that the initramfs can deduce whether the system is being booted in activation mode or not. The initramfs may also use ramdisk to deduce. #12672.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • cpu/arm/olpc/1.75/dtcompat.fth

    r3350 r3656  
    1010 
    1111 
    12 \ If "bootpath" (whose underlying storage is load-path) matches newpath$, 
    13 \ replace it with oldpath$ . 
    14 : $replaced?  ( oldpath$ newpath$ -- flag ) 
    15    load-path cscount  substring?  if   ( oldpath$ ) 
    16       load-path place-cstr             ( ) 
    17       true                             ( flag ) 
    18    else                                ( oldpath$ ) 
    19       2drop false                      ( flag ) 
    20    then                                ( flag ) 
     12\ append a fragment to a path in place, returning the new path string 
     13: $append  ( path$ fragment$ -- 'path$ ) 
     14   dup >r                       ( path$ fragment$       r: /fragment ) 
     15   2over ca+                    ( path$ fragment$ dst   r: /fragment ) 
     16   swap cmove                   ( path$                 r: /fragment ) 
     17   r> ca+                       ( 'path$ ) 
     18   2dup ca+ 0 swap c!           ( 'path$ ) 
     19; 
     20 
     21\ if "bootpath" (whose underlying storage is load-path) starts with 
     22\ new$ then replace only those characters with old$ 
     23: $replaced?  ( old$ new$ -- flag ) 
     24   load-path cscount            ( old$ new$ path$ ) 
     25   [char] : left-parse-string   ( old$ new$ tail$ head$ ) 
     26   2swap 2>r                    ( old$ new$ head$  r: tail$ ) 
     27   $=  if                       ( old$  r: tail$ ) 
     28      load-path 0               ( old$ path$ ) 
     29      2swap $append             ( path$  r: tail$ ) 
     30      " :" $append              ( path$  r: tail$ ) 
     31      2r> $append               ( path$ ) 
     32      2drop true                ( flag ) 
     33   else                         ( old$  r: tail$ ) 
     34      2r> 4drop false           ( flag ) 
     35   then                         ( flag ) 
    2136; 
    2237 
     
    2641   " $bootpath in"n"t"t/sd@"  ramdisk-adr /ramdisk  $sindex  nip  if   ( ) 
    2742      false to use-fdt? 
    28       " /sd@d4280000/disk@1:/" " /sd/sdhci@d4280000/disk" $replaced?  ?exit 
    29       " /sd@d4280000/disk@2:/" " /sd/sdhci@d4280800/disk" $replaced?  ?exit 
    30       " /sd@d4280000/disk@3:/" " /sd/sdhci@d4281000/disk" $replaced?  ?exit 
     43      " /sd@d4280000/disk@1" " /sd/sdhci@d4280000/disk" $replaced?  ?exit 
     44      " /sd@d4280000/disk@2" " /sd/sdhci@d4280800/disk" $replaced?  ?exit 
     45      " /sd@d4280000/disk@3" " /sd/sdhci@d4281000/disk" $replaced?  ?exit 
    3146   then 
    3247; 
Note: See TracChangeset for help on using the changeset viewer.