comparison packages/redboot/current/include/fis.h @ 306:eb332fa195ca

Add CDL control over FIS entry size - from Thomas Koeller
author gthomas
date Sat, 24 Aug 2002 11:20:54 +0000
parents d2c90368aeef
children 5c5e93c863ac
comparison
equal deleted inserted replaced
305:82c554739834 306:eb332fa195ca
41 //####ECOSGPLCOPYRIGHTEND#### 41 //####ECOSGPLCOPYRIGHTEND####
42 //========================================================================== 42 //==========================================================================
43 //#####DESCRIPTIONBEGIN#### 43 //#####DESCRIPTIONBEGIN####
44 // 44 //
45 // Author(s): gthomas 45 // Author(s): gthomas
46 // Contributors: gthomas 46 // Contributors: gthomas, tkoeller
47 // Date: 2000-07-28 47 // Date: 2000-07-28
48 // Purpose: 48 // Purpose:
49 // Description: 49 // Description:
50 // 50 //
51 // This code is part of RedBoot (tm). 51 // This code is part of RedBoot (tm).
52 // 52 //
53 //####DESCRIPTIONEND#### 53 //####DESCRIPTIONEND####
54 // 54 //
55 //========================================================================== 55 //==========================================================================
56 56
57 #include <pkgconf/redboot.h>
58 #ifdef CYGOPT_REDBOOT_FIS
59 #include <cyg/infra/cyg_type.h>
60
61 #define FIS_IMAGE_DESC_SIZE_UNPADDED \
62 (16 + 4 * sizeof(unsigned long) + 3 * sizeof(CYG_ADDRESS))
63
57 struct fis_image_desc { 64 struct fis_image_desc {
58 unsigned char name[16]; // Null terminated name 65 unsigned char name[16]; // Null terminated name
59 CYG_ADDRESS flash_base; // Address within FLASH of image 66 CYG_ADDRESS flash_base; // Address within FLASH of image
60 CYG_ADDRESS mem_base; // Address in memory where it executes 67 CYG_ADDRESS mem_base; // Address in memory where it executes
61 unsigned long size; // Length of image 68 unsigned long size; // Length of image
62 CYG_ADDRESS entry_point; // Execution entry point 69 CYG_ADDRESS entry_point; // Execution entry point
63 unsigned long data_length; // Length of actual data 70 unsigned long data_length; // Length of actual data
64 unsigned char _pad[256-(16+4*sizeof(unsigned long)+3*sizeof(CYG_ADDRESS))]; 71 unsigned char _pad[CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_SIZE-FIS_IMAGE_DESC_SIZE_UNPADDED];
65 unsigned long desc_cksum; // Checksum over image descriptor 72 unsigned long desc_cksum; // Checksum over image descriptor
66 unsigned long file_cksum; // Checksum over image data 73 unsigned long file_cksum; // Checksum over image data
67 }; 74 };
68 75
69 struct fis_image_desc *fis_lookup(char *name, int *num); 76 struct fis_image_desc *fis_lookup(char *name, int *num);
70 77
78 #endif // CYGOPT_REDBOOT_FIS
71 #endif // _FIS_H_ 79 #endif // _FIS_H_