?? sysinit.c
字號(hào):
#include "board.h"#include "utils.h"#include "bios.h"/* * Caculate system registers */int sys_init(struct system_table_struct *system_table, unsigned long rom_base, unsigned dram_base){ struct sys_regs_struct sys_regs; unsigned long base; unsigned long r; int i; sys_regs.extdbwth = 0; for (i = 0; i < 6; i++) sys_regs.extdbwth |= (system_table->rom_table[i].width) << (i * 2); for (i = 0; i < 4; i++) sys_regs.extdbwth |= (system_table->dram_table[i].width) << (i * 2 + 12); for (i = 0; i < 4; i++) sys_regs.extdbwth |= (system_table->ext_table[i].width) << (i * 2 + 20); base = rom_base; for (i = 0; i < 6; i++) { sys_regs.romcon[i] = (system_table->rom_table[i].flag & ~0x3ffffc00) | (((base + system_table->rom_table[i].size) & 0x03ff0000) << 4) | ((base & 0x03ff0000) >> 6); base += system_table->rom_table[i].size; } base = dram_base; for (i = 0; i < 4; i++) { sys_regs.dramcon[i] = (system_table->dram_table[i].flag & ~0x3ffffc00) | (((base + system_table->dram_table[i].size) & 0x03ff0000) << 4) | ((base & 0x03ff0000) >> 6); base += system_table->dram_table[i].size; } sys_regs.refextcon = system_table->dram_table[0].refresh; outl(sys_regs.extdbwth, EXTDBWTH); outl(sys_regs.romcon[0], ROMCON0); outl(sys_regs.romcon[1], ROMCON1); outl(sys_regs.romcon[2], ROMCON2); outl(sys_regs.romcon[3], ROMCON3); outl(sys_regs.romcon[4], ROMCON4); outl(sys_regs.romcon[5], ROMCON5); outl(sys_regs.dramcon[0], DRAMCON0); outl(sys_regs.dramcon[1], DRAMCON1); outl(sys_regs.dramcon[2], DRAMCON2); outl(sys_regs.dramcon[3], DRAMCON3); outl(sys_regs.refextcon, REFEXTCON); r = (system_table->ext_table[0].flag & 0xffff) | ((system_table->ext_table[1].flag & 0xffff) << 16); outl(r, EXTACON0); r = (system_table->ext_table[2].flag & 0xffff) | ((system_table->ext_table[3].flag & 0xffff) << 16); outl(r, EXTACON1); outl(system_table->iop.iopmod, IOPMOD); outl(system_table->iop.iopcon, IOPCON); outl(system_table->iop.iopdata, IOPDATA); return 0;}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -