2410loader.h

来自「2410 boot loader,usb ftp」· C头文件 代码 · 共 127 行

H
127
字号
/* * Usage: *  - do not go blindly adding fields, add them at the end *  - when adding fields, don't rely on the address until *    a patch from me has been released *  - unused fields should be zero (for future expansion) *  - this structure is relatively short-lived - only *    guaranteed to contain useful data in setup_arch() */#define COMMAND_LINE_SIZE 1024#define BLOCK_SIZE		  (512*32)#define PAGE_SIZE		  (512)#define FILE_SIZE		  (128)#define SIZE_1K			  (1024)#define SIZE_1M			  (1024*1024)/* This is the old deprecated way to pass parameters to the kernel */struct param_struct {    union {	struct {	    unsigned long page_size;		/*  0 */	    unsigned long nr_pages;		/*  4 */	    unsigned long ramdisk_size;		/*  8 */	    unsigned long flags;		/* 12 */#define FLAG_READONLY	1#define FLAG_RDLOAD	4#define FLAG_RDPROMPT	8	    unsigned long rootdev;		/* 16 */	    unsigned long video_num_cols;	/* 20 */	    unsigned long video_num_rows;	/* 24 */	    unsigned long video_x;		/* 28 */	    unsigned long video_y;		/* 32 */	    unsigned long memc_control_reg;	/* 36 */	    unsigned char sounddefault;		/* 40 */	    unsigned char adfsdrives;		/* 41 */	    unsigned char bytes_per_char_h;	/* 42 */	    unsigned char bytes_per_char_v;	/* 43 */	    unsigned long pages_in_bank[4];	/* 44 */	    unsigned long pages_in_vram;	/* 60 */	    unsigned long initrd_start;		/* 64 */	    unsigned long initrd_size;		/* 68 */	    unsigned long rd_start;		/* 72 */	    unsigned long system_rev;		/* 76 */	    unsigned long system_serial_low;	/* 80 */	    unsigned long system_serial_high;	/* 84 */	    unsigned long mem_fclk_21285;       /* 88 */	} s;	char unused[256];    } u1;    union {	char paths[8][128];	struct {	    unsigned long magic;	    char n[1024 - sizeof(unsigned long)];	} s;    } u2;    char commandline[COMMAND_LINE_SIZE];};#define PARTITION_OFFSET	0#define PARTITION_TOTAL		5#define PARTITION_NAMESIZE	50#define PARTITION_FIXED		(0x01)#define PARTITION_RO		(0x02)#define PARTITION_RW		(0x04)#define PARTITION_VALID		(PARTITION_FIXED|PARTITION_RO|PARTITION_RW)#define PARTITION_RESTSIZE	(0xFFFFFFFF)typedef struct {	U8  name[PARTITION_NAMESIZE];	U8  mask;	U32 offset;	U32 size;}PARTITION;typedef struct {	U8 systype;	U32 ramaddr;	U32 cfgaddr;	U32 imgblk;	U8  bootdown;	U8  mac[6];	U32 loip;	U32 rmip;	char file[FILE_SIZE+1];		char cmd[COMMAND_LINE_SIZE+1];	char mtdname[PARTITION_NAMESIZE];	PARTITION part[PARTITION_TOTAL];	U32 magic;}LOADER_CONFIG;#define CFG_READ(addr)	{U32 idx=0; U8 *ptr=(U8 *)addr; while(idx<32) { NF_ReadPage(DOWN_KERNEL_START_BLOCK-1, idx, (U8 *)ptr); ptr+=PAGE_SIZE; idx++; }; }#define CFG_WRITE(addr)	 NF_Program((U8 *)addr, DOWN_KERNEL_START_BLOCK-1, BLOCK_SIZE)/* Default parameters */#define SYS_LINUX		(193)#define SYS_WINCE		(194)#define SYS_MAGIC		(0x20051120)#define SYS_DFT_LOIP	(0xc0a80002) // 192.168.0.2#define SYS_DFT_RMIP	(0xc0a80001) // 192.168.0.1#define SYS_MAC_ADDR	"\x00\x01\x02\x03\x04\x05"#define SYS_BOOT_FILE	"boot.bin"#define SYS_BOOT_FLASH		(0x01)#define SYS_BOOT_DOWNLOAD	(0x02)#define SYS_BOOT_MENU		(0x04)#define SYS_DOWNLOAD_USB	(0x10)#define SYS_DOWNLOAD_ETH	(0x20)#define SYS_DOWNLOAD_ETH_BOOTP	(0x40)#define SYS_DOWNLOAD_ETH_TFTP	(0x80)#define RAM_LINUX		(0x30008000)#define RAM_WINCE		(0x30200000)#define CFG_LINUX		(0x30000100)#define CFG_WINCE		(0)#define CMD_LINUX		"console=tty1 console=ttyS0 console=ttySAC0 root=/dev/nfs nfsroot=192.168.1.180:/friendly-arm/root ip=192.168.1.190:192.168.1.180:192.168.1.254:255.255.255.0:matrix4.arm9.net:eth0:off"#define CMD_WINCE		""

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?