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

cycx_cfm.h (2990B)


      1/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
      2/*
      3* cycx_cfm.h	Cyclom 2X WAN Link Driver.
      4*		Definitions for the Cyclom 2X Firmware Module (CFM).
      5*
      6* Author:	Arnaldo Carvalho de Melo <acme@conectiva.com.br>
      7*
      8* Copyright:	(c) 1998-2003 Arnaldo Carvalho de Melo
      9*
     10* Based on sdlasfm.h by Gene Kozin <74604.152@compuserve.com>
     11*
     12*		This program is free software; you can redistribute it and/or
     13*		modify it under the terms of the GNU General Public License
     14*		as published by the Free Software Foundation; either version
     15*		2 of the License, or (at your option) any later version.
     16* ============================================================================
     17* 1998/08/08	acme		Initial version.
     18*/
     19#ifndef	_CYCX_CFM_H
     20#define	_CYCX_CFM_H
     21
     22/* Defines */
     23
     24#define	CFM_VERSION	2
     25#define	CFM_SIGNATURE	"CFM - Cyclades CYCX Firmware Module"
     26
     27/* min/max */
     28#define	CFM_IMAGE_SIZE	0x20000	/* max size of CYCX code image file */
     29#define	CFM_DESCR_LEN	256	/* max length of description string */
     30#define	CFM_MAX_CYCX	1	/* max number of compatible adapters */
     31#define	CFM_LOAD_BUFSZ	0x400	/* buffer size for reset code (buffer_load) */
     32
     33/* Firmware Commands */
     34#define GEN_POWER_ON	0x1280
     35
     36#define GEN_SET_SEG	0x1401	/* boot segment setting. */
     37#define GEN_BOOT_DAT	0x1402	/* boot data. */
     38#define GEN_START	0x1403	/* board start. */
     39#define GEN_DEFPAR	0x1404	/* buffer length for boot. */
     40
     41/* Adapter Types */
     42#define CYCX_2X		2
     43/* for now only the 2X is supported, no plans to support 8X or 16X */
     44#define CYCX_8X		8
     45#define CYCX_16X	16
     46
     47#define	CFID_X25_2X	5200
     48
     49/**
     50 *	struct cycx_fw_info - firmware module information.
     51 *	@codeid - firmware ID
     52 *	@version - firmware version number
     53 *	@adapter - compatible adapter types
     54 *	@memsize - minimum memory size
     55 *	@reserved - reserved
     56 *	@startoffs - entry point offset
     57 *	@winoffs - dual-port memory window offset
     58 *	@codeoffs - code load offset
     59 *	@codesize - code size
     60 *	@dataoffs - configuration data load offset
     61 *	@datasize - configuration data size
     62 */
     63struct cycx_fw_info {
     64	unsigned short	codeid;
     65	unsigned short	version;
     66	unsigned short	adapter[CFM_MAX_CYCX];
     67	unsigned long	memsize;
     68	unsigned short	reserved[2];
     69	unsigned short	startoffs;
     70	unsigned short	winoffs;
     71	unsigned short	codeoffs;
     72	unsigned long	codesize;
     73	unsigned short	dataoffs;
     74	unsigned long	datasize;
     75};
     76
     77/**
     78 *	struct cycx_firmware - CYCX firmware file structure
     79 *	@signature - CFM file signature
     80 *	@version - file format version
     81 *	@checksum - info + image
     82 *	@reserved - reserved
     83 *	@descr - description string
     84 *	@info - firmware module info
     85 *	@image - code image (variable size)
     86 */
     87struct cycx_firmware {
     88	char		    signature[80];
     89	unsigned short	    version;
     90	unsigned short	    checksum;
     91	unsigned short	    reserved[6];
     92	char		    descr[CFM_DESCR_LEN];
     93	struct cycx_fw_info info;
     94	unsigned char	    image[0];
     95};
     96
     97struct cycx_fw_header {
     98	unsigned long  reset_size;
     99	unsigned long  data_size;
    100	unsigned long  code_size;
    101};
    102#endif	/* _CYCX_CFM_H */