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;
  32        u8 : 4;
  33        u8 sief2 : 1;
  34        u8 : 3;
  35        u8 : 3;
  36        u8 siif : 1;
  37        u8 : 4;
  38        u8 reserved2[10];
  39        u8 type;
  40        u8 reserved1;
  41} __attribute__((packed));
  42
  43struct sclp_cpu_info {
  44        unsigned int configured;
  45        unsigned int standby;
  46        unsigned int combined;
  47        int has_cpu_type;
  48        struct sclp_cpu_entry cpu[MAX_CPU_ADDRESS + 1];
  49};
  50
  51int sclp_get_cpu_info(struct sclp_cpu_info *info);
  52int sclp_cpu_configure(u8 cpu);
  53int sclp_cpu_deconfigure(u8 cpu);
  54unsigned long long sclp_get_rnmax(void);
  55unsigned long long sclp_get_rzm(void);
  56unsigned int sclp_get_max_cpu(void);
  57unsigned int sclp_get_mtid(u8 cpu_type);
  58unsigned int sclp_get_mtid_max(void);
  59unsigned int sclp_get_mtid_prev(void);
  60int sclp_sdias_blk_count(void);
  61int sclp_sdias_copy(void *dest, int blk_num, int nr_blks);
  62int sclp_chp_configure(struct chp_id chpid);
  63int sclp_chp_deconfigure(struct chp_id chpid);
  64int sclp_chp_read_info(struct sclp_chp_info *info);
  65void sclp_get_ipl_info(struct sclp_ipl_info *info);
  66bool __init sclp_has_linemode(void);
  67bool __init sclp_has_vt220(void);
  68int sclp_pci_configure(u32 fid);
  69int sclp_pci_deconfigure(u32 fid);
  70int memcpy_hsa(void *dest, unsigned long src, size_t count, int mode);
  71unsigned long sclp_get_hsa_size(void);
  72void sclp_early_detect(void);
  73int sclp_has_siif(void);
  74int sclp_has_sief2(void);
  75
  76#endif /* _ASM_S390_SCLP_H */
  77