qemu/include/hw/display/macfb.h
<<
>>
Prefs
   1/*
   2 * QEMU Motorola 680x0 Macintosh Video Card Emulation
   3 *                 Copyright (c) 2012-2018 Laurent Vivier
   4 *
   5 * some parts from QEMU G364 framebuffer Emulator.
   6 *                 Copyright (c) 2007-2011 Herve Poussineau
   7 *
   8 * This work is licensed under the terms of the GNU GPL, version 2 or later.
   9 * See the COPYING file in the top-level directory.
  10 *
  11 */
  12
  13#ifndef MACFB_H
  14#define MACFB_H
  15
  16#include "exec/memory.h"
  17#include "ui/console.h"
  18#include "qom/object.h"
  19
  20typedef struct MacfbState {
  21    MemoryRegion mem_vram;
  22    MemoryRegion mem_ctrl;
  23    QemuConsole *con;
  24
  25    uint8_t *vram;
  26    uint32_t vram_bit_mask;
  27    uint32_t palette_current;
  28    uint8_t color_palette[256 * 3];
  29    uint32_t width, height; /* in pixels */
  30    uint8_t depth;
  31} MacfbState;
  32
  33#define TYPE_MACFB "sysbus-macfb"
  34OBJECT_DECLARE_SIMPLE_TYPE(MacfbSysBusState, MACFB)
  35
  36struct MacfbSysBusState {
  37    SysBusDevice busdev;
  38
  39    MacfbState macfb;
  40};
  41
  42#define TYPE_NUBUS_MACFB "nubus-macfb"
  43OBJECT_DECLARE_TYPE(MacfbNubusState, MacfbNubusDeviceClass, NUBUS_MACFB)
  44
  45struct MacfbNubusDeviceClass {
  46    DeviceClass parent_class;
  47
  48    DeviceRealize parent_realize;
  49};
  50
  51
  52struct MacfbNubusState {
  53    NubusDevice busdev;
  54
  55    MacfbState macfb;
  56};
  57
  58#endif
  59