linux/arch/s390/include/asm/sclp.h
<<
>>
Prefs
   1/*
   2 *    Copyright IBM Corp. 2007
   3 *    Author(s): Heiko Carstens <heiko.carstens@de.ibm.com>
   4 */
   5
   6#ifndef _ASM_S390_SCLP_H
   7#define _ASM_S390_SCLP_H
   8
   9#include <linux/types.h>
  10#include <asm/chpid.h>
  11#include <asm/cpu.h>
  12
  13#define SCLP_CHP_INFO_MASK_SIZE         32
  14
  15struct sclp_chp_info {
  16        u8 recognized[SCLP_CHP_INFO_MASK_SIZE];
  17        u8 standby[SCLP_CHP_INFO_MASK_SIZE];
  18        u8 configured[SCLP_CHP_INFO_MASK_SIZE];
  19};
  20
  21#define LOADPARM_LEN 8
  22
  23struct sclp_ipl_info {
  24        int is_valid;
  25        int has_dump;
  26        char loadparm[LOADPARM_LEN];
  27};
  28
  29struct sclp_cpu_entry {
  30        u8 core_id;
  31        u8 reserved0[2];
  32        u8 : 3;
  33        u8 siif : 1;
  34        u8 sigpif : 1;
  35        u8 : 3;
  36        u8 reserved2[10];
  37        u8 type;
  38        u8 reserved1;
  39} __attribute__((packed));
  40
  41struct sclp_cpu_info {
  42        unsigned int configured;
  43        unsigned int standby;
  44        unsigned int combined;
  45        int has_cpu_type;
  46        struct sclp_cpu_entry cpu[MAX_CPU_ADDRESS + 1];
  47};
  48
  49int sclp_get_cpu_info(struct sclp_cpu_info *info);
  50int sclp_cpu_configure(u8 cpu);
  51int sclp_cpu_deconfigure(u8 cpu);
  52unsigned long long sclp_get_rnmax(void);
  53unsigned long long sclp_get_rzm(void);
  54unsigned int sclp_get_max_cpu(void);
  55unsigned int sclp_get_mtid(u8 cpu_type);
  56unsigned int sclp_get_mtid_max(void);
  57unsigned int sclp_get_mtid_prev(void);
  58int sclp_sdias_blk_count(void);
  59int sclp_sdias_copy(void *dest, int blk_num, int nr_blks);
  60int sclp_chp_configure(struct chp_id chpid);
  61int sclp_chp_deconfigure(struct chp_id chpid);
  62int sclp_chp_read_info(struct sclp_chp_info *info);
  63void sclp_get_ipl_info(struct sclp_ipl_info *info);
  64bool __init sclp_has_linemode(void);
  65bool __init sclp_has_vt220(void);
  66bool sclp_has_sprp(void);
  67int sclp_pci_configure(u32 fid);
  68int sclp_pci_deconfigure(u32 fid);
  69int memcpy_hsa(void *dest, unsigned long src, size_t count, int mode);
  70unsigned long sclp_get_hsa_size(void);
  71void sclp_early_detect(void);
  72int sclp_has_siif(void);
  73int sclp_has_sigpif(void);
  74unsigned int sclp_get_ibc(void);
  75
  76long _sclp_print_early(const char *);
  77
  78#endif /* _ASM_S390_SCLP_H */
  79