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

📄 arch.c

📁 Linux内核源代码 为压缩文件 是<<Linux内核>>一书中的源代码
💻 C
字号:
/* *  linux/arch/arm/kernel/arch.c * *  Architecture specific fixups.  This is where any *  parameters in the params struct are fixed up, or *  any additional architecture specific information *  is pulled from the params struct. */#include <linux/config.h>#include <linux/tty.h>#include <linux/delay.h>#include <linux/pm.h>#include <linux/init.h>#include <asm/elf.h>#include <asm/setup.h>#include <asm/mach-types.h>#include <asm/mach/arch.h>#include <asm/hardware/dec21285.h>unsigned int vram_size;extern void setup_initrd(unsigned int start, unsigned int size);extern void setup_ramdisk(int doload, int prompt, int start, unsigned int rd_sz);#ifdef CONFIG_ARCH_ACORNunsigned int memc_ctrl_reg;unsigned int number_mfm_drives;static void __initfixup_acorn(struct machine_desc *desc, struct param_struct *params,	    char **cmdline, struct meminfo *mi){	if (machine_is_riscpc()) {		int i;		/*		 * RiscPC can't handle half-word loads and stores		 */		elf_hwcap &= ~HWCAP_HALF;		switch (params->u1.s.pages_in_vram) {		case 512:			vram_size += PAGE_SIZE * 256;		case 256:			vram_size += PAGE_SIZE * 256;		default:			break;		}		if (vram_size) {			desc->video_start = 0x02000000;			desc->video_end   = 0x02000000 + vram_size;		}		for (i = 0; i < 4; i++) {			mi->bank[i].start = PHYS_OFFSET + (i << 26);			mi->bank[i].node  = 0;			mi->bank[i].size  =				params->u1.s.pages_in_bank[i] *				params->u1.s.page_size;		}		mi->nr_banks = 4;	}	memc_ctrl_reg	  = params->u1.s.memc_control_reg;	number_mfm_drives = (params->u1.s.adfsdrives >> 3) & 3;}#ifdef CONFIG_ARCH_RPCextern void __init rpc_map_io(void);MACHINE_START(RISCPC, "Acorn-RiscPC")	MAINTAINER("Russell King")	BOOT_MEM(0x10000000, 0x03000000, 0xe0000000)	BOOT_PARAMS(0x10000100)	DISABLE_PARPORT(0)	DISABLE_PARPORT(1)	FIXUP(fixup_acorn)	MAPIO(rpc_map_io)MACHINE_END#endif#ifdef CONFIG_ARCH_ARCMACHINE_START(ARCHIMEDES, "Acorn-Archimedes")	MAINTAINER("Dave Gilbert")	BOOT_PARAMS(0x0207c000)	FIXUP(fixup_acorn)MACHINE_END#endif#ifdef CONFIG_ARCH_A5KMACHINE_START(A5K, "Acorn-A5000")	MAINTAINER("Russell King")	BOOT_PARAMS(0x0207c000)	FIXUP(fixup_acorn)MACHINE_END#endif#endif#ifdef CONFIG_ARCH_L7200static void __initfixup_l7200(struct machine_desc *desc, struct param_struct *params,             char **cmdline, struct meminfo *mi){        mi->nr_banks      = 1;        mi->bank[0].start = PHYS_OFFSET;        mi->bank[0].size  = (32*1024*1024);        mi->bank[0].node  = 0;        ROOT_DEV = MKDEV(RAMDISK_MAJOR,0);        setup_ramdisk( 1, 0, 0, 8192 );        setup_initrd( __phys_to_virt(0xf1000000), 0x00162b0d);}extern void __init l7200_map_io(void);MACHINE_START(L7200, "LinkUp Systems L7200SDB")	MAINTAINER("Steve Hill")	BOOT_MEM(0xf0000000, 0x80040000, 0xd0000000)	FIXUP(fixup_l7200)	MAPIO(l7200_map_io)MACHINE_END#endif#ifdef CONFIG_ARCH_EBSA110extern void __init ebsa110_map_io(void);MACHINE_START(EBSA110, "EBSA110")	MAINTAINER("Russell King")	BOOT_MEM(0x00000000, 0xe0000000, 0xe0000000)	BOOT_PARAMS(0x00000400)	DISABLE_PARPORT(0)	DISABLE_PARPORT(2)	SOFT_REBOOT	MAPIO(ebsa110_map_io)MACHINE_END#endif#ifdef CONFIG_ARCH_NEXUSPCIextern void __init nexuspci_map_io(void);MACHINE_START(NEXUSPCI, "FTV/PCI")	MAINTAINER("Philip Blundell")	BOOT_MEM(0x40000000, 0x10000000, 0xe0000000)	MAPIO(nexuspci_map_io)MACHINE_END#endif#ifdef CONFIG_ARCH_TBOXextern void __init tbox_map_io(void);MACHINE_START(TBOX, "unknown-TBOX")	MAINTAINER("Philip Blundell")	BOOT_MEM(0x80000000, 0x00400000, 0xe0000000)	MAPIO(tbox_map_io)MACHINE_END#endif#ifdef CONFIG_ARCH_CLPS7110MACHINE_START(CLPS7110, "CL-PS7110")	MAINTAINER("Werner Almesberger")MACHINE_END#endif#ifdef CONFIG_ARCH_ETOILEMACHINE_START(ETOILE, "Etoile")	MAINTAINER("Alex de Vries")MACHINE_END#endif#ifdef CONFIG_ARCH_LACIE_NASMACHINE_START(LACIE_NAS, "LaCie_NAS")	MAINTAINER("Benjamin Herrenschmidt")MACHINE_END#endif#ifdef CONFIG_ARCH_CLPS7500extern void __init clps7500_map_io(void);MACHINE_START(CLPS7500, "CL-PS7500")	MAINTAINER("Philip Blundell")	BOOT_MEM(0x10000000, 0x03000000, 0xe0000000)	MAPIO(clps7500_map_io)MACHINE_END#endif

⌨️ 快捷键说明

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