cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

mac_oss.h (1873B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/*
      3 *	OSS
      4 *
      5 *	This is used in place of VIA2 on the IIfx.
      6 */
      7
      8#define OSS_BASE	(0x50f1a000)
      9
     10/*
     11 * Interrupt level offsets for mac_oss->irq_level
     12 */
     13
     14#define OSS_NUBUS0	0
     15#define OSS_NUBUS1	1
     16#define OSS_NUBUS2	2
     17#define OSS_NUBUS3	3
     18#define OSS_NUBUS4	4
     19#define OSS_NUBUS5	5
     20#define OSS_IOPISM	6
     21#define OSS_IOPSCC	7
     22#define OSS_SOUND	8
     23#define OSS_SCSI	9
     24#define OSS_60HZ	10
     25#define OSS_VIA1	11
     26#define OSS_UNUSED1	12
     27#define OSS_UNUSED2	13
     28#define OSS_PARITY	14
     29#define OSS_UNUSED3	15
     30
     31#define OSS_NUM_SOURCES	16
     32
     33/*
     34 * Pending interrupt bits in mac_oss->irq_pending
     35 */
     36
     37#define OSS_IP_NUBUS0	0x0001
     38#define OSS_IP_NUBUS1	0x0002
     39#define OSS_IP_NUBUS2	0x0004
     40#define OSS_IP_NUBUS3	0x0008
     41#define OSS_IP_NUBUS4	0x0010
     42#define OSS_IP_NUBUS5	0x0020
     43#define OSS_IP_IOPISM	0x0040
     44#define OSS_IP_IOPSCC	0x0080
     45#define OSS_IP_SOUND	0x0100
     46#define OSS_IP_SCSI	0x0200
     47#define OSS_IP_60HZ	0x0400
     48#define OSS_IP_VIA1	0x0800
     49#define OSS_IP_UNUSED1	0x1000
     50#define OSS_IP_UNUSED2	0x2000
     51#define OSS_IP_PARITY	0x4000
     52#define OSS_IP_UNUSED3	0x8000
     53
     54#define OSS_IP_NUBUS (OSS_IP_NUBUS0|OSS_IP_NUBUS1|OSS_IP_NUBUS2|OSS_IP_NUBUS3|OSS_IP_NUBUS4|OSS_IP_NUBUS5)
     55
     56/*
     57 * Rom Control Register
     58 */
     59
     60#define OSS_POWEROFF	0x80
     61
     62#ifndef __ASSEMBLY__
     63
     64struct mac_oss {
     65    __u8  irq_level[0x10];	/* [0x000-0x00f] Interrupt levels */
     66    __u8  padding0[0x1F2];	/* [0x010-0x201] IO space filler */
     67    __u16 irq_pending;		/* [0x202-0x203] pending interrupts bits */
     68    __u8  rom_ctrl;		/* [0x204-0x204] ROM cntl reg (for poweroff) */
     69    __u8  padding1[0x2];	/* [0x205-0x206] currently unused by A/UX */
     70    __u8  ack_60hz;		/* [0x207-0x207] 60 Hz ack. */
     71};
     72
     73extern volatile struct mac_oss *oss;
     74extern int oss_present;
     75
     76extern void oss_register_interrupts(void);
     77extern void oss_irq_enable(int);
     78extern void oss_irq_disable(int);
     79
     80#endif /* __ASSEMBLY__ */