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 "qemu/osdep.h"
  17#include "exec/memory.h"
  18#include "ui/console.h"
  19#include "qom/object.h"
  20
  21typedef struct MacfbState {
  22    MemoryRegion mem_vram;
  23    MemoryRegion mem_ctrl;
  24    QemuConsole *con;
  25
  26    uint8_t *vram;
  27    uint32_t vram_bit_mask;
  28    uint32_t palette_current;
  29    uint8_t color_palette[256 * 3];
  30    uint32_t width, height; /* in pixels */
  31    uint8_t depth;
  32} MacfbState;
  33
  34#define TYPE_MACFB "sysbus-macfb"
  35OBJECT_DECLARE_SIMPLE_TYPE(MacfbSysBusState, MACFB)
  36
  37struct MacfbSysBusState {
  38    SysBusDevice busdev;
  39
  40    MacfbState macfb;
  41};
  42
  43#define TYPE_NUBUS_MACFB "nubus-macfb"
  44OBJECT_DECLARE_TYPE(MacfbNubusState, MacfbNubusDeviceClass, NUBUS_MACFB)
  45
  46struct MacfbNubusDeviceClass {
  47    DeviceClass parent_class;
  48
  49    DeviceRealize parent_realize;
  50};
  51
  52
  53struct MacfbNubusState {
  54    NubusDevice busdev;
  55
  56    MacfbState macfb;
  57};
  58
  59#endif
  60