diff options
author | 2017-04-25 03:31:15 -0700 | |
---|---|---|
committer | 2017-05-22 06:48:08 +0000 | |
commit | bb756eebdac6fd24e8919e2c43f7d2c8c4091f59 (patch) | |
tree | ca11e03542edf2d8f631efeca5e1626d211107e3 /qemu/roms/u-boot/tools/mxsimage.h | |
parent | a14b48d18a9ed03ec191cf16b162206998a895ce (diff) |
Adding qemu as a submodule of KVMFORNFV
This Patch includes the changes to add qemu as a submodule to
kvmfornfv repo and make use of the updated latest qemu for the
execution of all testcase
Change-Id: I1280af507a857675c7f81d30c95255635667bdd7
Signed-off-by:RajithaY<rajithax.yerrumsetty@intel.com>
Diffstat (limited to 'qemu/roms/u-boot/tools/mxsimage.h')
-rw-r--r-- | qemu/roms/u-boot/tools/mxsimage.h | 230 |
1 files changed, 0 insertions, 230 deletions
diff --git a/qemu/roms/u-boot/tools/mxsimage.h b/qemu/roms/u-boot/tools/mxsimage.h deleted file mode 100644 index 6cd59d2db..000000000 --- a/qemu/roms/u-boot/tools/mxsimage.h +++ /dev/null @@ -1,230 +0,0 @@ -/* - * Freescale i.MX28 SB image generator - * - * Copyright (C) 2012 Marek Vasut <marex@denx.de> - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifndef __MXSSB_H__ -#define __MXSSB_H__ - -#include <stdint.h> -#include <arpa/inet.h> - -#define SB_BLOCK_SIZE 16 - -#define roundup(x, y) ((((x) + ((y) - 1)) / (y)) * (y)) -#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) - -struct sb_boot_image_version { - uint16_t major; - uint16_t pad0; - uint16_t minor; - uint16_t pad1; - uint16_t revision; - uint16_t pad2; -}; - -struct sb_boot_image_header { - union { - /* SHA1 of the header. */ - uint8_t digest[20]; - struct { - /* CBC-MAC initialization vector. */ - uint8_t iv[16]; - uint8_t extra[4]; - }; - }; - /* 'STMP' */ - uint8_t signature1[4]; - /* Major version of the image format. */ - uint8_t major_version; - /* Minor version of the image format. */ - uint8_t minor_version; - /* Flags associated with the image. */ - uint16_t flags; - /* Size of the image in 16b blocks. */ - uint32_t image_blocks; - /* Offset of the first tag in 16b blocks. */ - uint32_t first_boot_tag_block; - /* ID of the section to boot from. */ - uint32_t first_boot_section_id; - /* Amount of crypto keys. */ - uint16_t key_count; - /* Offset to the key dictionary in 16b blocks. */ - uint16_t key_dictionary_block; - /* Size of this header in 16b blocks. */ - uint16_t header_blocks; - /* Amount of section headers. */ - uint16_t section_count; - /* Section header size in 16b blocks. */ - uint16_t section_header_size; - /* Padding to align timestamp to uint64_t. */ - uint8_t padding0[2]; - /* 'sgtl' (since v1.1) */ - uint8_t signature2[4]; - /* Image generation date, in microseconds since 1.1.2000 . */ - uint64_t timestamp_us; - /* Product version. */ - struct sb_boot_image_version - product_version; - /* Component version. */ - struct sb_boot_image_version - component_version; - /* Drive tag for the system drive. (since v1.1) */ - uint16_t drive_tag; - /* Padding. */ - uint8_t padding1[6]; -}; - -#define SB_VERSION_MAJOR 1 -#define SB_VERSION_MINOR 1 - -/* Enable to HTLLC verbose boot report. */ -#define SB_IMAGE_FLAG_VERBOSE (1 << 0) - -struct sb_key_dictionary_key { - /* The CBC-MAC of image and sections header. */ - uint8_t cbc_mac[SB_BLOCK_SIZE]; - /* The AES key encrypted by image key (zero). */ - uint8_t key[SB_BLOCK_SIZE]; -}; - -struct sb_ivt_header { - uint32_t header; - uint32_t entry; - uint32_t reserved1; - uint32_t dcd; - uint32_t boot_data; - uint32_t self; - uint32_t csf; - uint32_t reserved2; -}; - -#define SB_HAB_IVT_TAG 0xd1UL -#define SB_HAB_DCD_TAG 0xd2UL - -#define SB_HAB_VERSION 0x40UL - -/* - * The "size" field in the IVT header is not naturally aligned, - * use this macro to fill first 4 bytes of the IVT header without - * causing issues on some systems (esp. M68k, PPC, MIPS-BE, ARM-BE). - */ -static inline uint32_t sb_hab_ivt_header(void) -{ - uint32_t ret = 0; - ret |= SB_HAB_IVT_TAG << 24; - ret |= sizeof(struct sb_ivt_header) << 16; - ret |= SB_HAB_VERSION; - return htonl(ret); -} - -struct sb_sections_header { - /* Section number. */ - uint32_t section_number; - /* Offset of this sections first instruction after "TAG". */ - uint32_t section_offset; - /* Size of the section in 16b blocks. */ - uint32_t section_size; - /* Section flags. */ - uint32_t section_flags; -}; - -#define SB_SECTION_FLAG_BOOTABLE (1 << 0) - -struct sb_command { - struct { - uint8_t checksum; - uint8_t tag; - uint16_t flags; -#define ROM_TAG_CMD_FLAG_ROM_LAST_TAG 0x1 -#define ROM_LOAD_CMD_FLAG_DCD_LOAD 0x1 /* MX28 only */ -#define ROM_JUMP_CMD_FLAG_HAB 0x1 /* MX28 only */ -#define ROM_CALL_CMD_FLAG_HAB 0x1 /* MX28 only */ - } header; - - union { - struct { - uint32_t reserved[3]; - } nop; - struct { - uint32_t section_number; - uint32_t section_length; - uint32_t section_flags; - } tag; - struct { - uint32_t address; - uint32_t count; - uint32_t crc32; - } load; - struct { - uint32_t address; - uint32_t count; - uint32_t pattern; - } fill; - struct { - uint32_t address; - uint32_t reserved; - /* Passed in register r0 before JUMP */ - uint32_t argument; - } jump; - struct { - uint32_t address; - uint32_t reserved; - /* Passed in register r0 before CALL */ - uint32_t argument; - } call; - struct { - uint32_t reserved1; - uint32_t reserved2; - uint32_t mode; - } mode; - - }; -}; - -/* - * Most of the mode names are same or at least similar - * on i.MX23 and i.MX28, but some of the mode names - * differ. The "name" field represents the mode name - * on i.MX28 as seen in Table 12-2 of the datasheet. - * The "altname" field represents the differently named - * fields on i.MX23 as seen in Table 35-3 of the - * datasheet. - */ -static const struct { - const char *name; - const char *altname; - const uint8_t mode; -} modetable[] = { - { "USB", NULL, 0x00 }, - { "I2C", NULL, 0x01 }, - { "SPI2_FLASH", "SPI1_FLASH", 0x02 }, - { "SPI3_FLASH", "SPI2_FLASH", 0x03 }, - { "NAND_BCH", NULL, 0x04 }, - { "JTAG", NULL, 0x06 }, - { "SPI3_EEPROM", "SPI2_EEPROM", 0x08 }, - { "SD_SSP0", NULL, 0x09 }, - { "SD_SSP1", NULL, 0x0A } -}; - -enum sb_tag { - ROM_NOP_CMD = 0x00, - ROM_TAG_CMD = 0x01, - ROM_LOAD_CMD = 0x02, - ROM_FILL_CMD = 0x03, - ROM_JUMP_CMD = 0x04, - ROM_CALL_CMD = 0x05, - ROM_MODE_CMD = 0x06 -}; - -struct sb_source_entry { - uint8_t tag; - uint32_t address; - uint32_t flags; - char *filename; -}; - -#endif /* __MXSSB_H__ */ |