aboutsummaryrefslogtreecommitdiff
path: root/include/hw/display/edid.h
blob: bd51d26916a1ce8a41c39440942b4a615d9ab486 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#ifndef EDID_H
#define EDID_H

#include "hw/hw.h"

typedef struct qemu_edid_info {
    const char *vendor;
    const char *name;
    const char *serial;
    uint32_t    dpi;
    uint32_t    prefx;
    uint32_t    prefy;
    uint32_t    maxx;
    uint32_t    maxy;
} qemu_edid_info;

void qemu_edid_generate(uint8_t *edid, size_t size,
                        qemu_edid_info *info);
size_t qemu_edid_size(uint8_t *edid);
void qemu_edid_region_io(MemoryRegion *region, Object *owner,
                         uint8_t *edid, size_t size);

#define DEFINE_EDID_PROPERTIES(_state, _edid_info)              \
    DEFINE_PROP_UINT32("xres", _state, _edid_info.prefx, 0),    \
    DEFINE_PROP_UINT32("yres", _state, _edid_info.prefy, 0)

#endif /* EDID_H */