⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 e132_xs.c

📁 linux下从网卡远程启动
💻 C
字号:
/* * Copyright 2003 Yannis Mitsos and George Thanos  * {gmitsos@gthanos}@telecom.ntua.gr * Released under GPL2, see the file COPYING in the top directory * */#include "hooks.h"#include "io.h"#include "etherboot.h"#include "e132_xs_board.h"unsigned int io_periph[NR_CS] = {[0 ... NR_CS-1] = 0 };/*void arch_main(struct Elf_Bhdr *ptr __unused){}*/void init_peripherals(void){	int i;	for(i=0; i< NR_CS; i++){		io_periph[i]= (SLOW_IO_ACCESS | i << 22);	}	io_periph[ETHERNET_CS] = (io_periph[ETHERNET_CS] | 1 << IOWait);	asm volatile("			ori SR, 0x20			movi FCR, 0x66ffFFFF"			:			:);}struct meminfo meminfo;void get_memsizes(void){/* We initialize the meminfo structure  * according to our development board's specs * We do not have a way to automatically probe the  * memspace instead we initialize it manually */	meminfo.basememsize = BASEMEM;	meminfo.memsize = 	SDRAM_SIZE;	meminfo.map_count = NR_MEMORY_REGNS;	meminfo.map[0].addr = SDRAM_BASEMEM;	meminfo.map[0].size = SDRAM_SIZE;	meminfo.map[0].type = E820_RAM;	meminfo.map[1].addr = SRAM_BASEMEM;	meminfo.map[1].size = SRAM_SIZE;	meminfo.map[1].type = E820_RAM;	meminfo.map[2].addr = IRAM_BASEMEM;	meminfo.map[2].size = IRAM_SIZE;	meminfo.map[2].type = E820_RAM;}int mach_boot(register unsigned long entry_point){		asm volatile(					 "mov PC, %0"					: /* no outputs */					: "l" (entry_point) );		return 0; /* We should never reach this point ! */}

⌨️ 快捷键说明

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