u-boot-brain/disk/part_amiga.h
Tom Rini 83d290c56f SPDX: Convert all of our single license tags to Linux Kernel style
When U-Boot started using SPDX tags we were among the early adopters and
there weren't a lot of other examples to borrow from.  So we picked the
area of the file that usually had a full license text and replaced it
with an appropriate SPDX-License-Identifier: entry.  Since then, the
Linux Kernel has adopted SPDX tags and they place it as the very first
line in a file (except where shebangs are used, then it's second line)
and with slightly different comment styles than us.

In part due to community overlap, in part due to better tag visibility
and in part for other minor reasons, switch over to that style.

This commit changes all instances where we have a single declared
license in the tag as both the before and after are identical in tag
contents.  There's also a few places where I found we did not have a tag
and have introduced one.

Signed-off-by: Tom Rini <trini@konsulko.com>
2018-05-07 09:34:12 -04:00

141 lines
2.7 KiB
C

/* SPDX-License-Identifier: GPL-2.0+ */
/*
* (C) Copyright 2000
* Hans-Joerg Frieden, Hyperion Entertainment
* Hans-JoergF@hyperion-entertainment.com
*/
#ifndef _DISK_PART_AMIGA_H
#define _DISK_PART_AMIGA_H
#include <common.h>
#if CONFIG_IS_ENABLED(ISO_PARTITION)
/* Make the buffers bigger if ISO partition support is enabled -- CD-ROMS
have 2048 byte blocks */
#define DEFAULT_SECTOR_SIZE 2048
#else
#define DEFAULT_SECTOR_SIZE 512
#endif
#define AMIGA_BLOCK_LIMIT 16
/*
* Amiga disks have a very open structure. The head for the partition table information
* is stored somewhere within the first 16 blocks on disk, and is called the
* "RigidDiskBlock".
*/
struct rigid_disk_block
{
u32 id;
u32 summed_longs;
s32 chk_sum;
u32 host_id;
u32 block_bytes;
u32 flags;
u32 bad_block_list;
u32 partition_list;
u32 file_sys_header_list;
u32 drive_init;
u32 bootcode_block;
u32 reserved_1[5];
/* Physical drive geometry */
u32 cylinders;
u32 sectors;
u32 heads;
u32 interleave;
u32 park;
u32 reserved_2[3];
u32 write_pre_comp;
u32 reduced_write;
u32 step_rate;
u32 reserved_3[5];
/* logical drive geometry */
u32 rdb_blocks_lo;
u32 rdb_blocks_hi;
u32 lo_cylinder;
u32 hi_cylinder;
u32 cyl_blocks;
u32 auto_park_seconds;
u32 high_rdsk_block;
u32 reserved_4;
char disk_vendor[8];
char disk_product[16];
char disk_revision[4];
char controller_vendor[8];
char controller_product[16];
char controller_revision[4];
u32 reserved_5[10];
};
/*
* Each partition on this drive is defined by such a block
*/
struct partition_block
{
u32 id;
u32 summed_longs;
s32 chk_sum;
u32 host_id;
u32 next;
u32 flags;
u32 reserved_1[2];
u32 dev_flags;
char drive_name[32];
u32 reserved_2[15];
u32 environment[17];
u32 reserved_3[15];
};
struct bootcode_block
{
u32 id;
u32 summed_longs;
s32 chk_sum;
u32 host_id;
u32 next;
u32 load_data[123];
};
#define AMIGA_ID_RDISK 0x5244534B
#define AMIGA_ID_PART 0x50415254
#define AMIGA_ID_BOOT 0x424f4f54
/*
* The environment array in the partition block
* describes the partition
*/
struct amiga_part_geometry
{
u32 table_size;
u32 size_blocks;
u32 unused1;
u32 surfaces;
u32 sector_per_block;
u32 block_per_track;
u32 reserved;
u32 prealloc;
u32 interleave;
u32 low_cyl;
u32 high_cyl;
u32 num_buffers;
u32 buf_mem_type;
u32 max_transfer;
u32 mask;
s32 boot_priority;
u32 dos_type;
u32 baud;
u32 control;
u32 boot_blocks;
};
#endif /* _DISK_PART_AMIGA_H_ */