summaryrefslogtreecommitdiff
path: root/sys/src/boot/zynq/main.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2015-05-13 01:07:35 +0200
committercinap_lenrek <cinap_lenrek@felloff.net>2015-05-13 01:07:35 +0200
commitd57f23fb877eecd1f692d73411114110cdd6423b (patch)
tree591e443cc92b1977ed045c9e5c9469bb9e263548 /sys/src/boot/zynq/main.c
parentbc4f14e015b0081fa9c9e7839f17a378203dc151 (diff)
boot/zynq: implement sdmmc boot (fat)
Diffstat (limited to 'sys/src/boot/zynq/main.c')
-rw-r--r--sys/src/boot/zynq/main.c21
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");
}