mirror of
https://git.savannah.gnu.org/git/grub.git
synced 2026-10-22 23:32:39 +00:00
Implement XEN VFB support.
This commit is contained in:
1 parent
60d1dd3d72
commit
71669c3b76
14 files changed
+937
-9
No files matched your search
@@ -27,6 +27,8 @@
|
||||
#include <grub/i386/tsc.h>
|
||||
#include <grub/term.h>
|
||||
#include <grub/loader.h>
|
||||
#include <grub/keyboard_layouts.h>
|
||||
#include <grub/video.h>
|
||||
|
||||
grub_addr_t grub_modbase;
|
||||
struct start_info *grub_xen_start_page_addr;
|
||||
@@ -67,6 +69,7 @@ grub_xen_alloc_shared_page (domid_t dom, grub_xen_grant_t * grnum)
|
||||
ret = grub_memalign (GRUB_XEN_PAGE_SIZE, GRUB_XEN_PAGE_SIZE);
|
||||
if (!ret)
|
||||
return NULL;
|
||||
grub_memset (ret, 0, GRUB_XEN_PAGE_SIZE);
|
||||
mfn = grub_xen_ptr2mfn (ret);
|
||||
entry->full_page.pad0 = 0;
|
||||
entry->full_page.frame = mfn;
|
||||
@@ -254,6 +257,8 @@ grub_xenstore_write_file (const char *dir, const void *buf, grub_size_t len)
|
||||
grub_size_t dirlen = grub_strlen (dir) + 1;
|
||||
char *resp;
|
||||
|
||||
grub_dprintf ("xen", "writing `%s'\n", dir);
|
||||
|
||||
grub_memset (&msg, 0, sizeof (msg));
|
||||
msg.type = XS_WRITE;
|
||||
msg.len = dirlen + len;
|
||||
@@ -540,6 +545,13 @@ grub_machine_init (void)
|
||||
|
||||
map_all_pages ();
|
||||
|
||||
grub_video_xen_init ();
|
||||
grub_font_init ();
|
||||
grub_gfxterm_init ();
|
||||
|
||||
grub_keylayouts_init ();
|
||||
grub_xen_keyboard_init ();
|
||||
|
||||
grub_console_init ();
|
||||
|
||||
grub_tsc_init ();
|
||||
@@ -563,6 +575,8 @@ void
|
||||
grub_machine_fini (int flags __attribute__ ((unused)))
|
||||
{
|
||||
grub_xendisk_fini ();
|
||||
grub_video_xen_fini ();
|
||||
grub_xen_keyboard_fini ();
|
||||
grub_boot_fini ();
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user