static void setup_tags(uint32_t *parameters) { setup_core_tag(parameters, 4096); /* standard core tag 4k pagesize */ setup_mem_tag(DRAM_BASE, 0x1FFFFFFF); /* 512MB at 0x20000000, only DMC0 is connected in Tiny210 board */ setup_ramdisk_tag(8192); /* create 8Mb ramdisk */ setup_initrd2_tag(INITRD_LOAD_ADDRESS, 0x100000); /* 1Mb of compressed data placed 8Mb into memory */ setup_cmdline_tag("root=/dev/ram0"); /* commandline setting root device */ setup_end_tag(); /* end of tags */ }
static int bt_atag_initrd2(BT_HANDLE hShell, int argc, char **argv) { BT_HANDLE hStdout = BT_ShellGetStdout(hShell); if(argc != 3) { bt_fprintf(hStdout, "Usage: %s [0x{start_address}] [0x{size(bytes)}]\n", argv[0]); return -1; } BT_u32 addr, size; addr = strtoul(argv[1], NULL, 16); size = strtoul(argv[1], NULL, 16); setup_initrd2_tag(addr, size); return 0; }