Resguardo inicial

This commit is contained in:
lastdragon
2026-09-06 12:53:21 -06:00
parent 662efe3c2a
commit ad2088d178
94853 changed files with 43200404 additions and 0 deletions
@@ -0,0 +1,2 @@
# SPDX-License-Identifier: GPL-2.0
generated-y += unistd_32.h
@@ -0,0 +1,21 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef __M68K_A_OUT_H__
#define __M68K_A_OUT_H__
struct exec
{
unsigned long a_info; /* Use macros N_MAGIC, etc for access */
unsigned a_text; /* length of text, in bytes */
unsigned a_data; /* length of data, in bytes */
unsigned a_bss; /* length of uninitialized data area for file, in bytes */
unsigned a_syms; /* length of symbol table data in file, in bytes */
unsigned a_entry; /* start address */
unsigned a_trsize; /* length of relocation info for text, in bytes */
unsigned a_drsize; /* length of relocation info for data, in bytes */
};
#define N_TRSIZE(a) ((a).a_trsize)
#define N_DRSIZE(a) ((a).a_drsize)
#define N_SYMSIZE(a) ((a).a_syms)
#endif /* __M68K_A_OUT_H__ */
@@ -0,0 +1,64 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
/*
** asm/bootinfo-amiga.h -- Amiga-specific boot information definitions
*/
#ifndef _UAPI_ASM_M68K_BOOTINFO_AMIGA_H
#define _UAPI_ASM_M68K_BOOTINFO_AMIGA_H
/*
* Amiga-specific tags
*/
#define BI_AMIGA_MODEL 0x8000 /* model (__be32) */
#define BI_AMIGA_AUTOCON 0x8001 /* AutoConfig device */
/* (AmigaOS struct ConfigDev) */
#define BI_AMIGA_CHIP_SIZE 0x8002 /* size of Chip RAM (__be32) */
#define BI_AMIGA_VBLANK 0x8003 /* VBLANK frequency (__u8) */
#define BI_AMIGA_PSFREQ 0x8004 /* power supply frequency (__u8) */
#define BI_AMIGA_ECLOCK 0x8005 /* EClock frequency (__be32) */
#define BI_AMIGA_CHIPSET 0x8006 /* native chipset present (__be32) */
#define BI_AMIGA_SERPER 0x8007 /* serial port period (__be16) */
/*
* Amiga models (BI_AMIGA_MODEL)
*/
#define AMI_UNKNOWN 0
#define AMI_500 1
#define AMI_500PLUS 2
#define AMI_600 3
#define AMI_1000 4
#define AMI_1200 5
#define AMI_2000 6
#define AMI_2500 7
#define AMI_3000 8
#define AMI_3000T 9
#define AMI_3000PLUS 10
#define AMI_4000 11
#define AMI_4000T 12
#define AMI_CDTV 13
#define AMI_CD32 14
#define AMI_DRACO 15
/*
* Amiga chipsets (BI_AMIGA_CHIPSET)
*/
#define CS_STONEAGE 0
#define CS_OCS 1
#define CS_ECS 2
#define CS_AGA 3
/*
* Latest Amiga bootinfo version
*/
#define AMIGA_BOOTI_VERSION MK_BI_VERSION(2, 0)
#endif /* _UAPI_ASM_M68K_BOOTINFO_AMIGA_H */
@@ -0,0 +1,29 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
/*
** asm/bootinfo-apollo.h -- Apollo-specific boot information definitions
*/
#ifndef _UAPI_ASM_M68K_BOOTINFO_APOLLO_H
#define _UAPI_ASM_M68K_BOOTINFO_APOLLO_H
/*
* Apollo-specific tags
*/
#define BI_APOLLO_MODEL 0x8000 /* model (__be32) */
/*
* Apollo models (BI_APOLLO_MODEL)
*/
#define APOLLO_UNKNOWN 0
#define APOLLO_DN3000 1
#define APOLLO_DN3010 2
#define APOLLO_DN3500 3
#define APOLLO_DN4000 4
#define APOLLO_DN4500 5
#endif /* _UAPI_ASM_M68K_BOOTINFO_APOLLO_H */
@@ -0,0 +1,45 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
/*
** asm/bootinfo-atari.h -- Atari-specific boot information definitions
*/
#ifndef _UAPI_ASM_M68K_BOOTINFO_ATARI_H
#define _UAPI_ASM_M68K_BOOTINFO_ATARI_H
/*
* Atari-specific tags
*/
#define BI_ATARI_MCH_COOKIE 0x8000 /* _MCH cookie from TOS (__be32) */
#define BI_ATARI_MCH_TYPE 0x8001 /* special machine type (__be32) */
/*
* mch_cookie values (upper word of BI_ATARI_MCH_COOKIE)
*/
#define ATARI_MCH_ST 0
#define ATARI_MCH_STE 1
#define ATARI_MCH_TT 2
#define ATARI_MCH_FALCON 3
/*
* Atari machine types (BI_ATARI_MCH_TYPE)
*/
#define ATARI_MACH_NORMAL 0 /* no special machine type */
#define ATARI_MACH_MEDUSA 1 /* Medusa 040 */
#define ATARI_MACH_HADES 2 /* Hades 040 or 060 */
#define ATARI_MACH_AB40 3 /* Afterburner040 on Falcon */
/*
* Latest Atari bootinfo version
*/
#define ATARI_BOOTI_VERSION MK_BI_VERSION(2, 1)
#endif /* _UAPI_ASM_M68K_BOOTINFO_ATARI_H */
@@ -0,0 +1,51 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
/*
** asm/bootinfo-hp300.h -- HP9000/300-specific boot information definitions
*/
#ifndef _UAPI_ASM_M68K_BOOTINFO_HP300_H
#define _UAPI_ASM_M68K_BOOTINFO_HP300_H
/*
* HP9000/300-specific tags
*/
#define BI_HP300_MODEL 0x8000 /* model (__be32) */
#define BI_HP300_UART_SCODE 0x8001 /* UART select code (__be32) */
#define BI_HP300_UART_ADDR 0x8002 /* phys. addr of UART (__be32) */
/*
* HP9000/300 and /400 models (BI_HP300_MODEL)
*
* This information was taken from NetBSD
*/
#define HP_320 0 /* 16MHz 68020+HP MMU+16K external cache */
#define HP_330 1 /* 16MHz 68020+68851 MMU */
#define HP_340 2 /* 16MHz 68030 */
#define HP_345 3 /* 50MHz 68030+32K external cache */
#define HP_350 4 /* 25MHz 68020+HP MMU+32K external cache */
#define HP_360 5 /* 25MHz 68030 */
#define HP_370 6 /* 33MHz 68030+64K external cache */
#define HP_375 7 /* 50MHz 68030+32K external cache */
#define HP_380 8 /* 25MHz 68040 */
#define HP_385 9 /* 33MHz 68040 */
#define HP_400 10 /* 50MHz 68030+32K external cache */
#define HP_425T 11 /* 25MHz 68040 - model 425t */
#define HP_425S 12 /* 25MHz 68040 - model 425s */
#define HP_425E 13 /* 25MHz 68040 - model 425e */
#define HP_433T 14 /* 33MHz 68040 - model 433t */
#define HP_433S 15 /* 33MHz 68040 - model 433s */
/*
* Latest HP9000/300 bootinfo version
*/
#define HP300_BOOTI_VERSION MK_BI_VERSION(2, 0)
#endif /* _UAPI_ASM_M68K_BOOTINFO_HP300_H */
@@ -0,0 +1,120 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
/*
** asm/bootinfo-mac.h -- Macintosh-specific boot information definitions
*/
#ifndef _UAPI_ASM_M68K_BOOTINFO_MAC_H
#define _UAPI_ASM_M68K_BOOTINFO_MAC_H
/*
* Macintosh-specific tags (all __be32)
*/
#define BI_MAC_MODEL 0x8000 /* Mac Gestalt ID (model type) */
#define BI_MAC_VADDR 0x8001 /* Mac video base address */
#define BI_MAC_VDEPTH 0x8002 /* Mac video depth */
#define BI_MAC_VROW 0x8003 /* Mac video rowbytes */
#define BI_MAC_VDIM 0x8004 /* Mac video dimensions */
#define BI_MAC_VLOGICAL 0x8005 /* Mac video logical base */
#define BI_MAC_SCCBASE 0x8006 /* Mac SCC base address */
#define BI_MAC_BTIME 0x8007 /* Mac boot time */
#define BI_MAC_GMTBIAS 0x8008 /* Mac GMT timezone offset */
#define BI_MAC_MEMSIZE 0x8009 /* Mac RAM size (sanity check) */
#define BI_MAC_CPUID 0x800a /* Mac CPU type (sanity check) */
#define BI_MAC_ROMBASE 0x800b /* Mac system ROM base address */
/*
* Macintosh hardware profile data - unused, see macintosh.h for
* reasonable type values
*/
#define BI_MAC_VIA1BASE 0x8010 /* Mac VIA1 base address (always present) */
#define BI_MAC_VIA2BASE 0x8011 /* Mac VIA2 base address (type varies) */
#define BI_MAC_VIA2TYPE 0x8012 /* Mac VIA2 type (VIA, RBV, OSS) */
#define BI_MAC_ADBTYPE 0x8013 /* Mac ADB interface type */
#define BI_MAC_ASCBASE 0x8014 /* Mac Apple Sound Chip base address */
#define BI_MAC_SCSI5380 0x8015 /* Mac NCR 5380 SCSI (base address, multi) */
#define BI_MAC_SCSIDMA 0x8016 /* Mac SCSI DMA (base address) */
#define BI_MAC_SCSI5396 0x8017 /* Mac NCR 53C96 SCSI (base address, multi) */
#define BI_MAC_IDETYPE 0x8018 /* Mac IDE interface type */
#define BI_MAC_IDEBASE 0x8019 /* Mac IDE interface base address */
#define BI_MAC_NUBUS 0x801a /* Mac Nubus type (none, regular, pseudo) */
#define BI_MAC_SLOTMASK 0x801b /* Mac Nubus slots present */
#define BI_MAC_SCCTYPE 0x801c /* Mac SCC serial type (normal, IOP) */
#define BI_MAC_ETHTYPE 0x801d /* Mac builtin ethernet type (Sonic, MACE */
#define BI_MAC_ETHBASE 0x801e /* Mac builtin ethernet base address */
#define BI_MAC_PMU 0x801f /* Mac power management / poweroff hardware */
#define BI_MAC_IOP_SWIM 0x8020 /* Mac SWIM floppy IOP */
#define BI_MAC_IOP_ADB 0x8021 /* Mac ADB IOP */
/*
* Macintosh Gestalt numbers (BI_MAC_MODEL)
*/
#define MAC_MODEL_II 6
#define MAC_MODEL_IIX 7
#define MAC_MODEL_IICX 8
#define MAC_MODEL_SE30 9
#define MAC_MODEL_IICI 11
#define MAC_MODEL_IIFX 13 /* And well numbered it is too */
#define MAC_MODEL_IISI 18
#define MAC_MODEL_LC 19
#define MAC_MODEL_Q900 20
#define MAC_MODEL_PB170 21
#define MAC_MODEL_Q700 22
#define MAC_MODEL_CLII 23 /* aka: P200 */
#define MAC_MODEL_PB140 25
#define MAC_MODEL_Q950 26 /* aka: WGS95 */
#define MAC_MODEL_LCIII 27 /* aka: P450 */
#define MAC_MODEL_PB210 29
#define MAC_MODEL_C650 30
#define MAC_MODEL_PB230 32
#define MAC_MODEL_PB180 33
#define MAC_MODEL_PB160 34
#define MAC_MODEL_Q800 35 /* aka: WGS80 */
#define MAC_MODEL_Q650 36
#define MAC_MODEL_LCII 37 /* aka: P400/405/410/430 */
#define MAC_MODEL_PB250 38
#define MAC_MODEL_IIVI 44
#define MAC_MODEL_P600 45 /* aka: P600CD */
#define MAC_MODEL_IIVX 48
#define MAC_MODEL_CCL 49 /* aka: P250 */
#define MAC_MODEL_PB165C 50
#define MAC_MODEL_C610 52 /* aka: WGS60 */
#define MAC_MODEL_Q610 53
#define MAC_MODEL_PB145 54 /* aka: PB145B */
#define MAC_MODEL_P520 56 /* aka: LC520 */
#define MAC_MODEL_C660 60
#define MAC_MODEL_P460 62 /* aka: LCIII+, P466/P467 */
#define MAC_MODEL_PB180C 71
#define MAC_MODEL_PB520 72 /* aka: PB520C, PB540, PB540C, PB550C */
#define MAC_MODEL_PB270C 77
#define MAC_MODEL_Q840 78
#define MAC_MODEL_P550 80 /* aka: LC550, P560 */
#define MAC_MODEL_CCLII 83 /* aka: P275 */
#define MAC_MODEL_PB165 84
#define MAC_MODEL_PB190 85 /* aka: PB190CS */
#define MAC_MODEL_TV 88
#define MAC_MODEL_P475 89 /* aka: LC475, P476 */
#define MAC_MODEL_P475F 90 /* aka: P475 w/ FPU (no LC040) */
#define MAC_MODEL_P575 92 /* aka: LC575, P577/P578 */
#define MAC_MODEL_Q605 94
#define MAC_MODEL_Q605_ACC 95 /* Q605 accelerated to 33 MHz */
#define MAC_MODEL_Q630 98 /* aka: LC630, P630/631/635/636/637/638/640 */
#define MAC_MODEL_P588 99 /* aka: LC580, P580 */
#define MAC_MODEL_PB280 102
#define MAC_MODEL_PB280C 103
#define MAC_MODEL_PB150 115
/*
* Latest Macintosh bootinfo version
*/
#define MAC_BOOTI_VERSION MK_BI_VERSION(2, 0)
#endif /* _UAPI_ASM_M68K_BOOTINFO_MAC_H */
@@ -0,0 +1,17 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
/*
** asm/bootinfo-q40.h -- Q40-specific boot information definitions
*/
#ifndef _UAPI_ASM_M68K_BOOTINFO_Q40_H
#define _UAPI_ASM_M68K_BOOTINFO_Q40_H
/*
* Latest Q40 bootinfo version
*/
#define Q40_BOOTI_VERSION MK_BI_VERSION(2, 0)
#endif /* _UAPI_ASM_M68K_BOOTINFO_Q40_H */
@@ -0,0 +1,21 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
/*
* asm/bootinfo-virt.h -- Virtual-m68k-specific boot information definitions
*/
#ifndef _UAPI_ASM_M68K_BOOTINFO_VIRT_H
#define _UAPI_ASM_M68K_BOOTINFO_VIRT_H
#define BI_VIRT_QEMU_VERSION 0x8000
#define BI_VIRT_GF_PIC_BASE 0x8001
#define BI_VIRT_GF_RTC_BASE 0x8002
#define BI_VIRT_GF_TTY_BASE 0x8003
#define BI_VIRT_VIRTIO_BASE 0x8004
#define BI_VIRT_CTRL_BASE 0x8005
/* No longer used -- replaced with BI_RNG_SEED -- but don't reuse this index:
* #define BI_VIRT_RNG_SEED 0x8006 */
#define VIRT_BOOTI_VERSION MK_BI_VERSION(2, 0)
#endif /* _UAPI_ASM_M68K_BOOTINFO_MAC_H */
@@ -0,0 +1,71 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
/*
** asm/bootinfo-vme.h -- VME-specific boot information definitions
*/
#ifndef _UAPI_ASM_M68K_BOOTINFO_VME_H
#define _UAPI_ASM_M68K_BOOTINFO_VME_H
#include <linux/types.h>
/*
* VME-specific tags
*/
#define BI_VME_TYPE 0x8000 /* VME sub-architecture (__be32) */
#define BI_VME_BRDINFO 0x8001 /* VME board information (struct) */
/*
* VME models (BI_VME_TYPE)
*/
#define VME_TYPE_TP34V 0x0034 /* Tadpole TP34V */
#define VME_TYPE_MVME147 0x0147 /* Motorola MVME147 */
#define VME_TYPE_MVME162 0x0162 /* Motorola MVME162 */
#define VME_TYPE_MVME166 0x0166 /* Motorola MVME166 */
#define VME_TYPE_MVME167 0x0167 /* Motorola MVME167 */
#define VME_TYPE_MVME172 0x0172 /* Motorola MVME172 */
#define VME_TYPE_MVME177 0x0177 /* Motorola MVME177 */
#define VME_TYPE_BVME4000 0x4000 /* BVM Ltd. BVME4000 */
#define VME_TYPE_BVME6000 0x6000 /* BVM Ltd. BVME6000 */
#ifndef __ASSEMBLER__
/*
* Board ID data structure - pointer to this retrieved from Bug by head.S
*
* BI_VME_BRDINFO is a 32 byte struct as returned by the Bug code on
* Motorola VME boards. Contains board number, Bug version, board
* configuration options, etc.
*
* Note, bytes 12 and 13 are board no in BCD (0162,0166,0167,0177,etc)
*/
typedef struct {
char bdid[4];
__u8 rev, mth, day, yr;
__be16 size, reserved;
__be16 brdno;
char brdsuffix[2];
__be32 options;
__be16 clun, dlun, ctype, dnum;
__be32 option2;
} t_bdid, *p_bdid;
#endif /* __ASSEMBLER__ */
/*
* Latest VME bootinfo versions
*/
#define MVME147_BOOTI_VERSION MK_BI_VERSION(2, 0)
#define MVME16x_BOOTI_VERSION MK_BI_VERSION(2, 0)
#define BVME6000_BOOTI_VERSION MK_BI_VERSION(2, 0)
#endif /* _UAPI_ASM_M68K_BOOTINFO_VME_H */
@@ -0,0 +1,184 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
/*
* asm/bootinfo.h -- Definition of the Linux/m68k boot information structure
*
* Copyright 1992 by Greg Harp
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file COPYING in the main directory of this archive
* for more details.
*/
#ifndef _UAPI_ASM_M68K_BOOTINFO_H
#define _UAPI_ASM_M68K_BOOTINFO_H
#include <linux/types.h>
#ifndef __ASSEMBLER__
/*
* Bootinfo definitions
*
* This is an easily parsable and extendable structure containing all
* information to be passed from the bootstrap to the kernel.
*
* This way I hope to keep all future changes back/forewards compatible.
* Thus, keep your fingers crossed...
*
* This structure is copied right after the kernel by the bootstrap
* routine.
*/
struct bi_record {
__be16 tag; /* tag ID */
__be16 size; /* size of record (in bytes) */
__be32 data[]; /* data */
};
struct mem_info {
__be32 addr; /* physical address of memory chunk */
__be32 size; /* length of memory chunk (in bytes) */
};
#endif /* __ASSEMBLER__ */
/*
* Tag Definitions
*
* Machine independent tags start counting from 0x0000
* Machine dependent tags start counting from 0x8000
*/
#define BI_LAST 0x0000 /* last record (sentinel) */
#define BI_MACHTYPE 0x0001 /* machine type (__be32) */
#define BI_CPUTYPE 0x0002 /* cpu type (__be32) */
#define BI_FPUTYPE 0x0003 /* fpu type (__be32) */
#define BI_MMUTYPE 0x0004 /* mmu type (__be32) */
#define BI_MEMCHUNK 0x0005 /* memory chunk address and size */
/* (struct mem_info) */
#define BI_RAMDISK 0x0006 /* ramdisk address and size */
/* (struct mem_info) */
#define BI_COMMAND_LINE 0x0007 /* kernel command line parameters */
/* (string) */
/*
* A random seed used to initialize the RNG. Record format:
*
* - length [ 2 bytes, 16-bit big endian ]
* - seed data [ `length` bytes, padded to preserve 4-byte struct alignment ]
*/
#define BI_RNG_SEED 0x0008
/*
* Linux/m68k Architectures (BI_MACHTYPE)
*/
#define MACH_AMIGA 1
#define MACH_ATARI 2
#define MACH_MAC 3
#define MACH_APOLLO 4
#define MACH_SUN3 5
#define MACH_MVME147 6
#define MACH_MVME16x 7
#define MACH_BVME6000 8
#define MACH_HP300 9
#define MACH_Q40 10
#define MACH_SUN3X 11
#define MACH_M54XX 12
#define MACH_M5441X 13
#define MACH_VIRT 14
/*
* CPU, FPU and MMU types (BI_CPUTYPE, BI_FPUTYPE, BI_MMUTYPE)
*
* Note: we may rely on the following equalities:
*
* CPU_68020 == MMU_68851
* CPU_68030 == MMU_68030
* CPU_68040 == FPU_68040 == MMU_68040
* CPU_68060 == FPU_68060 == MMU_68060
*/
#define CPUB_68020 0
#define CPUB_68030 1
#define CPUB_68040 2
#define CPUB_68060 3
#define CPUB_COLDFIRE 4
#define CPU_68020 (1 << CPUB_68020)
#define CPU_68030 (1 << CPUB_68030)
#define CPU_68040 (1 << CPUB_68040)
#define CPU_68060 (1 << CPUB_68060)
#define CPU_COLDFIRE (1 << CPUB_COLDFIRE)
#define FPUB_68881 0
#define FPUB_68882 1
#define FPUB_68040 2 /* Internal FPU */
#define FPUB_68060 3 /* Internal FPU */
#define FPUB_SUNFPA 4 /* Sun-3 FPA */
#define FPUB_COLDFIRE 5 /* ColdFire FPU */
#define FPU_68881 (1 << FPUB_68881)
#define FPU_68882 (1 << FPUB_68882)
#define FPU_68040 (1 << FPUB_68040)
#define FPU_68060 (1 << FPUB_68060)
#define FPU_SUNFPA (1 << FPUB_SUNFPA)
#define FPU_COLDFIRE (1 << FPUB_COLDFIRE)
#define MMUB_68851 0
#define MMUB_68030 1 /* Internal MMU */
#define MMUB_68040 2 /* Internal MMU */
#define MMUB_68060 3 /* Internal MMU */
#define MMUB_APOLLO 4 /* Custom Apollo */
#define MMUB_SUN3 5 /* Custom Sun-3 */
#define MMUB_COLDFIRE 6 /* Internal MMU */
#define MMU_68851 (1 << MMUB_68851)
#define MMU_68030 (1 << MMUB_68030)
#define MMU_68040 (1 << MMUB_68040)
#define MMU_68060 (1 << MMUB_68060)
#define MMU_SUN3 (1 << MMUB_SUN3)
#define MMU_APOLLO (1 << MMUB_APOLLO)
#define MMU_COLDFIRE (1 << MMUB_COLDFIRE)
/*
* Stuff for bootinfo interface versioning
*
* At the start of kernel code, a 'struct bootversion' is located.
* bootstrap checks for a matching version of the interface before booting
* a kernel, to avoid user confusion if kernel and bootstrap don't work
* together :-)
*
* If incompatible changes are made to the bootinfo interface, the major
* number below should be stepped (and the minor reset to 0) for the
* appropriate machine. If a change is backward-compatible, the minor
* should be stepped. "Backwards-compatible" means that booting will work,
* but certain features may not.
*/
#define BOOTINFOV_MAGIC 0x4249561A /* 'BIV^Z' */
#define MK_BI_VERSION(major, minor) (((major) << 16) + (minor))
#define BI_VERSION_MAJOR(v) (((v) >> 16) & 0xffff)
#define BI_VERSION_MINOR(v) ((v) & 0xffff)
#ifndef __ASSEMBLER__
struct bootversion {
__be16 branch;
__be32 magic;
struct {
__be32 machtype;
__be32 version;
} machversions[];
} __packed;
#endif /* __ASSEMBLER__ */
#endif /* _UAPI_ASM_M68K_BOOTINFO_H */
@@ -0,0 +1,7 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef _M68K_BYTEORDER_H
#define _M68K_BYTEORDER_H
#include <linux/byteorder/big_endian.h>
#endif /* _M68K_BYTEORDER_H */
@@ -0,0 +1,15 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef _M68K_CACHECTL_H
#define _M68K_CACHECTL_H
/* Definitions for the cacheflush system call. */
#define FLUSH_SCOPE_LINE 1 /* Flush a cache line */
#define FLUSH_SCOPE_PAGE 2 /* Flush a page */
#define FLUSH_SCOPE_ALL 3 /* Flush the whole cache -- superuser only */
#define FLUSH_CACHE_DATA 1 /* Writeback and flush data cache */
#define FLUSH_CACHE_INSN 2 /* Flush instruction cache */
#define FLUSH_CACHE_BOTH 3 /* Flush both caches */
#endif /* _M68K_CACHECTL_H */
@@ -0,0 +1,12 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef _M68K_FCNTL_H
#define _M68K_FCNTL_H
#define O_DIRECTORY (1 << 14) /* must be a directory */
#define O_NOFOLLOW (1 << 15) /* don't follow links */
#define O_DIRECT (1 << 16) /* direct disk access hint - currently ignored */
#define O_LARGEFILE (1 << 17)
#include <asm-generic/fcntl.h>
#endif /* _M68K_FCNTL_H */
@@ -0,0 +1,9 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef __ARCH_M68K_IOCTLS_H__
#define __ARCH_M68K_IOCTLS_H__
#define FIOQSIZE 0x545E
#include <asm-generic/ioctls.h>
#endif /* __ARCH_M68K_IOCTLS_H__ */
@@ -0,0 +1,13 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef _M68K_PARAM_H
#define _M68K_PARAM_H
#ifdef __uClinux__
#define EXEC_PAGESIZE 4096
#else
#define EXEC_PAGESIZE 8192
#endif
#include <asm-generic/param.h>
#endif /* _M68K_PARAM_H */
@@ -0,0 +1,10 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef __m68k_POLL_H
#define __m68k_POLL_H
#define POLLWRNORM POLLOUT
#define POLLWRBAND 256
#include <asm-generic/poll.h>
#endif
@@ -0,0 +1,26 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef __ARCH_M68K_POSIX_TYPES_H
#define __ARCH_M68K_POSIX_TYPES_H
/*
* This file is generally used by user-level software, so you need to
* be a little careful about namespace pollution etc. Also, we cannot
* assume GCC is being used.
*/
typedef unsigned short __kernel_mode_t;
#define __kernel_mode_t __kernel_mode_t
typedef unsigned short __kernel_ipc_pid_t;
#define __kernel_ipc_pid_t __kernel_ipc_pid_t
typedef unsigned short __kernel_uid_t;
typedef unsigned short __kernel_gid_t;
#define __kernel_uid_t __kernel_uid_t
typedef unsigned short __kernel_old_dev_t;
#define __kernel_old_dev_t __kernel_old_dev_t
#include <asm-generic/posix_types.h>
#endif
@@ -0,0 +1,85 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef _UAPI_M68K_PTRACE_H
#define _UAPI_M68K_PTRACE_H
#define PT_D1 0
#define PT_D2 1
#define PT_D3 2
#define PT_D4 3
#define PT_D5 4
#define PT_D6 5
#define PT_D7 6
#define PT_A0 7
#define PT_A1 8
#define PT_A2 9
#define PT_A3 10
#define PT_A4 11
#define PT_A5 12
#define PT_A6 13
#define PT_D0 14
#define PT_USP 15
#define PT_ORIG_D0 16
#define PT_SR 17
#define PT_PC 18
#ifndef __ASSEMBLER__
/* this struct defines the way the registers are stored on the
stack during a system call. */
struct pt_regs {
long d1;
long d2;
long d3;
long d4;
long d5;
long a0;
long a1;
long a2;
long d0;
long orig_d0;
long stkadj;
#ifdef __mcoldfire__
unsigned format : 4; /* frame format specifier */
unsigned vector : 12; /* vector offset */
unsigned short sr;
unsigned long pc;
#else
unsigned short sr;
unsigned long pc;
unsigned format : 4; /* frame format specifier */
unsigned vector : 12; /* vector offset */
#endif
};
/*
* This is the extended stack used by signal handlers and the context
* switcher: it's pushed after the normal "struct pt_regs".
*/
struct switch_stack {
unsigned long d6;
unsigned long d7;
unsigned long a3;
unsigned long a4;
unsigned long a5;
unsigned long a6;
unsigned long retpc;
};
/* Arbitrarily choose the same ptrace numbers as used by the Sparc code. */
#define PTRACE_GETREGS 12
#define PTRACE_SETREGS 13
#define PTRACE_GETFPREGS 14
#define PTRACE_SETFPREGS 15
#define PTRACE_GET_THREAD_AREA 25
#define PTRACE_GETFDPIC 31
#define PTRACE_SINGLEBLOCK 33 /* resume execution until next branch */
#define PTRACE_GETFDPIC_EXEC 0
#define PTRACE_GETFDPIC_INTERP 1
#endif /* __ASSEMBLER__ */
#endif /* _UAPI_M68K_PTRACE_H */
@@ -0,0 +1,17 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
/*
** asm/setup.h -- Definition of the Linux/m68k setup information
**
** Copyright 1992 by Greg Harp
**
** This file is subject to the terms and conditions of the GNU General Public
** License. See the file COPYING in the main directory of this archive
** for more details.
*/
#ifndef _UAPI_M68K_SETUP_H
#define _UAPI_M68K_SETUP_H
#define COMMAND_LINE_SIZE 256
#endif /* _UAPI_M68K_SETUP_H */
@@ -0,0 +1,25 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef _ASM_M68k_SIGCONTEXT_H
#define _ASM_M68k_SIGCONTEXT_H
struct sigcontext {
unsigned long sc_mask; /* old sigmask */
unsigned long sc_usp; /* old user stack pointer */
unsigned long sc_d0;
unsigned long sc_d1;
unsigned long sc_a0;
unsigned long sc_a1;
#ifdef __uClinux__
unsigned long sc_a5;
#endif
unsigned short sc_sr;
unsigned long sc_pc;
unsigned short sc_formatvec;
#ifndef __uClinux__
unsigned long sc_fpregs[2*3]; /* room for two fp registers */
unsigned long sc_fpcntl[3];
unsigned char sc_fpstate[216];
#endif
};
#endif
@@ -0,0 +1,89 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef _UAPI_M68K_SIGNAL_H
#define _UAPI_M68K_SIGNAL_H
#include <linux/types.h>
/* Avoid too many header ordering problems. */
struct siginfo;
#ifndef __KERNEL__
/* Here we must cater to libcs that poke about in kernel headers. */
#define NSIG 32
typedef unsigned long sigset_t;
#endif /* __KERNEL__ */
#define SIGHUP 1
#define SIGINT 2
#define SIGQUIT 3
#define SIGILL 4
#define SIGTRAP 5
#define SIGABRT 6
#define SIGIOT 6
#define SIGBUS 7
#define SIGFPE 8
#define SIGKILL 9
#define SIGUSR1 10
#define SIGSEGV 11
#define SIGUSR2 12
#define SIGPIPE 13
#define SIGALRM 14
#define SIGTERM 15
#define SIGSTKFLT 16
#define SIGCHLD 17
#define SIGCONT 18
#define SIGSTOP 19
#define SIGTSTP 20
#define SIGTTIN 21
#define SIGTTOU 22
#define SIGURG 23
#define SIGXCPU 24
#define SIGXFSZ 25
#define SIGVTALRM 26
#define SIGPROF 27
#define SIGWINCH 28
#define SIGIO 29
#define SIGPOLL SIGIO
/*
#define SIGLOST 29
*/
#define SIGPWR 30
#define SIGSYS 31
#define SIGUNUSED 31
/* These should not be considered constants from userland. */
#define SIGRTMIN 32
#define SIGRTMAX _NSIG
#define MINSIGSTKSZ 2048
#define SIGSTKSZ 8192
#include <asm-generic/signal-defs.h>
#ifndef __KERNEL__
/* Here we must cater to libcs that poke about in kernel headers. */
struct sigaction {
union {
__sighandler_t _sa_handler;
void (*_sa_sigaction)(int, struct siginfo *, void *);
} _u;
sigset_t sa_mask;
unsigned long sa_flags;
void (*sa_restorer)(void);
};
#define sa_handler _u._sa_handler
#define sa_sigaction _u._sa_sigaction
#endif /* __KERNEL__ */
typedef struct sigaltstack {
void __user *ss_sp;
int ss_flags;
__kernel_size_t ss_size;
} stack_t;
#endif /* _UAPI_M68K_SIGNAL_H */
@@ -0,0 +1,78 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef _M68K_STAT_H
#define _M68K_STAT_H
struct __old_kernel_stat {
unsigned short st_dev;
unsigned short st_ino;
unsigned short st_mode;
unsigned short st_nlink;
unsigned short st_uid;
unsigned short st_gid;
unsigned short st_rdev;
unsigned long st_size;
unsigned long st_atime;
unsigned long st_mtime;
unsigned long st_ctime;
};
struct stat {
unsigned short st_dev;
unsigned short __pad1;
unsigned long st_ino;
unsigned short st_mode;
unsigned short st_nlink;
unsigned short st_uid;
unsigned short st_gid;
unsigned short st_rdev;
unsigned short __pad2;
unsigned long st_size;
unsigned long st_blksize;
unsigned long st_blocks;
unsigned long st_atime;
unsigned long __unused1;
unsigned long st_mtime;
unsigned long __unused2;
unsigned long st_ctime;
unsigned long __unused3;
unsigned long __unused4;
unsigned long __unused5;
};
/* This matches struct stat64 in glibc2.1, hence the absolutely
* insane amounts of padding around dev_t's.
*/
struct stat64 {
unsigned long long st_dev;
unsigned char __pad1[2];
#define STAT64_HAS_BROKEN_ST_INO 1
unsigned long __st_ino;
unsigned int st_mode;
unsigned int st_nlink;
unsigned long st_uid;
unsigned long st_gid;
unsigned long long st_rdev;
unsigned char __pad3[2];
long long st_size;
unsigned long st_blksize;
unsigned long long st_blocks; /* Number 512-byte blocks allocated. */
unsigned long st_atime;
unsigned long st_atime_nsec;
unsigned long st_mtime;
unsigned long st_mtime_nsec;
unsigned long st_ctime;
unsigned long st_ctime_nsec;
unsigned long long st_ino;
};
#endif /* _M68K_STAT_H */
@@ -0,0 +1,28 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef _M68K_SWAB_H
#define _M68K_SWAB_H
#include <linux/types.h>
#include <linux/compiler.h>
#define __SWAB_64_THRU_32__
#if defined (__mcfisaaplus__) || defined (__mcfisac__)
static inline __attribute_const__ __u32 __arch_swab32(__u32 val)
{
__asm__("byterev %0" : "=d" (val) : "0" (val));
return val;
}
#define __arch_swab32 __arch_swab32
#elif !defined(__mcoldfire__)
static inline __attribute_const__ __u32 __arch_swab32(__u32 val)
{
__asm__("rolw #8,%0; swap %0; rolw #8,%0" : "=d" (val) : "0" (val));
return val;
}
#define __arch_swab32 __arch_swab32
#endif
#endif /* _M68K_SWAB_H */
@@ -0,0 +1,34 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef _M68K_UCONTEXT_H
#define _M68K_UCONTEXT_H
#include <asm/sigcontext.h>
#include <asm/signal.h>
typedef int greg_t;
#define NGREG 18
typedef greg_t gregset_t[NGREG];
typedef struct fpregset {
int f_fpcntl[3];
int f_fpregs[8*3];
} fpregset_t;
struct mcontext {
int version;
gregset_t gregs;
fpregset_t fpregs;
};
#define MCONTEXT_VERSION 2
struct ucontext {
unsigned long uc_flags;
struct ucontext *uc_link;
stack_t uc_stack;
struct mcontext uc_mcontext;
unsigned long uc_filler[80];
sigset_t uc_sigmask; /* mask last for extensibility */
};
#endif
@@ -0,0 +1,7 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef _UAPI_ASM_M68K_UNISTD_H_
#define _UAPI_ASM_M68K_UNISTD_H_
#include <asm/unistd_32.h>
#endif /* _UAPI_ASM_M68K_UNISTD_H_ */