Changeset 3656


Ignore:
Timestamp:
May 7, 2013, 5:06:33 AM (2 years 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.