16 static char *dig = "0123456789abcdef";
19 for(i = 0; i < 8; i++){
45 puts(va_arg(va, char *));
48 puthex(va_arg(va, u32int));
59 u = va_arg(va, u32int);
62 putdec((uchar)(u >> 16));
64 putdec((uchar)(u >> 8));
79 memset(void *v, char c, int n)
89 memcpy(void *d, void *s, int n)
105 return p[0] << 24 | p[1] << 16 | p[2] << 8 | p[3];
109 u32put(uchar *p, u32int v)
127 if(u32get(&h[0]) != E_MAGIC){
128 print("invalid magic: %x != %x\n", u32get(&h[0]), E_MAGIC);
131 t = u32get(&h[1]) + 0x20;
132 tr = t + 0xfff & ~0xfff;
135 p = (char *) (TZERO + t + n);
136 d = (char *) (TZERO + tr + n);
140 p = (char *) (TZERO + tr + u32get(&h[2]));
141 memset(p, 0, u32get(&h[3]));
142 jump((void *) (u32get(&h[5]) & 0xfffffff));
159 r = (ulong *) 0xf8f00200;
168 r[TIMERCOMPL] = 1000 * n;
171 r[TIMERCTL] = 100 << 8 | 3;
179 r = (ulong *) 0xf8f00200;
180 if((r[TIMERSTAT] & 1) != 0){
199 puts("Booting ...\n");
200 if(mmcboot() > 0 || netboot() > 0)
202 print("hjboot: ending\n");