xref: /linux/arch/s390/include/asm/extmem.h (revision 6e7fd890f1d6ac83805409e9c346240de2705584)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  *  definitions for external memory segment support
4  *  Copyright IBM Corp. 2003
5  */
6 
7 #ifndef _ASM_S390X_DCSS_H
8 #define _ASM_S390X_DCSS_H
9 #ifndef __ASSEMBLY__
10 
11 /*
12  * DCSS segment is defined as a contiguous range of pages using DEFSEG command.
13  * The range start and end is a page number with a value less than or equal to
14  * 0x7ffffff (see CP Commands and Utilities Reference).
15  */
16 #define MAX_DCSS_ADDR	(512UL * SZ_1G)
17 
18 /* possible values for segment type as returned by segment_info */
19 #define SEG_TYPE_SW 0
20 #define SEG_TYPE_EW 1
21 #define SEG_TYPE_SR 2
22 #define SEG_TYPE_ER 3
23 #define SEG_TYPE_SN 4
24 #define SEG_TYPE_EN 5
25 #define SEG_TYPE_SC 6
26 #define SEG_TYPE_EWEN 7
27 
28 #define SEGMENT_SHARED 0
29 #define SEGMENT_EXCLUSIVE 1
30 
31 int segment_load (char *name, int segtype, unsigned long *addr, unsigned long *length);
32 void segment_unload(char *name);
33 void segment_save(char *name);
34 int segment_type (char* name);
35 int segment_modify_shared (char *name, int do_nonshared);
36 void segment_warning(int rc, char *seg_name);
37 
38 #endif
39 #endif
40