blob: e3200e5b16deea5e890ea80e4271f96a7119422d [file] [log] [blame]
#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;
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 */