15 #define MAX_LIVE_BLOCKS 8 16 #define FLASH_BLK_SIZE 512 18 #define FLASH_BLOCK_FREE 0 19 #define FLASH_BLOCK_CLEAN 1 20 #define FLASH_BLOCK_DIRTY 2 23 #define CFE_MIN_BLOCK 0x0000 24 #define CFE_MAX_BLOCK 0x01FF 25 #define KERNEL_MIN_BLOCK 0x0200 26 #define KERNEL_MAX_BLOCK 0x03FF 27 #define NVRAM_MIN_BLOCK 0x1FC0 28 #define NVRAM_MAX_BLOCK 0x1FFF 31 #define FLASH_BLOCK_SIZE 0x0000 32 #define FLASH_N_BLOCKS 0x0001 33 #define FLASH_SYNC 0x0002 36 #define FLASH_WIDEMODE 1 40 #define TRX_MAGIC 0x30524448 102 #define CFI_PUT_8(addr,offset,cmd) \ 103 *((volatile unsigned char *)((addr)+((offset)<<FLASH_WIDEMODE)))=(cmd) 104 #define CFI_GET_8(addr,offset) \ 105 *((volatile unsigned char *)((addr)+((offset)<<FLASH_WIDEMODE))) 108 #define CFI_QUERY_ADDR 0x55 109 #define CFI_QUERY_MODE 0x98 110 #define CFI_QUERY_EXIT 0xFF 112 #define CFI_MANUFACTURER 0x00 113 #define CFI_DEVICE 0x01 114 #define CFI_SIGNATURE 0x10 115 #define CFI_QUERY_STRING 0x10 116 #define CFI_COMMAND_SET 0x13 117 #define CFI_DEV_SIZE 0x27 118 #define CFI_DEV_INTERFACE 0x28 119 #define CFI_MAX_BUFFER 0x2A 120 #define CFI_REGION_COUNT 0x2C 121 #define CFI_REGION_TAB 0x2D 124 #define FLASH_INTEL_ECS 0x0001 125 #define FLASH_AMD_SCS 0x0002 126 #define FLASH_INTEL_SCS 0x0003 127 #define FLASH_AMD_ECS 0x0004 128 #define FLASH_MTSU_SCS 0x0100 129 #define FLASH_MTSU_ECS 0x0101 136 #define INTEL_PUT_8(addr,byte) \ 137 *((volatile unsigned char *)((unsigned int)(addr)))=(byte) 138 #define INTEL_GET_8(addr) \ 139 *((volatile unsigned char *)((unsigned int)(addr))) 142 #define AMD_PUT_8(addr,byte) \ 143 *((volatile unsigned char *)((unsigned int)(addr)))=(byte) 144 #define AMD_GET_8(addr) \ 145 *((volatile unsigned char *)((unsigned int)(addr))) 148 #define INTEL_PUT_16(addr,word) \ 149 *((volatile unsigned int16 *)((unsigned int)(addr)))=(word) 150 #define INTEL_GET_16(addr) \ 151 *((volatile unsigned int16 *)((unsigned int)(addr))) 154 #define AMD_PUT_16(addr,word) \ 155 *((volatile unsigned int16 *)((unsigned int)(addr)))=(word) 156 #define AMD_GET_16(addr) \ 157 *((volatile unsigned int16 *)((unsigned int)(addr))) 161 #define INTEL_READ 0xFF 162 #define INTEL_PROGRAM 0x40 163 #define INTEL_ERASE 0x20 164 #define INTEL_CONFIRM 0xD0 165 #define INTEL_RESUME 0xD0 166 #define INTEL_UNLOCK 0xD0 167 #define INTEL_SUSPEND 0xB0 168 #define INTEL_READ_SR 0x70 169 #define INTEL_CLR_SR 0x50 170 #define INTEL_READ_ID 0x90 171 #define INTEL_BLOCKMOD 0x60 172 #define INTEL_LOCK 0x01 173 #define INTEL_LOCKDOWN 0x2F 176 #define AMD_UNLOCK_CYCLE1 0xAA 177 #define AMD_UNLOCK_CYCLE2 0x55 178 #define AMD_ERASE_CYCLE3 0x80 179 #define AMD_ERASE_CYCLE6 0x30 180 #define AMD_PROGRAM_CYCLE3 0xA0 181 #define AMD_RESET 0xF0 182 #define AMD_READ 0xFF 183 #define AMD_BLOCKMOD 0x60 184 #define AMD_LOCK 0x01 185 #define AMD_CLR_SR 0x50 188 #define AMD_REG_CYCLE1 0x555 189 #define AMD_REG_CYCLE2 0x2AA 190 #define AMD_SR_WSMS 0x001 193 #define INTEL_SR_WSMS 7 194 #define INTEL_SR_ESS 6 195 #define INTEL_SR_ES 5 196 #define INTEL_SR_PS 4 197 #define INTEL_SR_PSS 2 198 #define INTEL_SR_BLS 1 201 #define INTEL_ID_MFG 0x00 202 #define INTEL_ID_DEV 0x02 203 #define INTEL_ID_BLS 0x04 206 #define INTEL_S_LOCK 0x01 207 #define INTEL_H_LOCK 0x02 210 #define AMD_S_LOCK 0x01 211 #define AMD_H_LOCK 0x02 214 #define FLASH_BLOCK 0x00 215 #define FLASH_LOGBLOCK 0x01 218 #define FLASH_STATUS 0x0000 219 #define FLASH_MODE 0x0001 220 #define FLASH_LOCKED 0x0010 221 #define FLASH_LOCK 0x0011 222 #define FLASH_UNLOCK 0x0012 223 #define FLASH_LOCKDOWN 0x0013 224 #define FLASH_ERASE_PREP 0x0014 225 #define FLASH_RESET 0x0015 devcall physicalIntelRead(struct flash *, struct flash_block *)
unsigned char byte
符号なし8ビット値(unsigned char)
devcall physicalAMDRead(struct flash *, struct flash_block *)
devcall physicalIntelControl(struct flash *, struct flash_block *, byte, uint32)
devcall flashSeek(struct dentry *, uint32)
devcall flashOpen(struct dentry *, va_list)
devcall flashInit(struct dentry *)
struct flash_block bad_block
devcall physicalIntelWrite(struct flash *, struct flash_block *)
devcall logicalRead(struct flash *, byte *, uint32)
devcall flashClose(struct dentry *)
struct flash_block logicalMap(struct flash *, uint32)
devcall flashWrite(struct dentry *, byte *, uint32)
devcall physicalControl(struct flash *, struct flash_block *, byte, uint32)
int int32
符号あり32ビット整数(int)
devcall flashRead(struct dentry *, byte *, uint32)
unsigned short uint16
符号なし16ビット整数(unsigned short)
bool validateTrx(struct file *)
devcall physicalIntelErase(struct flash *, struct flash_block *)
__builtin_va_list va_list
可変個の実引数を扱うための情報を保持するための型(__builtin_va_listはGCCに定義された型) ...
int32 syscall
システムコール関数 返り値の型
devcall logicalWrite(struct flash *, byte *, uint32)
devcall physicalErase(struct flash *, struct flash_block *)
devcall flashControl(struct dentry *, uint16, int32, int32)
devcall physicalWrite(struct flash *, struct flash_block *)
unsigned int uint32
符号なし32ビット整数(unsigned int)
int32 devcall
デバイスコール関数 返り値の型
syscall freeFile(struct file *)
devcall physicalRead(struct flash *, struct flash_block *)
syscall printFileStats(struct file *, char *, char *, int, int)