diff options
author | Roger Pau Monné <royger@FreeBSD.org> | 2014-03-11 10:09:23 +0000 |
---|---|---|
committer | Roger Pau Monné <royger@FreeBSD.org> | 2014-03-11 10:09:23 +0000 |
commit | c203fa69407d940494a0d90988619f900e869989 (patch) | |
tree | 030377424ef21e9085fc03f2d6204dd25d2d42a1 /sys/xen/xen-os.h | |
parent | 6f4246bce191e5491dcdaf61df18efa2c9a38a6a (diff) | |
download | src-c203fa69407d940494a0d90988619f900e869989.tar.gz src-c203fa69407d940494a0d90988619f900e869989.zip |
xen: add and enable Xen console for PVH guests
This adds and enables the PV console used on XEN kernels to
GENERIC/XENHVM kernels in order for it to be used on PVH.
Approved by: gibbs
Sponsored by: Citrix Systems R&D
dev/xen/console/console.c:
- Define console_page.
- Move xc_printf debug function from i386 XEN code to generic console
code.
- Rework xc_printf.
- Use xen_initial_domain instead of open-coded checks for Dom0.
- Gate the attach of the PV console to PV(H) guests.
dev/xen/console/xencons_ring.c:
- Allow the PV Xen console to output earlier by directly signaling
the event channel in start_info if the event channel is not yet
initialized.
- Use HYPERVISOR_start_info instead of xen_start_info.
i386/include/xen/xen-os.h:
- Remove prototype for xc_printf since it's now declared in global
xen-os.h
i386/xen/xen_machdep.c:
- Remove previous version of xc_printf.
- Remove definition of console_page (now it's defined in the console
itself).
- Fix some printf formatting errors.
x86/xen/pv.c:
- Add some early boot debug messages using xc_printf.
- Set console_page based on the value passed in start_info.
xen/xen-os.h:
- Declare console_page and add prototype for xc_printf.
Notes
Notes:
svn path=/head/; revision=263004
Diffstat (limited to 'sys/xen/xen-os.h')
-rw-r--r-- | sys/xen/xen-os.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/xen/xen-os.h b/sys/xen/xen-os.h index 62b5bf65c760..7dd9c7e44c38 100644 --- a/sys/xen/xen-os.h +++ b/sys/xen/xen-os.h @@ -55,6 +55,7 @@ extern start_info_t *HYPERVISOR_start_info; /* XXX: we need to get rid of this and use HYPERVISOR_start_info directly */ extern struct xenstore_domain_interface *xen_store; +extern char *console_page; enum xen_domain_type { XEN_NATIVE, /* running on bare hardware */ @@ -89,6 +90,9 @@ xen_initial_domain(void) (HYPERVISOR_start_info->flags & SIF_INITDOMAIN) != 0); } +/* Debug/emergency function, prints directly to hypervisor console */ +void xc_printf(const char *, ...) __printflike(1, 2); + #ifndef xen_mb #define xen_mb() mb() #endif |