Merge branch 'stable/drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen
* 'stable/drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen: xen/pciback: Have 'passthrough' option instead of XEN_PCIDEV_BACKEND_PASS and XEN_PCIDEV_BACKEND_VPCI xen/pciback: Remove the DEBUG option. xen/pciback: Drop two backends, squash and cleanup some code. xen/pciback: Print out the MSI/MSI-X (PIRQ) values xen/pciback: Don't setup an fake IRQ handler for SR-IOV devices. xen: rename pciback module to xen-pciback. xen/pciback: Fine-grain the spinlocks and fix BUG: scheduling while atomic cases. xen/pciback: Allocate IRQ handler for device that is shared with guest. xen/pciback: Disable MSI/MSI-X when reseting a device xen/pciback: guest SR-IOV support for PV guest xen/pciback: Register the owner (domain) of the PCI device. xen/pciback: Cleanup the driver based on checkpatch warnings and errors. xen/pciback: xen pci backend driver. xen: tmem: self-ballooning and frontswap-selfshrinking xen: Add module alias to autoload backend drivers xen: Populate xenbus device attributes xen: Add __attribute__((format(printf... where appropriate xen: prepare tmem shim to handle frontswap xen: allow enable use of VGA console on dom0
This commit is contained in:
commit
111ad119d1
32 changed files with 5346 additions and 54 deletions
|
@ -23,3 +23,13 @@ void balloon_set_new_target(unsigned long target);
|
|||
|
||||
int alloc_xenballooned_pages(int nr_pages, struct page** pages);
|
||||
void free_xenballooned_pages(int nr_pages, struct page** pages);
|
||||
|
||||
struct sys_device;
|
||||
#ifdef CONFIG_XEN_SELFBALLOONING
|
||||
extern int register_xen_selfballooning(struct sys_device *sysdev);
|
||||
#else
|
||||
static inline int register_xen_selfballooning(struct sys_device *sysdev)
|
||||
{
|
||||
return -ENOSYS;
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -6,11 +6,13 @@ extern struct console xenboot_console;
|
|||
#ifdef CONFIG_HVC_XEN
|
||||
void xen_console_resume(void);
|
||||
void xen_raw_console_write(const char *str);
|
||||
__attribute__((format(printf, 1, 2)))
|
||||
void xen_raw_printk(const char *fmt, ...);
|
||||
#else
|
||||
static inline void xen_console_resume(void) { }
|
||||
static inline void xen_raw_console_write(const char *str) { }
|
||||
static inline void xen_raw_printk(const char *fmt, ...) { }
|
||||
static inline __attribute__((format(printf, 1, 2)))
|
||||
void xen_raw_printk(const char *fmt, ...) { }
|
||||
#endif
|
||||
|
||||
#endif /* XEN_HVC_CONSOLE_H */
|
||||
|
|
|
@ -450,6 +450,45 @@ struct start_info {
|
|||
int8_t cmd_line[MAX_GUEST_CMDLINE];
|
||||
};
|
||||
|
||||
struct dom0_vga_console_info {
|
||||
uint8_t video_type;
|
||||
#define XEN_VGATYPE_TEXT_MODE_3 0x03
|
||||
#define XEN_VGATYPE_VESA_LFB 0x23
|
||||
|
||||
union {
|
||||
struct {
|
||||
/* Font height, in pixels. */
|
||||
uint16_t font_height;
|
||||
/* Cursor location (column, row). */
|
||||
uint16_t cursor_x, cursor_y;
|
||||
/* Number of rows and columns (dimensions in characters). */
|
||||
uint16_t rows, columns;
|
||||
} text_mode_3;
|
||||
|
||||
struct {
|
||||
/* Width and height, in pixels. */
|
||||
uint16_t width, height;
|
||||
/* Bytes per scan line. */
|
||||
uint16_t bytes_per_line;
|
||||
/* Bits per pixel. */
|
||||
uint16_t bits_per_pixel;
|
||||
/* LFB physical address, and size (in units of 64kB). */
|
||||
uint32_t lfb_base;
|
||||
uint32_t lfb_size;
|
||||
/* RGB mask offsets and sizes, as defined by VBE 1.2+ */
|
||||
uint8_t red_pos, red_size;
|
||||
uint8_t green_pos, green_size;
|
||||
uint8_t blue_pos, blue_size;
|
||||
uint8_t rsvd_pos, rsvd_size;
|
||||
|
||||
/* VESA capabilities (offset 0xa, VESA command 0x4f00). */
|
||||
uint32_t gbl_caps;
|
||||
/* Mode attributes (offset 0x0, VESA command 0x4f01). */
|
||||
uint16_t mode_attrs;
|
||||
} vesa_lfb;
|
||||
} u;
|
||||
};
|
||||
|
||||
/* These flags are passed in the 'flags' field of start_info_t. */
|
||||
#define SIF_PRIVILEGED (1<<0) /* Is the domain privileged? */
|
||||
#define SIF_INITDOMAIN (1<<1) /* Is this the initial control domain? */
|
||||
|
|
5
include/xen/tmem.h
Normal file
5
include/xen/tmem.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
#ifndef _XEN_TMEM_H
|
||||
#define _XEN_TMEM_H
|
||||
/* defined in drivers/xen/tmem.c */
|
||||
extern int tmem_enabled;
|
||||
#endif /* _XEN_TMEM_H */
|
|
@ -223,7 +223,9 @@ int xenbus_free_evtchn(struct xenbus_device *dev, int port);
|
|||
|
||||
enum xenbus_state xenbus_read_driver_state(const char *path);
|
||||
|
||||
__attribute__((format(printf, 3, 4)))
|
||||
void xenbus_dev_error(struct xenbus_device *dev, int err, const char *fmt, ...);
|
||||
__attribute__((format(printf, 3, 4)))
|
||||
void xenbus_dev_fatal(struct xenbus_device *dev, int err, const char *fmt, ...);
|
||||
|
||||
const char *xenbus_strstate(enum xenbus_state state);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue