You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6
* 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: (81 commits) [S390] remove duplicated #includes [S390] cpumask: use mm_cpumask() wrapper [S390] cpumask: Use accessors code. [S390] cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits. [S390] cpumask: remove cpu_coregroup_map [S390] fix clock comparator save area usage [S390] Add hwcap flag for the etf3 enhancement facility [S390] Ensure that ipl panic notifier is called late. [S390] fix dfp elf hwcap/facility bit detection [S390] smp: perform initial cpu reset before starting a cpu [S390] smp: fix memory leak on __cpu_up [S390] ipl: Improve checking logic and remove switch defaults. [S390] s390dbf: Remove needless check for NULL pointer. [S390] s390dbf: Remove redundant initilizations. [S390] use kzfree() [S390] BUG to BUG_ON changes [S390] zfcpdump: Prevent zcore from beeing built as a kernel module. [S390] Use csum_partial in checksum.h [S390] cleanup lowcore.h [S390] eliminate ipl_device from lowcore ...
This commit is contained in:
@@ -830,6 +830,9 @@ and is between 256 and 4096 characters. It is defined in the file
|
||||
|
||||
hvc_iucv= [S390] Number of z/VM IUCV hypervisor console (HVC)
|
||||
terminal devices. Valid values: 0..8
|
||||
hvc_iucv_allow= [S390] Comma-separated list of z/VM user IDs.
|
||||
If specified, z/VM IUCV HVC accepts connections
|
||||
from listed z/VM user IDs only.
|
||||
|
||||
i8042.debug [HW] Toggle i8042 debug mode
|
||||
i8042.direct [HW] Put keyboard port into non-translated mode
|
||||
|
||||
@@ -3745,6 +3745,15 @@ L: linux-s390@vger.kernel.org
|
||||
W: http://www.ibm.com/developerworks/linux/linux390/
|
||||
S: Supported
|
||||
|
||||
S390 ZCRYPT DRIVER
|
||||
P: Felix Beck
|
||||
M: felix.beck@de.ibm.com
|
||||
P: Ralph Wuerthner
|
||||
M: ralph.wuerthner@de.ibm.com
|
||||
M: linux390@de.ibm.com
|
||||
L: linux-s390@vger.kernel.org
|
||||
S: Supported
|
||||
|
||||
S390 ZFCP DRIVER
|
||||
P: Christof Schmitt
|
||||
M: christof.schmitt@de.ibm.com
|
||||
|
||||
+2
-9
@@ -343,13 +343,6 @@ source "mm/Kconfig"
|
||||
|
||||
comment "I/O subsystem configuration"
|
||||
|
||||
config MACHCHK_WARNING
|
||||
bool "Process warning machine checks"
|
||||
help
|
||||
Select this option if you want the machine check handler on IBM S/390 or
|
||||
zSeries to process warning machine checks (e.g. on power failures).
|
||||
If unsure, say "Y".
|
||||
|
||||
config QDIO
|
||||
tristate "QDIO support"
|
||||
---help---
|
||||
@@ -521,7 +514,7 @@ config APPLDATA_OS
|
||||
|
||||
config APPLDATA_NET_SUM
|
||||
tristate "Monitor overall network statistics"
|
||||
depends on APPLDATA_BASE
|
||||
depends on APPLDATA_BASE && NET
|
||||
help
|
||||
This provides network related data to the Linux - VM Monitor Stream,
|
||||
currently there is only a total sum of network I/O statistics, no
|
||||
@@ -552,7 +545,7 @@ config KEXEC
|
||||
but is independent of hardware/microcode support.
|
||||
|
||||
config ZFCPDUMP
|
||||
tristate "zfcpdump support"
|
||||
bool "zfcpdump support"
|
||||
select SMP
|
||||
default n
|
||||
help
|
||||
|
||||
@@ -201,8 +201,7 @@ out_free:
|
||||
static void __exit prng_exit(void)
|
||||
{
|
||||
/* wipe me */
|
||||
memset(p->buf, 0, prng_chunk_size);
|
||||
kfree(p->buf);
|
||||
kzfree(p->buf);
|
||||
kfree(p);
|
||||
|
||||
misc_deregister(&prng_dev);
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
* with operation of the form "set_bit(bitnr, flags)".
|
||||
*/
|
||||
|
||||
/* bitmap tables from arch/S390/kernel/bitmap.S */
|
||||
/* bitmap tables from arch/s390/kernel/bitmap.c */
|
||||
extern const char _oi_bitmap[];
|
||||
extern const char _ni_bitmap[];
|
||||
extern const char _zb_findmap[];
|
||||
@@ -525,16 +525,16 @@ static inline unsigned long __ffs_word_loop(const unsigned long *addr,
|
||||
static inline unsigned long __ffz_word(unsigned long nr, unsigned long word)
|
||||
{
|
||||
#ifdef __s390x__
|
||||
if (likely((word & 0xffffffff) == 0xffffffff)) {
|
||||
if ((word & 0xffffffff) == 0xffffffff) {
|
||||
word >>= 32;
|
||||
nr += 32;
|
||||
}
|
||||
#endif
|
||||
if (likely((word & 0xffff) == 0xffff)) {
|
||||
if ((word & 0xffff) == 0xffff) {
|
||||
word >>= 16;
|
||||
nr += 16;
|
||||
}
|
||||
if (likely((word & 0xff) == 0xff)) {
|
||||
if ((word & 0xff) == 0xff) {
|
||||
word >>= 8;
|
||||
nr += 8;
|
||||
}
|
||||
@@ -549,16 +549,16 @@ static inline unsigned long __ffz_word(unsigned long nr, unsigned long word)
|
||||
static inline unsigned long __ffs_word(unsigned long nr, unsigned long word)
|
||||
{
|
||||
#ifdef __s390x__
|
||||
if (likely((word & 0xffffffff) == 0)) {
|
||||
if ((word & 0xffffffff) == 0) {
|
||||
word >>= 32;
|
||||
nr += 32;
|
||||
}
|
||||
#endif
|
||||
if (likely((word & 0xffff) == 0)) {
|
||||
if ((word & 0xffff) == 0) {
|
||||
word >>= 16;
|
||||
nr += 16;
|
||||
}
|
||||
if (likely((word & 0xff) == 0)) {
|
||||
if ((word & 0xff) == 0) {
|
||||
word >>= 8;
|
||||
nr += 8;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
/*
|
||||
* Data definitions for channel report processing
|
||||
* Copyright IBM Corp. 2000,2009
|
||||
* Author(s): Ingo Adlung <adlung@de.ibm.com>,
|
||||
* Martin Schwidefsky <schwidefsky@de.ibm.com>,
|
||||
* Cornelia Huck <cornelia.huck@de.ibm.com>,
|
||||
* Heiko Carstens <heiko.carstens@de.ibm.com>,
|
||||
*/
|
||||
|
||||
#ifndef _ASM_S390_CRW_H
|
||||
#define _ASM_S390_CRW_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/*
|
||||
* Channel Report Word
|
||||
*/
|
||||
struct crw {
|
||||
__u32 res1 : 1; /* reserved zero */
|
||||
__u32 slct : 1; /* solicited */
|
||||
__u32 oflw : 1; /* overflow */
|
||||
__u32 chn : 1; /* chained */
|
||||
__u32 rsc : 4; /* reporting source code */
|
||||
__u32 anc : 1; /* ancillary report */
|
||||
__u32 res2 : 1; /* reserved zero */
|
||||
__u32 erc : 6; /* error-recovery code */
|
||||
__u32 rsid : 16; /* reporting-source ID */
|
||||
} __attribute__ ((packed));
|
||||
|
||||
typedef void (*crw_handler_t)(struct crw *, struct crw *, int);
|
||||
|
||||
extern int crw_register_handler(int rsc, crw_handler_t handler);
|
||||
extern void crw_unregister_handler(int rsc);
|
||||
extern void crw_handle_channel_report(void);
|
||||
|
||||
#define NR_RSCS 16
|
||||
|
||||
#define CRW_RSC_MONITOR 0x2 /* monitoring facility */
|
||||
#define CRW_RSC_SCH 0x3 /* subchannel */
|
||||
#define CRW_RSC_CPATH 0x4 /* channel path */
|
||||
#define CRW_RSC_CONFIG 0x9 /* configuration-alert facility */
|
||||
#define CRW_RSC_CSS 0xB /* channel subsystem */
|
||||
|
||||
#define CRW_ERC_EVENT 0x00 /* event information pending */
|
||||
#define CRW_ERC_AVAIL 0x01 /* available */
|
||||
#define CRW_ERC_INIT 0x02 /* initialized */
|
||||
#define CRW_ERC_TERROR 0x03 /* temporary error */
|
||||
#define CRW_ERC_IPARM 0x04 /* installed parm initialized */
|
||||
#define CRW_ERC_TERM 0x05 /* terminal */
|
||||
#define CRW_ERC_PERRN 0x06 /* perm. error, fac. not init */
|
||||
#define CRW_ERC_PERRI 0x07 /* perm. error, facility init */
|
||||
#define CRW_ERC_PMOD 0x08 /* installed parameters modified */
|
||||
|
||||
static inline int stcrw(struct crw *pcrw)
|
||||
{
|
||||
int ccode;
|
||||
|
||||
asm volatile(
|
||||
" stcrw 0(%2)\n"
|
||||
" ipm %0\n"
|
||||
" srl %0,28\n"
|
||||
: "=d" (ccode), "=m" (*pcrw)
|
||||
: "a" (pcrw)
|
||||
: "cc" );
|
||||
return ccode;
|
||||
}
|
||||
|
||||
#endif /* _ASM_S390_CRW_H */
|
||||
@@ -162,15 +162,15 @@ typedef struct dasd_profile_info_t {
|
||||
unsigned int dasd_io_nr_req[32]; /* histogram of # of requests in chanq */
|
||||
} dasd_profile_info_t;
|
||||
|
||||
/*
|
||||
/*
|
||||
* struct format_data_t
|
||||
* represents all data necessary to format a dasd
|
||||
*/
|
||||
typedef struct format_data_t {
|
||||
int start_unit; /* from track */
|
||||
int stop_unit; /* to track */
|
||||
int blksize; /* sectorsize */
|
||||
int intensity;
|
||||
unsigned int start_unit; /* from track */
|
||||
unsigned int stop_unit; /* to track */
|
||||
unsigned int blksize; /* sectorsize */
|
||||
unsigned int intensity;
|
||||
} format_data_t;
|
||||
|
||||
/*
|
||||
|
||||
@@ -44,24 +44,18 @@ idal_is_needed(void *vaddr, unsigned int length)
|
||||
/*
|
||||
* Return the number of idal words needed for an address/length pair.
|
||||
*/
|
||||
static inline unsigned int
|
||||
idal_nr_words(void *vaddr, unsigned int length)
|
||||
static inline unsigned int idal_nr_words(void *vaddr, unsigned int length)
|
||||
{
|
||||
#ifdef __s390x__
|
||||
if (idal_is_needed(vaddr, length))
|
||||
return ((__pa(vaddr) & (IDA_BLOCK_SIZE-1)) + length +
|
||||
(IDA_BLOCK_SIZE-1)) >> IDA_SIZE_LOG;
|
||||
#endif
|
||||
return 0;
|
||||
return ((__pa(vaddr) & (IDA_BLOCK_SIZE-1)) + length +
|
||||
(IDA_BLOCK_SIZE-1)) >> IDA_SIZE_LOG;
|
||||
}
|
||||
|
||||
/*
|
||||
* Create the list of idal words for an address/length pair.
|
||||
*/
|
||||
static inline unsigned long *
|
||||
idal_create_words(unsigned long *idaws, void *vaddr, unsigned int length)
|
||||
static inline unsigned long *idal_create_words(unsigned long *idaws,
|
||||
void *vaddr, unsigned int length)
|
||||
{
|
||||
#ifdef __s390x__
|
||||
unsigned long paddr;
|
||||
unsigned int cidaw;
|
||||
|
||||
@@ -74,7 +68,6 @@ idal_create_words(unsigned long *idaws, void *vaddr, unsigned int length)
|
||||
paddr += IDA_BLOCK_SIZE;
|
||||
*idaws++ = paddr;
|
||||
}
|
||||
#endif
|
||||
return idaws;
|
||||
}
|
||||
|
||||
|
||||
+318
-313
File diff suppressed because it is too large
Load Diff
@@ -74,7 +74,7 @@ static inline void update_mm(struct mm_struct *mm, struct task_struct *tsk)
|
||||
static inline void switch_mm(struct mm_struct *prev, struct mm_struct *next,
|
||||
struct task_struct *tsk)
|
||||
{
|
||||
cpu_set(smp_processor_id(), next->cpu_vm_mask);
|
||||
cpumask_set_cpu(smp_processor_id(), mm_cpumask(next));
|
||||
update_mm(next, tsk);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
/*
|
||||
* Machine check handler definitions
|
||||
*
|
||||
* Copyright IBM Corp. 2000,2009
|
||||
* Author(s): Ingo Adlung <adlung@de.ibm.com>,
|
||||
* Martin Schwidefsky <schwidefsky@de.ibm.com>,
|
||||
* Cornelia Huck <cornelia.huck@de.ibm.com>,
|
||||
* Heiko Carstens <heiko.carstens@de.ibm.com>,
|
||||
*/
|
||||
|
||||
#ifndef _ASM_S390_NMI_H
|
||||
#define _ASM_S390_NMI_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
struct mci {
|
||||
__u32 sd : 1; /* 00 system damage */
|
||||
__u32 pd : 1; /* 01 instruction-processing damage */
|
||||
__u32 sr : 1; /* 02 system recovery */
|
||||
__u32 : 1; /* 03 */
|
||||
__u32 cd : 1; /* 04 timing-facility damage */
|
||||
__u32 ed : 1; /* 05 external damage */
|
||||
__u32 : 1; /* 06 */
|
||||
__u32 dg : 1; /* 07 degradation */
|
||||
__u32 w : 1; /* 08 warning pending */
|
||||
__u32 cp : 1; /* 09 channel-report pending */
|
||||
__u32 sp : 1; /* 10 service-processor damage */
|
||||
__u32 ck : 1; /* 11 channel-subsystem damage */
|
||||
__u32 : 2; /* 12-13 */
|
||||
__u32 b : 1; /* 14 backed up */
|
||||
__u32 : 1; /* 15 */
|
||||
__u32 se : 1; /* 16 storage error uncorrected */
|
||||
__u32 sc : 1; /* 17 storage error corrected */
|
||||
__u32 ke : 1; /* 18 storage-key error uncorrected */
|
||||
__u32 ds : 1; /* 19 storage degradation */
|
||||
__u32 wp : 1; /* 20 psw mwp validity */
|
||||
__u32 ms : 1; /* 21 psw mask and key validity */
|
||||
__u32 pm : 1; /* 22 psw program mask and cc validity */
|
||||
__u32 ia : 1; /* 23 psw instruction address validity */
|
||||
__u32 fa : 1; /* 24 failing storage address validity */
|
||||
__u32 : 1; /* 25 */
|
||||
__u32 ec : 1; /* 26 external damage code validity */
|
||||
__u32 fp : 1; /* 27 floating point register validity */
|
||||
__u32 gr : 1; /* 28 general register validity */
|
||||
__u32 cr : 1; /* 29 control register validity */
|
||||
__u32 : 1; /* 30 */
|
||||
__u32 st : 1; /* 31 storage logical validity */
|
||||
__u32 ie : 1; /* 32 indirect storage error */
|
||||
__u32 ar : 1; /* 33 access register validity */
|
||||
__u32 da : 1; /* 34 delayed access exception */
|
||||
__u32 : 7; /* 35-41 */
|
||||
__u32 pr : 1; /* 42 tod programmable register validity */
|
||||
__u32 fc : 1; /* 43 fp control register validity */
|
||||
__u32 ap : 1; /* 44 ancillary report */
|
||||
__u32 : 1; /* 45 */
|
||||
__u32 ct : 1; /* 46 cpu timer validity */
|
||||
__u32 cc : 1; /* 47 clock comparator validity */
|
||||
__u32 : 16; /* 47-63 */
|
||||
};
|
||||
|
||||
struct pt_regs;
|
||||
|
||||
extern void s390_handle_mcck(void);
|
||||
extern void s390_do_machine_check(struct pt_regs *regs);
|
||||
|
||||
#endif /* _ASM_S390_NMI_H */
|
||||
@@ -42,22 +42,8 @@ static inline void get_cpu_id(cpuid_t *ptr)
|
||||
asm volatile("stidp 0(%1)" : "=m" (*ptr) : "a" (ptr));
|
||||
}
|
||||
|
||||
struct cpuinfo_S390
|
||||
{
|
||||
cpuid_t cpu_id;
|
||||
__u16 cpu_addr;
|
||||
__u16 cpu_nr;
|
||||
unsigned long loops_per_jiffy;
|
||||
unsigned long *pgd_quick;
|
||||
#ifdef __s390x__
|
||||
unsigned long *pmd_quick;
|
||||
#endif /* __s390x__ */
|
||||
unsigned long *pte_quick;
|
||||
unsigned long pgtable_cache_sz;
|
||||
};
|
||||
|
||||
extern void s390_adjust_jiffies(void);
|
||||
extern void print_cpu_info(struct cpuinfo_S390 *);
|
||||
extern void print_cpu_info(void);
|
||||
extern int get_cpu_capability(unsigned int *);
|
||||
|
||||
/*
|
||||
|
||||
@@ -172,6 +172,8 @@
|
||||
#define NUM_CRS 16
|
||||
#define NUM_ACRS 16
|
||||
|
||||
#define NUM_CR_WORDS 3
|
||||
|
||||
#define FPR_SIZE 8
|
||||
#define FPC_SIZE 4
|
||||
#define FPC_PAD_SIZE 4 /* gcc insists on aligning the fpregs */
|
||||
@@ -334,7 +336,7 @@ struct pt_regs
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
unsigned long cr[3];
|
||||
unsigned long cr[NUM_CR_WORDS];
|
||||
} per_cr_words;
|
||||
|
||||
#define PER_EM_MASK 0xE8000000UL
|
||||
|
||||
@@ -314,6 +314,7 @@ typedef void qdio_handler_t(struct ccw_device *, unsigned int, int,
|
||||
int, int, unsigned long);
|
||||
|
||||
/* qdio errors reported to the upper-layer program */
|
||||
#define QDIO_ERROR_SIGA_TARGET 0x02
|
||||
#define QDIO_ERROR_SIGA_ACCESS_EXCEPTION 0x10
|
||||
#define QDIO_ERROR_SIGA_BUSY 0x20
|
||||
#define QDIO_ERROR_ACTIVATE_CHECK_CONDITION 0x40
|
||||
|
||||
@@ -50,12 +50,7 @@ extern void machine_power_off_smp(void);
|
||||
|
||||
#define PROC_CHANGE_PENALTY 20 /* Schedule penalty */
|
||||
|
||||
#define raw_smp_processor_id() (S390_lowcore.cpu_data.cpu_nr)
|
||||
|
||||
static inline __u16 hard_smp_processor_id(void)
|
||||
{
|
||||
return stap();
|
||||
}
|
||||
#define raw_smp_processor_id() (S390_lowcore.cpu_nr)
|
||||
|
||||
/*
|
||||
* returns 1 if cpu is in stopped/check stopped state or not operational
|
||||
|
||||
@@ -100,6 +100,7 @@ static inline char *strcat(char *dst, const char *src)
|
||||
|
||||
static inline char *strcpy(char *dst, const char *src)
|
||||
{
|
||||
#if __GNUC__ < 4
|
||||
register int r0 asm("0") = 0;
|
||||
char *ret = dst;
|
||||
|
||||
@@ -109,10 +110,14 @@ static inline char *strcpy(char *dst, const char *src)
|
||||
: "+&a" (dst), "+&a" (src) : "d" (r0)
|
||||
: "cc", "memory");
|
||||
return ret;
|
||||
#else
|
||||
return __builtin_strcpy(dst, src);
|
||||
#endif
|
||||
}
|
||||
|
||||
static inline size_t strlen(const char *s)
|
||||
{
|
||||
#if __GNUC__ < 4
|
||||
register unsigned long r0 asm("0") = 0;
|
||||
const char *tmp = s;
|
||||
|
||||
@@ -121,6 +126,9 @@ static inline size_t strlen(const char *s)
|
||||
" jo 0b"
|
||||
: "+d" (r0), "+a" (tmp) : : "cc");
|
||||
return r0 - (unsigned long) s;
|
||||
#else
|
||||
return __builtin_strlen(s);
|
||||
#endif
|
||||
}
|
||||
|
||||
static inline size_t strnlen(const char * s, size_t n)
|
||||
@@ -135,7 +143,13 @@ static inline size_t strnlen(const char * s, size_t n)
|
||||
: "+a" (end), "+a" (tmp) : "d" (r0) : "cc");
|
||||
return end - s;
|
||||
}
|
||||
|
||||
#else /* IN_ARCH_STRING_C */
|
||||
void *memchr(const void * s, int c, size_t n);
|
||||
void *memscan(void *s, int c, size_t n);
|
||||
char *strcat(char *dst, const char *src);
|
||||
char *strcpy(char *dst, const char *src);
|
||||
size_t strlen(const char *s);
|
||||
size_t strnlen(const char * s, size_t n);
|
||||
#endif /* !IN_ARCH_STRING_C */
|
||||
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
@@ -100,6 +100,7 @@ struct sysinfo_3_2_2 {
|
||||
char reserved_1[24];
|
||||
|
||||
} vm[8];
|
||||
char reserved_544[3552];
|
||||
};
|
||||
|
||||
static inline int stsi(void *sysinfo, int fc, int sel1, int sel2)
|
||||
|
||||
@@ -51,7 +51,7 @@ static inline void __tlb_flush_full(struct mm_struct *mm)
|
||||
* If the process only ran on the local cpu, do a local flush.
|
||||
*/
|
||||
local_cpumask = cpumask_of_cpu(smp_processor_id());
|
||||
if (cpus_equal(mm->cpu_vm_mask, local_cpumask))
|
||||
if (cpumask_equal(mm_cpumask(mm), &local_cpumask))
|
||||
__tlb_flush_local();
|
||||
else
|
||||
__tlb_flush_global();
|
||||
@@ -73,7 +73,7 @@ static inline void __tlb_flush_idte(unsigned long asce)
|
||||
|
||||
static inline void __tlb_flush_mm(struct mm_struct * mm)
|
||||
{
|
||||
if (unlikely(cpus_empty(mm->cpu_vm_mask)))
|
||||
if (unlikely(cpumask_empty(mm_cpumask(mm))))
|
||||
return;
|
||||
/*
|
||||
* If the machine has IDTE we prefer to do a per mm flush
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
|
||||
#define mc_capable() (1)
|
||||
|
||||
cpumask_t cpu_coregroup_map(unsigned int cpu);
|
||||
const struct cpumask *cpu_coregroup_mask(unsigned int cpu);
|
||||
|
||||
extern cpumask_t cpu_core_map[NR_CPUS];
|
||||
|
||||
@@ -39,7 +39,7 @@ struct vtoc_labeldate
|
||||
__u16 day;
|
||||
} __attribute__ ((packed));
|
||||
|
||||
struct vtoc_volume_label
|
||||
struct vtoc_volume_label_cdl
|
||||
{
|
||||
char volkey[4]; /* volume key = volume label */
|
||||
char vollbl[4]; /* volume label */
|
||||
@@ -56,6 +56,14 @@ struct vtoc_volume_label
|
||||
char res3[29]; /* reserved */
|
||||
} __attribute__ ((packed));
|
||||
|
||||
struct vtoc_volume_label_ldl {
|
||||
char vollbl[4]; /* volume label */
|
||||
char volid[6]; /* volume identifier */
|
||||
char res3[69]; /* reserved */
|
||||
char ldl_version; /* version number, valid for ldl format */
|
||||
__u64 formatted_blocks; /* valid when ldl_version >= f2 */
|
||||
} __attribute__ ((packed));
|
||||
|
||||
struct vtoc_extent
|
||||
{
|
||||
__u8 typeind; /* extent type indicator */
|
||||
@@ -140,7 +148,11 @@ struct vtoc_format4_label
|
||||
char res2[10]; /* reserved */
|
||||
__u8 DS4EFLVL; /* extended free-space management level */
|
||||
struct vtoc_cchhb DS4EFPTR; /* pointer to extended free-space info */
|
||||
char res3[9]; /* reserved */
|
||||
char res3; /* reserved */
|
||||
__u32 DS4DCYL; /* number of logical cyls */
|
||||
char res4[2]; /* reserved */
|
||||
__u8 DS4DEVF2; /* device flags */
|
||||
char res5; /* reserved */
|
||||
} __attribute__ ((packed));
|
||||
|
||||
struct vtoc_ds5ext
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user