1 // Paravirtualization support.
3 // Copyright (C) 2009 Red Hat Inc.
6 // Gleb Natapov <gnatapov@redhat.com>
8 // This file may be distributed under the terms of the GNU LGPLv3 license.
17 qemu_cfg_select(u16 f)
19 outw(f, PORT_QEMU_CFG_CTL);
23 qemu_cfg_read(u8 *buf, int len)
26 *(buf++) = inb(PORT_QEMU_CFG_DATA);
30 qemu_cfg_read_entry(void *buf, int e, int len)
33 qemu_cfg_read(buf, len);
36 void qemu_cfg_port_probe(void)
46 qemu_cfg_select(QEMU_CFG_SIGNATURE);
48 for (i = 0; i < 4; i++)
49 if (inb(PORT_QEMU_CFG_DATA) != sig[i]) {
53 dprintf(4, "qemu_cfg_present=%d\n", qemu_cfg_present);
56 void qemu_cfg_get_uuid(u8 *uuid)
58 if (!qemu_cfg_present)
61 qemu_cfg_read_entry(uuid, QEMU_CFG_UUID, 16);
64 int qemu_cfg_show_boot_menu(void)
67 if (!qemu_cfg_present)
70 qemu_cfg_read_entry(&v, QEMU_CFG_BOOT_MENU, sizeof(v));