qemu/include/hw/misc/allwinner-sid.h
<<
>>
Prefs
   1/*
   2 * Allwinner Security ID emulation
   3 *
   4 * Copyright (C) 2019 Niek Linnenbank <nieklinnenbank@gmail.com>
   5 *
   6 * This program is free software: you can redistribute it and/or modify
   7 * it under the terms of the GNU General Public License as published by
   8 * the Free Software Foundation, either version 2 of the License, or
   9 * (at your option) any later version.
  10 *
  11 * This program is distributed in the hope that it will be useful,
  12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14 * GNU General Public License for more details.
  15 *
  16 * You should have received a copy of the GNU General Public License
  17 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  18 */
  19
  20#ifndef HW_MISC_ALLWINNER_SID_H
  21#define HW_MISC_ALLWINNER_SID_H
  22
  23#include "qom/object.h"
  24#include "hw/sysbus.h"
  25#include "qemu/uuid.h"
  26
  27/**
  28 * Object model
  29 * @{
  30 */
  31
  32#define TYPE_AW_SID    "allwinner-sid"
  33OBJECT_DECLARE_SIMPLE_TYPE(AwSidState, AW_SID)
  34
  35/** @} */
  36
  37/**
  38 * Allwinner Security ID object instance state
  39 */
  40struct AwSidState {
  41    /*< private >*/
  42    SysBusDevice parent_obj;
  43    /*< public >*/
  44
  45    /** Maps I/O registers in physical memory */
  46    MemoryRegion iomem;
  47
  48    /** Control register defines how and what to read */
  49    uint32_t control;
  50
  51    /** RdKey register contains the data retrieved by the device */
  52    uint32_t rdkey;
  53
  54    /** Stores the emulated device identifier */
  55    QemuUUID identifier;
  56
  57};
  58
  59#endif /* HW_MISC_ALLWINNER_SID_H */
  60