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

targethw.h (3164B)


      1/* SPDX-License-Identifier: GPL-2.0-or-later */
      2/******************************************************************************
      3 *
      4 *	(C)Copyright 1998,1999 SysKonnect,
      5 *	a business unit of Schneider & Koch & Co. Datensysteme GmbH.
      6 *
      7 *	The information in this file is provided "AS IS" without warranty.
      8 *
      9 ******************************************************************************/
     10
     11#ifndef	_TARGETHW_
     12#define _TARGETHW_
     13
     14	/*
     15	 *  PCI Watermark definition
     16	 */
     17#ifdef	PCI
     18#define	RX_WATERMARK	24
     19#define TX_WATERMARK	24
     20#define SK_ML_ID_1	0x20
     21#define SK_ML_ID_2	0x30
     22#endif
     23
     24#include	"skfbi.h"
     25#ifndef TAG_MODE	
     26#include	"fplus.h"
     27#else
     28#include	"fplustm.h"
     29#endif
     30
     31#ifndef	HW_PTR
     32#define HW_PTR  void __iomem *
     33#endif
     34
     35#ifdef MULT_OEM
     36#define	OI_STAT_LAST		0	/* end of OEM data base */
     37#define	OI_STAT_PRESENT		1	/* entry present but not empty */
     38#define	OI_STAT_VALID		2	/* holds valid ID, but is not active */ 
     39#define	OI_STAT_ACTIVE		3	/* holds valid ID, entry is active */
     40					/* active = adapter is supported */
     41
     42/* Memory representation of IDs must match representation in adapter. */
     43struct	s_oem_ids {
     44	u_char	oi_status ;		/* Stat: last, present, valid, active */
     45	u_char	oi_mark[5] ;		/* "PID00" .. "PID07" ..	*/
     46	u_char 	oi_id[4] ;		/* id bytes, representation as	*/
     47					/* defined by hardware,		*/	
     48#ifdef PCI
     49	u_char 	oi_sub_id[4] ;		/* sub id bytes, representation as */
     50					/* defined by hardware,		*/
     51#endif
     52} ;
     53#endif	/* MULT_OEM */
     54
     55
     56struct s_smt_hw {
     57	/*
     58	 * global
     59	 */
     60	HW_PTR	iop ;			/* IO base address */
     61	short	dma ;			/* DMA channel */
     62	short	irq ;			/* IRQ level */
     63	short	eprom ;			/* FLASH prom */
     64
     65#ifndef SYNC
     66	u_short	n_a_send ;		/* pending send requests */
     67#endif
     68
     69#if	defined(PCI)
     70	short	slot ;			/* slot number */
     71	short   max_slots ;		/* maximum number of slots */
     72	short	wdog_used ;		/* TRUE if the watch dog is used */
     73#endif
     74
     75#ifdef	PCI
     76	u_short	pci_handle ;		/* handle to access the BIOS func */
     77	u_long	is_imask ;		/* int maske for the int source reg */
     78	u_long	phys_mem_addr ;		/* physical memory address */
     79	u_short	mc_dummy ;		/* work around for MC compiler bug */	
     80	/*
     81	 * state of the hardware
     82	 */
     83	u_short hw_state ;		/* started or stopped */
     84
     85#define	STARTED		1
     86#define	STOPPED		0
     87
     88	int	hw_is_64bit ;		/* does we have a 64 bit adapter */
     89#endif
     90
     91#ifdef	TAG_MODE
     92	u_long	pci_fix_value ;		/* value parsed by PCIFIX */
     93#endif
     94
     95	/*
     96	 * hwt.c
     97	 */
     98	u_long	t_start ;		/* HWT start */
     99	u_long	t_stop ;		/* HWT stop */
    100	u_short	timer_activ ;		/* HWT timer active */
    101
    102	/*
    103	 * PIC
    104	 */
    105	u_char	pic_a1 ;
    106	u_char	pic_21 ;
    107
    108	/*
    109	 * GENERIC ; do not modify beyond this line
    110	 */
    111
    112	/*
    113	 * physical and canonical address
    114	 */
    115	struct fddi_addr fddi_home_addr ;
    116	struct fddi_addr fddi_canon_addr ;
    117	struct fddi_addr fddi_phys_addr ;
    118
    119	/*
    120	 * mac variables
    121	 */
    122	struct mac_parameter mac_pa ;	/* tmin, tmax, tvx, treq .. */
    123	struct mac_counter mac_ct ;	/* recv., lost, error  */
    124	u_short	mac_ring_is_up ;	/* ring is up flag */
    125
    126	struct s_smt_fp	fp ;		/* formac+ */
    127
    128#ifdef MULT_OEM
    129	struct s_oem_ids *oem_id ;	/* pointer to selected id */
    130	int oem_min_status ;		/* IDs to take care of */
    131#endif	/* MULT_OEM */
    132
    133} ;
    134#endif