Home | History | Annotate | Download | only in Ipf
      1 /*++
      2 
      3 Copyright (c) 2004, Intel Corporation. All rights reserved.<BR>
      4 This program and the accompanying materials
      5 are licensed and made available under the terms and conditions of the BSD License
      6 which accompanies this distribution.  The full text of the license may be found at
      7 http://opensource.org/licenses/bsd-license.php
      8 
      9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     11 
     12 Module Name:
     13 
     14   PalApi.h
     15 
     16 Abstract:
     17 
     18   Main PAL API's defined in PAL specification.
     19 
     20 
     21 Revision History:
     22 
     23 --*/
     24 
     25 #ifndef _PALPROC_H
     26 #define _PALPROC_H
     27 
     28 #include "Tiano.h"
     29 
     30 #define PAL_CACHE_FLUSH       0x0001
     31 #define PAL_CACHE_INFO        0x0002
     32 #define PAL_CACHE_INIT        0x0003
     33 #define PAL_CACHE_SUMMARY     0x0004
     34 #define PAL_MEM_ATTRIB        0x0005
     35 #define PAL_PTCE_INFO         0x0006
     36 #define PAL_VM_INFO           0x0007
     37 #define PAL_VM_SUMMARY        0x0008
     38 #define PAL_BUS_GET_FEATURES  0x0009
     39 #define PAL_BUS_SET_FEATURES  0x000a
     40 #define PAL_DEBUG_INFO        0x000b
     41 #define PAL_FIXED_ADDR        0x000c
     42 #define PAL_FREQ_BASE         0x000d
     43 #define PAL_FREQ_RATIOS       0x000e
     44 #define PAL_PERF_MON_INFO     0x000f
     45 #define PAL_PLATFORM_ADDR     0x0010
     46 #define PAL_PROC_GET_FEATURES 0x0011
     47 #define PAL_PROC_SET_FEATURES 0x0012
     48 #define PAL_RSE_INFO          0x0013
     49 #define PAL_VERSION           0x0014
     50 
     51 #define PAL_MC_CLEAR_LOG      0x0015
     52 #define PAL_MC_DRAIN          0x0016
     53 #define PAL_MC_EXPECTED       0x0017
     54 #define PAL_MC_DYNAMIC_STATE  0x0018
     55 #define PAL_MC_ERROR_INFO     0x0019
     56 #define PAL_MC_RESUME         0x001a
     57 #define PAL_MC_REGISTER_MEM   0x001b
     58 #define PAL_HALT              0x001c
     59 #define PAL_HALT_LIGHT        0x001d
     60 #define PAL_COPY_INFO         0x001e
     61 #define PAL_SHUTDOWN          0x002c
     62 #define PAL_AUTH              0x0209
     63 #define PAL_SINGL_DISPERSAL   0x0226  // dec. 550
     64 #define PAL_HALT_INFO         0x0101
     65 #define PAL_CACHE_LINE_INIT   0x001f
     66 #define PAL_PMI_ENTRYPOINT    0x0020
     67 #define PAL_ENTER_IA_32_ENV   0x0021
     68 #define PAL_VM_PAGE_SIZE      0x0022
     69 #define PAL_MEM_FOR_TEST      0x0025
     70 #define PAL_CACHE_PROT_INFO   0x0026
     71 
     72 #define PAL_COPY_PAL          0x0100
     73 #define PAL_CACHE_READ        0x0103
     74 #define PAL_CACHE_WRITE       0x0104
     75 #define PAL_TEST_PROC         0x0102
     76 
     77 #define PAL_DEBUG_FEATURE     0x0063  // vp1
     78 typedef UINT64  EFI_PAL_STATUS;
     79 
     80 //
     81 //  Return values from PAL
     82 //
     83 typedef struct {
     84   EFI_PAL_STATUS  Status; // register r8
     85   UINT64          r9;
     86   UINT64          r10;
     87   UINT64          r11;
     88 } PAL_RETURN_REGS;
     89 
     90 //
     91 // PAL equates for other parameters.
     92 //
     93 #define PAL_SUCCESS             0x0
     94 #define PAL_CALL_ERROR          0xfffffffffffffffd
     95 #define PAL_CALL_UNIMPLEMENTED  0xffffffffffffffff
     96 #define PAL_CACHE_TYPE_I        0x1
     97 #define PAL_CACHE_TYPE_D        0x2
     98 #define PAL_CACHE_TYPE_I_AND_D  0x3
     99 #define PAL_CACHE_NO_INT        0x0
    100 #define PAL_CACHE_INT           0x2
    101 //
    102 // #define PAL_CACHE_PLAT_ACK                              0x4
    103 //
    104 #define PAL_CACHE_NO_PLAT_ACK               0x0
    105 #define PAL_CACHE_INVALIDATE                0x1
    106 #define PAL_CACHE_NO_INVALIDATE             0x0
    107 #define PAL_CACHE_ALL_LEVELS                - 0x1
    108 
    109 #define PAL_FEATURE_ENABLE                  0x1
    110 #define PAL_ENABLE_BERR_BIT                 63
    111 #define PAL_ENABLE_MCA_BINIT_BIT            61
    112 #define PAL_ENABLE_CMCI_MCA_BIT             60
    113 #define PAL_CACHE_DISABLE_BIT               59
    114 #define PAL_DISABLE_COHERENCY_BIT           58
    115 
    116 #define PAL_DIS_BUS_DATA_ERR_CHECK_BIT      63
    117 #define PAL_DIS_BUS_ADDR_ERR_CHECK_BIT      61
    118 #define PAL_DIS_BUS_INIT_EVENT_SIGNAL_BIT   60
    119 #define PAL_DIS_BUS_REQ_ERR_SIGNAL_BIT      58
    120 #define PAL_DIS_BUS_REQ_INT_ERR_SIGNAL_BIT  57
    121 #define PAL_DIS_BUS_REQ_ERR_CHECK_BIT       56
    122 #define PAL_DIS_BUS_RESP_ERR_CHECK_BIT      55
    123 
    124 #define PAL_COPY_BSP_TOKEN                  0x0
    125 #define PAL_COPY_AP_TOKEN                   0x1
    126 
    127 #define PAL_CODE_TOKEN                      0x0
    128 #define PAL_IA32EMU_CODE_TOKEN              0x1
    129 
    130 #define PAL_INTERRUPT_BLOCK_TOKEN           0x0
    131 #define PAL_IO_BLOCK_TOKEN                  0x1
    132 
    133 #endif
    134