qemu

FORK: QEMU emulator
git clone https://git.neptards.moe/neptards/qemu.git
Log | Files | Refs | Submodules | LICENSE

aspeed_sbc.h (1086B)


      1 /*
      2  * ASPEED Secure Boot Controller
      3  *
      4  * Copyright (C) 2021-2022 IBM Corp.
      5  *
      6  * SPDX-License-Identifier: GPL-2.0-or-later
      7  */
      8 
      9 #ifndef ASPEED_SBC_H
     10 #define ASPEED_SBC_H
     11 
     12 #include "hw/sysbus.h"
     13 
     14 #define TYPE_ASPEED_SBC "aspeed.sbc"
     15 #define TYPE_ASPEED_AST2600_SBC TYPE_ASPEED_SBC "-ast2600"
     16 OBJECT_DECLARE_TYPE(AspeedSBCState, AspeedSBCClass, ASPEED_SBC)
     17 
     18 #define ASPEED_SBC_NR_REGS (0x93c >> 2)
     19 
     20 #define QSR_AES                     BIT(27)
     21 #define QSR_RSA1024                 (0x0 << 12)
     22 #define QSR_RSA2048                 (0x1 << 12)
     23 #define QSR_RSA3072                 (0x2 << 12)
     24 #define QSR_RSA4096                 (0x3 << 12)
     25 #define QSR_SHA224                  (0x0 << 10)
     26 #define QSR_SHA256                  (0x1 << 10)
     27 #define QSR_SHA384                  (0x2 << 10)
     28 #define QSR_SHA512                  (0x3 << 10)
     29 
     30 struct AspeedSBCState {
     31     SysBusDevice parent;
     32 
     33     bool emmc_abr;
     34     uint32_t signing_settings;
     35 
     36     MemoryRegion iomem;
     37 
     38     uint32_t regs[ASPEED_SBC_NR_REGS];
     39 };
     40 
     41 struct AspeedSBCClass {
     42     SysBusDeviceClass parent_class;
     43 };
     44 
     45 #endif /* ASPEED_SBC_H */