📄 platform.h
字号:
/* openbios/arch/vesta/olivia/platform.h, stb-bios *//*-----------------------------------------------------------------------------+|| This source code has been made available to you by IBM on an AS-IS| basis. Anyone receiving this source is licensed under IBM| copyrights to use it in any way he or she deems fit, including| copying it, modifying it, compiling it, and redistributing it either| with or without modifications. No license under IBM patents or| patent applications is to be implied by the copyright license.|| Any user of this software should understand that IBM cannot provide| technical support for this software and will not be responsible for| any consequences resulting from the use of this software.|| Any person who transfers this source code or any derivative work| must include the IBM copyright notice, this paragraph, and the| preceding two paragraphs in the transferred software.|| COPYRIGHT I B M CORPORATION 1995| LICENSED MATERIAL - PROGRAM PROPERTY OF I B M+-----------------------------------------------------------------------------*//*-----------------------------------------------------------------------------+|| File Name: platform.h|| Function: STB BIOS architecture depdendent settings for Olivia / Vesta.|| Author: Yudong Yang|| Change Activity-|| Date Description of Change BY| --------- --------------------- ---| 30-Jan-02 Created YYD| 21-Jun-02 Increased stack size and enabled dynamic .bss+.data size YYD|+-----------------------------------------------------------------------------*//*-----------------------------------------------------------------------------+| Defines for common addresses for RAM+-----------------------------------------------------------------------------*/// please note that initbrd.s may need to be changed too#define RAM_BANK_0 0x00000000#define RAM_BANK_1 0xA0000000#define RAM_BANK_0_SIZE 0x02000000#define RAM_BANK_1_SIZE 0x01000000/*-----------------------------------------------------------------------------+| Defines for common addresses for FLASH +-----------------------------------------------------------------------------*/// The size of flash memory#define FLASH_START 0x7FC00000 // start address of flash memory#define FLASH_DEV_SIZE 0x00200000 // size of each flash device#define FLASH_TOTAL_SIZE 0x00400000 // total size of flash memory#define FLASH_ADDR_MASK 0x7fffffff // flash device address mask/*-----------------------------------------------------------------------------+| Defines for common addresses for BIOS +-----------------------------------------------------------------------------*/// STB-BIOS Memory Map:// RAM_BANK_1// .data // the address is also specified in root/mapfile2 and root/mapfile.gnu// .sdata// .bss// .sbss// C Runtime Stack// Interrupt Service Stack// Flash Update Code in RAM// Flash Update Buffer// Available RAM// VIDEO_RAM_ADDRESS if BOOTLOGO is enabled// In Flash ROM// BIOS_START// .text // the address is also specified in root/mapfile2 and root/mapfile.gnu// .rodata#define BIOS_START 0xfffe0000 // the start address of BIOS .text segment // should be exactly the same as specified in mapfile2 / mapfile.gnu. (STB-BIOS root dir)#define BIOS_SIZE 0x00020000 // 128K BIOS AREA Please make sure this is the correct one#define BIOS_DATA_ADDR RAM_BANK_1 // BIOS_DATA now start at this point#define BIOS_STACK_SIZE 0x10000 // C runtime Stack size#define BIOS_INT_STACK_SIZE 0x2000 // interrupt handler Stack size#ifndef __ASSEMBLER__ // defined for assembler preprocessorextern unsigned int BIOS_DATA_SIZE; // data + bss segment size, rounded to 4K boundary#define BIOS_FLASH_CODE_SIZE 0x1000 // size of flash code which is needed to be placed in memory#define BIOS_FLASH_CODE_ADDR (RAM_BANK_1 + BIOS_STACK_SIZE + BIOS_INT_STACK_SIZE + BIOS_DATA_SIZE)#define BIOS_FLASH_BUFFER_SIZE 0x10000 // 64kB buffer for writing flash#define BIOS_FLASH_BUFFER_ADDR (BIOS_FLASH_CODE_ADDR + BIOS_FLASH_CODE_SIZE)#define RAM_ADDRESS (BIOS_FLASH_BUFFER_ADDR + BIOS_FLASH_BUFFER_SIZE) // free unused memory address#endif // __ASSEMBLER__/*-----------------------------------------------------------------------------+| Flash address of the BIOS config data area (resides in FLASH ROM).+-----------------------------------------------------------------------------*/#define BIOS_CONFIG_START FLASH_START#define BIOS_CONFIG_SIZE (0x00010000) // 64K config data#define BIOS_MANAGED_FLASH_SIZE (0x400000) // 4M Bytes /*-----------------------------------------------------------------------------+| Flash address of the BIOS VPD config data area (resides in FLASH ROM).+-----------------------------------------------------------------------------*/#define VPD_ADDR BIOS_CONFIG_START // VPD data area#define VPD_SIZE (0x1000) // VPD data area size/*-----------------------------------------------------------------------------+| Flash address of the "NVRAM" data area (resides in FLASH ROM).+-----------------------------------------------------------------------------*/#define NVRAM_START (VPD_ADDR + VPD_SIZE)#define NVRAM_SIZE (0x1000)/*-----------------------------------------------------------------------------+| Flash address of the BOOTLOGO data area (resides in FLASH ROM).+-----------------------------------------------------------------------------*/#define BOOTLOGO_FLASH_START (NVRAM_START + NVRAM_SIZE) #define BOOTLOGO_FLASH_SIZE (BIOS_CONFIG_SIZE - NVRAM_SIZE - VPD_SIZE)// The flash memory region can be used by boot image#define IMAGE_FLASH_OFFSET BIOS_CONFIG_SIZE // leave starting 64k for misc use#define IMAGE_FLASH_MAX (BIOS_MANAGED_FLASH_SIZE - (BIOS_SIZE + IMAGE_FLASH_OFFSET)) // 0x003d0000#define IMAGE_FLASH_START (BIOS_CONFIG_START + IMAGE_FLASH_OFFSET | 0x80000000)/*-----------------------------------------------------------------------------+| Defines for common addresses for BOOT Image +-----------------------------------------------------------------------------*/#define ENTRY_PT_MIN 0x0000A000 // the minimal entry point location of boot image/*-----------------------------------------------------------------------------+| Defines for addresses of BOOTLOGO video buffer+-----------------------------------------------------------------------------*/// we need 1MB alignment as required by Vesta chip's segmented memory management of OSD#define VIDEO_RAM_ADDRESS (RAM_BANK_1 + 8*1024*1024) // RAM_BANK1 + 4 MByte// Ethernet interrupt#define ENET_INT EXI_I0 // olivia use ext int 0#define PLATFORM_SUPPORT_VERSION "1.01 (Jun/24/2002)"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -