/* SPDX-License-Identifier: GPL-2.0 */
/*
* Derived from IRIX < sys / SN / kldir . h > , revision 1 . 21 .
*
* Copyright ( C ) 1992 - 1997 , 1999 , 2000 Silicon Graphics , Inc .
* Copyright ( C ) 1999 , 2000 by Ralf Baechle
*/
#ifndef _ASM_SN_SN0_KLDIR_H
#define _ASM_SN_SN0_KLDIR_H
/*
* The kldir memory area resides at a fixed place in each node ' s memory and
* provides pointers to most other IP27 memory areas . This allows us to
* resize and / or relocate memory areas at a later time without breaking all
* firmware and kernels that use them . Indices in the array are
* permanently dedicated to areas listed below . Some memory areas ( marked
* below ) reside at a permanently fixed location , but are included in the
* directory for completeness .
*/
/*
* The upper portion of the memory map applies during boot
* only and is overwritten by IRIX / SYMMON .
*
* MEMORY MAP PER NODE
*
* 0 x2000000 ( 32 M ) + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
* | IO6 BUFFERS FOR FLASH ENET IOC3 |
* 0 x1F80000 ( 31 . 5 M ) + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
* | IO6 TEXT / DATA / BSS / stack |
* 0 x1C00000 ( 30 M ) + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
* | IO6 PROM DEBUG TEXT / DATA / BSS / stack |
* 0 x0800000 ( 28 M ) + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
* | IP27 PROM TEXT / DATA / BSS / stack |
* 0 x1B00000 ( 27 M ) + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
* | IP27 CFG |
* 0 x1A00000 ( 26 M ) + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
* | Graphics PROM |
* 0 x1800000 ( 24 M ) + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
* | 3 rd Party PROM drivers |
* 0 x1600000 ( 22 M ) + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
* | |
* | Free |
* | |
* + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
* | UNIX DEBUG Version |
* 0 x190000 ( 2 M - - ) + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
* | SYMMON |
* | ( For UNIX Debug only ) |
* 0 x34000 ( 208 K ) + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
* | SYMMON STACK [ NUM_CPU_PER_NODE ] |
* | ( For UNIX Debug only ) |
* 0 x25000 ( 148 K ) + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
* | KLCONFIG - II ( temp ) |
* | |
* | - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
* | |
* | UNIX NON - DEBUG Version |
* 0 x19000 ( 100 K ) + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
*
*
* The lower portion of the memory map contains information that is
* permanent and is used by the IP27PROM , IO6PROM and IRIX .
*
* 0 x19000 ( 100 K ) + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
* | |
* | PI Error Spools ( 32 K ) |
* | |
* 0 x12000 ( 72 K ) + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
* | Unused |
* 0 x11c00 ( 71 K ) + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
* | CPU 1 NMI Eframe area |
* 0 x11a00 ( 70 . 5 K ) + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
* | CPU 0 NMI Eframe area |
* 0 x11800 ( 70 K ) + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
* | CPU 1 NMI Register save area |
* 0 x11600 ( 69 . 5 K ) + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
* | CPU 0 NMI Register save area |
* 0 x11400 ( 69 K ) + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
* | GDA ( 1 k ) |
* 0 x11000 ( 68 K ) + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
* | Early cache Exception stack |
* | and / or |
* | kernel / io6prom nmi registers |
* 0 x10800 ( 66 k ) + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
* | cache error eframe |
* 0 x10400 ( 65 K ) + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
* | Exception Handlers ( UALIAS copy ) |
* 0 x10000 ( 64 K ) + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
* | |
* | |
* | KLCONFIG - I ( permanent ) ( 48 K ) |
* | |
* | |
* | |
* 0 x4000 ( 16 K ) + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
* | NMI Handler ( Protected Page ) |
* 0 x3000 ( 12 K ) + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
* | ARCS PVECTORS ( master node only ) |
* 0 x2c00 ( 11 K ) + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
* | ARCS TVECTORS ( master node only ) |
* 0 x2800 ( 10 K ) + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
* | LAUNCH [ NUM_CPU ] |
* 0 x2400 ( 9 K ) + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
* | Low memory directory ( KLDIR ) |
* 0 x2000 ( 8 K ) + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
* | ARCS SPB ( 1 K ) |
* 0 x1000 ( 4 K ) + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
* | Early cache Exception stack |
* | and / or |
* | kernel / io6prom nmi registers |
* 0 x800 ( 2 k ) + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
* | cache error eframe |
* 0 x400 ( 1 K ) + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
* | Exception Handlers |
* 0 x0 ( 0 K ) + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
*/
/*
* This is defined here because IP27_SYMMON_STK_SIZE must be at least what
* we define here . Since it ' s set up in the prom . We can ' t redefine it later
* and expect more space to be allocated . The way to find out the true size
* of the symmon stacks is to divide SYMMON_STK_SIZE by SYMMON_STK_STRIDE
* for a particular node .
*/
#define SYMMON_STACK_SIZE 0 x8000
#if defined (PROM)
/*
* These defines are prom version dependent . No code other than the IP27
* prom should attempt to use these values .
*/
#define IP27_LAUNCH_OFFSET 0 x2400
#define IP27_LAUNCH_SIZE 0 x400
#define IP27_LAUNCH_COUNT 2
#define IP27_LAUNCH_STRIDE 0 x200
#define IP27_KLCONFIG_OFFSET 0 x4000
#define IP27_KLCONFIG_SIZE 0 xc000
#define IP27_KLCONFIG_COUNT 1
#define IP27_KLCONFIG_STRIDE 0
#define IP27_NMI_OFFSET 0 x3000
#define IP27_NMI_SIZE 0 x40
#define IP27_NMI_COUNT 2
#define IP27_NMI_STRIDE 0 x40
#define IP27_PI_ERROR_OFFSET 0 x12000
#define IP27_PI_ERROR_SIZE 0 x4000
#define IP27_PI_ERROR_COUNT 1
#define IP27_PI_ERROR_STRIDE 0
#define IP27_SYMMON_STK_OFFSET 0 x25000
#define IP27_SYMMON_STK_SIZE 0 xe000
#define IP27_SYMMON_STK_COUNT 2
/* IP27_SYMMON_STK_STRIDE must be >= SYMMON_STACK_SIZE */
#define IP27_SYMMON_STK_STRIDE 0 x7000
#define IP27_FREEMEM_OFFSET 0 x19000
#define IP27_FREEMEM_SIZE -1
#define IP27_FREEMEM_COUNT 1
#define IP27_FREEMEM_STRIDE 0
#endif /* PROM */
/*
* There will be only one of these in a partition so the IO6 must set it up .
*/
#define IO6_GDA_OFFSET 0 x11000
#define IO6_GDA_SIZE 0 x400
#define IO6_GDA_COUNT 1
#define IO6_GDA_STRIDE 0
/*
* save area of kernel nmi regs in the prom format
*/
#define IP27_NMI_KREGS_OFFSET 0 x11400
#define IP27_NMI_KREGS_CPU_SIZE 0 x200
/*
* save area of kernel nmi regs in eframe format
*/
#define IP27_NMI_EFRAME_OFFSET 0 x11800
#define IP27_NMI_EFRAME_SIZE 0 x200
#endif /* _ASM_SN_SN0_KLDIR_H */
Messung V0.5 in Prozent C=94 H=100 G=96
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet am 2026-10-03)
¤
*© Formatika GbR, Deutschland