OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [include/] [asm-ppc64/] [iSeries/] [ItLpNaca.h] - Blame information for rev 1774

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
/*
2
 * ItLpNaca.h
3
 * Copyright (C) 2001  Mike Corrigan IBM Corporation
4
 *
5
 * This program is free software; you can redistribute it and/or modify
6
 * it under the terms of the GNU General Public License as published by
7
 * the Free Software Foundation; either version 2 of the License, or
8
 * (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
18
 */
19
 
20
//=============================================================================
21
//
22
//      This control block contains the data that is shared between the
23
//      hypervisor (PLIC) and the OS.
24
//
25
//=============================================================================
26
 
27
 
28
#ifndef _ITLPNACA_H
29
#define _ITLPNACA_H
30
 
31
struct ItLpNaca
32
{
33
//=============================================================================
34
// CACHE_LINE_1 0x0000 - 0x007F Contains read-only data
35
//=============================================================================
36
        u32     xDesc;                  // Eye catcher                  x00-x03
37
        u16     xSize;                  // Size of this class           x04-x05
38
        u16     xIntHdlrOffset;         // Offset to IntHdlr array      x06-x07
39
        u8      xMaxIntHdlrEntries;     // Number of entries in array   x08-x08
40
        u8      xPrimaryLpIndex;        // LP Index of Primary          x09-x09
41
        u8      xServiceLpIndex;        // LP Ind of Service Focal Pointx0A-x0A
42
        u8      xLpIndex;               // LP Index                     x0B-x0B
43
        u16     xMaxLpQueues;           // Number of allocated queues   x0C-x0D
44
        u16     xLpQueueOffset;         // Offset to start of LP queues x0E-x0F
45
        u8      xPirEnvironMode:8;      // Piranha or hardware          x10-x10
46
        u8      xPirConsoleMode:8;      // Piranha console indicator    x11-x11
47
        u8      xPirDasdMode:8;         // Piranha dasd indicator       x12-x12
48
        u8      xRsvd1_0[5];            // Reserved for Piranha related x13-x17
49
        u8      xLparInstalled:1;       // Is LPAR installed on system  x18-x1F
50
        u8      xSysPartitioned:1;      // Is the system partitioned    ...
51
        u8      xHwSyncedTBs:1;         // Hardware synced TBs          ...
52
        u8      xIntProcUtilHmt:1;      // Utilize HMT for interrupts   ...
53
        u8      xRsvd1_1:4;             // Reserved                     ...
54
        u8      xSpVpdFormat:8;         // VPD areas are in CSP format  ...
55
        u8      xIntProcRatio:8;        // Ratio of int procs to procs  ...
56
        u8      xRsvd1_2[5];            // Reserved                     ...
57
        u16     xRsvd1_3;               // Reserved                     x20-x21
58
        u16     xPlicVrmIndex;          // VRM index of PLIC            x22-x23
59
        u16     xMinSupportedSlicVrmInd;// Min supported OS VRM index   x24-x25
60
        u16     xMinCompatableSlicVrmInd;// Min compatable OS VRM index x26-x27
61
        u64     xLoadAreaAddr;          // ER address of load area      x28-x2F
62
        u32     xLoadAreaChunks;        // Chunks for the load area     x30-x33
63
        u32     xPaseSysCallCRMask;     // Mask used to test CR before  x34-x37
64
        // doing an ASR switch on PASE
65
        // system call.
66
        u64     xSlicSegmentTablePtr;   // Pointer to Slic seg table.   x38-x3f
67
        u8      xRsvd1_4[64];           //                              x40-x7F 
68
 
69
//=============================================================================
70
// CACHE_LINE_2 0x0080 - 0x00FF Contains local read-write data
71
//=============================================================================
72
        u8      xRsvd2_0[128];          // Reserved                     x00-x7F
73
 
74
//=============================================================================
75
// CACHE_LINE_3-6 0x0100 - 0x02FF Contains LP Queue indicators
76
// NB: Padding required to keep xInterrruptHdlr at x300 which is required 
77
// for v4r4 PLIC.
78
//=============================================================================
79
        u8      xOldLpQueue[128];       // LP Queue needed for v4r4     100-17F
80
        u8      xRsvd3_0[384];          // Reserved                     180-2FF
81
//=============================================================================
82
// CACHE_LINE_7-8 0x0300 - 0x03FF Contains the address of the OS interrupt
83
//  handlers
84
//=============================================================================
85
        u64     xInterruptHdlr[32];     // Interrupt handlers           300-x3FF
86
};
87
 
88
//=============================================================================
89
 
90
#endif // _ITLPNACA_H

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.