1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * fs/partitions/atari.h 4 * Moved by Russell King from: 5 * 6 * linux/include/linux/atari_rootsec.h 7 * definitions for Atari Rootsector layout 8 * by Andreas Schwab (schwab@ls5.informatik.uni-dortmund.de) 9 * 10 * modified for ICD/Supra partitioning scheme restricted to at most 12 11 * partitions 12 * by Guenther Kelleter (guenther@pool.informatik.rwth-aachen.de) 13 */ 14 15 #include <linux/compiler.h> 16 17 struct partition_info 18 { 19 u8 flg; /* bit 0: active; bit 7: bootable */ 20 char id[3]; /* "GEM", "BGM", "XGM", or other */ 21 __be32 st; /* start of partition */ 22 __be32 siz; /* length of partition */ 23 }; 24 25 struct rootsector 26 { 27 char unused[0x156]; /* room for boot code */ 28 struct partition_info icdpart[8]; /* info for ICD-partitions 5..12 */ 29 char unused2[0xc]; 30 u32 hd_siz; /* size of disk in blocks */ 31 struct partition_info part[4]; 32 u32 bsl_st; /* start of bad sector list */ 33 u32 bsl_cnt; /* length of bad sector list */ 34 u16 checksum; /* checksum for bootable disks */ 35 } __packed; 36 37 int atari_partition(struct parsed_partitions *state);