diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2015-05-13 01:07:35 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2015-05-13 01:07:35 +0200 |
commit | d57f23fb877eecd1f692d73411114110cdd6423b (patch) | |
tree | 591e443cc92b1977ed045c9e5c9469bb9e263548 /sys/src/boot/zynq/main.c | |
parent | bc4f14e015b0081fa9c9e7839f17a378203dc151 (diff) |
boot/zynq: implement sdmmc boot (fat)
Diffstat (limited to 'sys/src/boot/zynq/main.c')
-rw-r--r-- | sys/src/boot/zynq/main.c | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/sys/src/boot/zynq/main.c b/sys/src/boot/zynq/main.c index ffe2daddd..f9c0b04da 100644 --- a/sys/src/boot/zynq/main.c +++ b/sys/src/boot/zynq/main.c @@ -96,6 +96,25 @@ memcpy(void *d, void *s, int n) *cd++ = *cs++; } +u32int +u32get(void *pp) +{ + uchar *p; + + p = pp; + return p[0] << 24 | p[1] << 16 | p[2] << 8 | p[3]; +} + +uchar * +u32put(uchar *p, u32int v) +{ + p[0] = v >> 24; + p[1] = v >> 16; + p[2] = v >> 8; + p[3] = v; + return p + 4; +} + void run(void) { @@ -178,7 +197,7 @@ void main(void) { puts("Booting ...\n"); - if(netboot() > 0) + if(mmcboot() > 0 || netboot() > 0) run(); print("hjboot: ending\n"); } |