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

inftl-user.h (1644B)


      1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
      2/*
      3 * Parts of INFTL headers shared with userspace
      4 *
      5 */
      6
      7#ifndef __MTD_INFTL_USER_H__
      8#define __MTD_INFTL_USER_H__
      9
     10#include <linux/types.h>
     11
     12#define	OSAK_VERSION	0x5120
     13#define	PERCENTUSED	98
     14
     15#define	SECTORSIZE	512
     16
     17/* Block Control Information */
     18
     19struct inftl_bci {
     20	__u8 ECCsig[6];
     21	__u8 Status;
     22	__u8 Status1;
     23} __attribute__((packed));
     24
     25struct inftl_unithead1 {
     26	__u16 virtualUnitNo;
     27	__u16 prevUnitNo;
     28	__u8 ANAC;
     29	__u8 NACs;
     30	__u8 parityPerField;
     31	__u8 discarded;
     32} __attribute__((packed));
     33
     34struct inftl_unithead2 {
     35	__u8 parityPerField;
     36	__u8 ANAC;
     37	__u16 prevUnitNo;
     38	__u16 virtualUnitNo;
     39	__u8 NACs;
     40	__u8 discarded;
     41} __attribute__((packed));
     42
     43struct inftl_unittail {
     44	__u8 Reserved[4];
     45	__u16 EraseMark;
     46	__u16 EraseMark1;
     47} __attribute__((packed));
     48
     49union inftl_uci {
     50	struct inftl_unithead1 a;
     51	struct inftl_unithead2 b;
     52	struct inftl_unittail c;
     53};
     54
     55struct inftl_oob {
     56	struct inftl_bci b;
     57	union inftl_uci u;
     58};
     59
     60
     61/* INFTL Media Header */
     62
     63struct INFTLPartition {
     64	__u32 virtualUnits;
     65	__u32 firstUnit;
     66	__u32 lastUnit;
     67	__u32 flags;
     68	__u32 spareUnits;
     69	__u32 Reserved0;
     70	__u32 Reserved1;
     71} __attribute__((packed));
     72
     73struct INFTLMediaHeader {
     74	char bootRecordID[8];
     75	__u32 NoOfBootImageBlocks;
     76	__u32 NoOfBinaryPartitions;
     77	__u32 NoOfBDTLPartitions;
     78	__u32 BlockMultiplierBits;
     79	__u32 FormatFlags;
     80	__u32 OsakVersion;
     81	__u32 PercentUsed;
     82	struct INFTLPartition Partitions[4];
     83} __attribute__((packed));
     84
     85/* Partition flag types */
     86#define	INFTL_BINARY	0x20000000
     87#define	INFTL_BDTL	0x40000000
     88#define	INFTL_LAST	0x80000000
     89
     90#endif /* __MTD_INFTL_USER_H__ */
     91
     92