60 lines
1.9 KiB
C
60 lines
1.9 KiB
C
|
/*
|
||
|
* Copyright (c) 2017 Intel Corporation
|
||
|
* SPDX-License-Identifier: Apache-2.0
|
||
|
*/
|
||
|
|
||
|
#ifndef __INC_MEMORY_H
|
||
|
#define __INC_MEMORY_H
|
||
|
|
||
|
/* L2 HP SRAM */
|
||
|
#define L2_VECTOR_SIZE 0x1000
|
||
|
|
||
|
/* The reset vector address in SRAM and its size */
|
||
|
#define XCHAL_RESET_VECTOR0_PADDR_SRAM L2_SRAM_BASE
|
||
|
#define MEM_RESET_TEXT_SIZE 0x268
|
||
|
#define MEM_RESET_LIT_SIZE 0x8
|
||
|
|
||
|
/* This is the base address of all the vectors defined in SRAM */
|
||
|
#define XCHAL_VECBASE_RESET_PADDR_SRAM (L2_SRAM_BASE + 0x400)
|
||
|
#define MEM_VECBASE_LIT_SIZE 0x178
|
||
|
|
||
|
/* The addresses of the vectors in SRAM.
|
||
|
* Only the memerror vector continues to point to its ROM address.
|
||
|
*/
|
||
|
#define XCHAL_INTLEVEL2_VECTOR_PADDR_SRAM (L2_SRAM_BASE + 0x580)
|
||
|
#define XCHAL_INTLEVEL3_VECTOR_PADDR_SRAM (L2_SRAM_BASE + 0x5C0)
|
||
|
#define XCHAL_INTLEVEL4_VECTOR_PADDR_SRAM (L2_SRAM_BASE + 0x600)
|
||
|
#define XCHAL_INTLEVEL5_VECTOR_PADDR_SRAM (L2_SRAM_BASE + 0x640)
|
||
|
#define XCHAL_INTLEVEL6_VECTOR_PADDR_SRAM (L2_SRAM_BASE + 0x680)
|
||
|
#define XCHAL_INTLEVEL7_VECTOR_PADDR_SRAM (L2_SRAM_BASE + 0x6C0)
|
||
|
#define XCHAL_KERNEL_VECTOR_PADDR_SRAM (L2_SRAM_BASE + 0x700)
|
||
|
#define XCHAL_USER_VECTOR_PADDR_SRAM (L2_SRAM_BASE + 0x740)
|
||
|
#define XCHAL_DOUBLEEXC_VECTOR_PADDR_SRAM (L2_SRAM_BASE + 0x7C0)
|
||
|
|
||
|
/* Vector and literal sizes */
|
||
|
#define MEM_VECT_LIT_SIZE 0x8
|
||
|
#define MEM_VECT_TEXT_SIZE 0x38
|
||
|
#define MEM_VECT_SIZE (MEM_VECT_TEXT_SIZE +\
|
||
|
MEM_VECT_LIT_SIZE)
|
||
|
|
||
|
/* The memerror vector address is copied as is from core-isa.h */
|
||
|
#define XCHAL_MEMERROR_VECTOR_PADDR 0xBEFE0400
|
||
|
|
||
|
#define MEM_ERROR_TEXT_SIZE 0x180
|
||
|
#define MEM_ERROR_LIT_SIZE 0x8
|
||
|
|
||
|
/* text and data share the same L2 HP SRAM on Intel S1000 */
|
||
|
#define TEXT_BASE (L2_SRAM_BASE + L2_VECTOR_SIZE)
|
||
|
#define TEXT_SIZE 0x16000
|
||
|
|
||
|
/* size of the Interrupt Descriptor Table (IDT) */
|
||
|
#define IDT_SIZE 0x2000
|
||
|
|
||
|
/* initialized data */
|
||
|
#define DATA_SIZE 0x10000
|
||
|
|
||
|
/* bss data */
|
||
|
#define BSS_DATA_SIZE 0x8000
|
||
|
|
||
|
#endif /* __INC_MEMORY_H */
|