| #include "kvm/framebuffer.h" |
| #include <linux/kernel.h> |
| static LIST_HEAD(framebuffers); |
| struct framebuffer *fb__register(struct framebuffer *fb) |
| INIT_LIST_HEAD(&fb->node); |
| list_add(&fb->node, &framebuffers); |
| int fb__attach(struct framebuffer *fb, struct fb_target_operations *ops) |
| if (fb->nr_targets >= FB_MAX_TARGETS) |
| fb->targets[fb->nr_targets++] = ops; |
| static int start_targets(struct framebuffer *fb) |
| for (i = 0; i < fb->nr_targets; i++) { |
| struct fb_target_operations *ops = fb->targets[i]; |
| int fb__init(struct kvm *kvm) |
| list_for_each_entry(fb, &framebuffers, node) { |
| int fb__exit(struct kvm *kvm) |
| list_for_each_entry(fb, &framebuffers, node) { |
| for (i = 0; i < fb->nr_targets; i++) |
| if (fb->targets[i]->stop) |
| fb->targets[i]->stop(fb); |
| munmap(fb->mem, fb->mem_size); |