blob: c3402733953fc5d1eaf24437cc4f91f13a8eb69e [file] [log] [blame] [edit]
#ifndef KVM__FRAMEBUFFER_H
#define KVM__FRAMEBUFFER_H
#include <linux/types.h>
#include <linux/list.h>
struct framebuffer;
struct fb_target_operations {
int (*start)(struct framebuffer *fb);
int (*stop)(struct framebuffer *fb);
};
#define FB_MAX_TARGETS 2
struct framebuffer {
struct list_head node;
u32 width;
u32 height;
u8 depth;
char *mem;
u64 mem_addr;
u64 mem_size;
int mem_fd;
struct kvm *kvm;
unsigned long nr_targets;
struct fb_target_operations *targets[FB_MAX_TARGETS];
};
struct framebuffer *fb__register(struct framebuffer *fb);
int fb__attach(struct framebuffer *fb, struct fb_target_operations *ops);
int fb__init(struct kvm *kvm);
int fb__exit(struct kvm *kvm);
#endif /* KVM__FRAMEBUFFER_H */