diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-07-22 16:45:15 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-07-22 16:45:15 -0400 |
commit | 111ad119d1765b1bbef2629a5f2bd825caeb7e74 (patch) | |
tree | 167ee4a4e6e9276bb7178ddcce85d6860543cfb4 /include/xen | |
parent | 997271cf5e12c1b38aec0764187094663501c984 (diff) | |
parent | 3a6d28b11a895d08b6b4fc6f16dd9ff995844b45 (diff) |
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
Diffstat (limited to 'include/xen')
-rw-r--r-- | include/xen/balloon.h | 10 | ||||
-rw-r--r-- | include/xen/hvc-console.h | 4 | ||||
-rw-r--r-- | include/xen/interface/xen.h | 39 | ||||
-rw-r--r-- | include/xen/tmem.h | 5 | ||||
-rw-r--r-- | include/xen/xenbus.h | 2 |
5 files changed, 59 insertions, 1 deletions
diff --git a/include/xen/balloon.h b/include/xen/balloon.h index a2b22f01a51d..4076ed72afbd 100644 --- a/include/xen/balloon.h +++ b/include/xen/balloon.h | |||
@@ -23,3 +23,13 @@ void balloon_set_new_target(unsigned long target); | |||
23 | 23 | ||
24 | int alloc_xenballooned_pages(int nr_pages, struct page** pages); | 24 | int alloc_xenballooned_pages(int nr_pages, struct page** pages); |
25 | void free_xenballooned_pages(int nr_pages, struct page** pages); | 25 | void free_xenballooned_pages(int nr_pages, struct page** pages); |
26 | |||
27 | struct sys_device; | ||
28 | #ifdef CONFIG_XEN_SELFBALLOONING | ||
29 | extern int register_xen_selfballooning(struct sys_device *sysdev); | ||
30 | #else | ||
31 | static inline int register_xen_selfballooning(struct sys_device *sysdev) | ||
32 | { | ||
33 | return -ENOSYS; | ||
34 | } | ||
35 | #endif | ||
diff --git a/include/xen/hvc-console.h b/include/xen/hvc-console.h index c3adde32669b..901724dc528d 100644 --- a/include/xen/hvc-console.h +++ b/include/xen/hvc-console.h | |||
@@ -6,11 +6,13 @@ extern struct console xenboot_console; | |||
6 | #ifdef CONFIG_HVC_XEN | 6 | #ifdef CONFIG_HVC_XEN |
7 | void xen_console_resume(void); | 7 | void xen_console_resume(void); |
8 | void xen_raw_console_write(const char *str); | 8 | void xen_raw_console_write(const char *str); |
9 | __attribute__((format(printf, 1, 2))) | ||
9 | void xen_raw_printk(const char *fmt, ...); | 10 | void xen_raw_printk(const char *fmt, ...); |
10 | #else | 11 | #else |
11 | static inline void xen_console_resume(void) { } | 12 | static inline void xen_console_resume(void) { } |
12 | static inline void xen_raw_console_write(const char *str) { } | 13 | static inline void xen_raw_console_write(const char *str) { } |
13 | static inline void xen_raw_printk(const char *fmt, ...) { } | 14 | static inline __attribute__((format(printf, 1, 2))) |
15 | void xen_raw_printk(const char *fmt, ...) { } | ||
14 | #endif | 16 | #endif |
15 | 17 | ||
16 | #endif /* XEN_HVC_CONSOLE_H */ | 18 | #endif /* XEN_HVC_CONSOLE_H */ |
diff --git a/include/xen/interface/xen.h b/include/xen/interface/xen.h index 70213b4515eb..6acd9cefd517 100644 --- a/include/xen/interface/xen.h +++ b/include/xen/interface/xen.h | |||
@@ -450,6 +450,45 @@ struct start_info { | |||
450 | int8_t cmd_line[MAX_GUEST_CMDLINE]; | 450 | int8_t cmd_line[MAX_GUEST_CMDLINE]; |
451 | }; | 451 | }; |
452 | 452 | ||
453 | struct dom0_vga_console_info { | ||
454 | uint8_t video_type; | ||
455 | #define XEN_VGATYPE_TEXT_MODE_3 0x03 | ||
456 | #define XEN_VGATYPE_VESA_LFB 0x23 | ||
457 | |||
458 | union { | ||
459 | struct { | ||
460 | /* Font height, in pixels. */ | ||
461 | uint16_t font_height; | ||
462 | /* Cursor location (column, row). */ | ||
463 | uint16_t cursor_x, cursor_y; | ||
464 | /* Number of rows and columns (dimensions in characters). */ | ||
465 | uint16_t rows, columns; | ||
466 | } text_mode_3; | ||
467 | |||
468 | struct { | ||
469 | /* Width and height, in pixels. */ | ||
470 | uint16_t width, height; | ||
471 | /* Bytes per scan line. */ | ||
472 | uint16_t bytes_per_line; | ||
473 | /* Bits per pixel. */ | ||
474 | uint16_t bits_per_pixel; | ||
475 | /* LFB physical address, and size (in units of 64kB). */ | ||
476 | uint32_t lfb_base; | ||
477 | uint32_t lfb_size; | ||
478 | /* RGB mask offsets and sizes, as defined by VBE 1.2+ */ | ||
479 | uint8_t red_pos, red_size; | ||
480 | uint8_t green_pos, green_size; | ||
481 | uint8_t blue_pos, blue_size; | ||
482 | uint8_t rsvd_pos, rsvd_size; | ||
483 | |||
484 | /* VESA capabilities (offset 0xa, VESA command 0x4f00). */ | ||
485 | uint32_t gbl_caps; | ||
486 | /* Mode attributes (offset 0x0, VESA command 0x4f01). */ | ||
487 | uint16_t mode_attrs; | ||
488 | } vesa_lfb; | ||
489 | } u; | ||
490 | }; | ||
491 | |||
453 | /* These flags are passed in the 'flags' field of start_info_t. */ | 492 | /* These flags are passed in the 'flags' field of start_info_t. */ |
454 | #define SIF_PRIVILEGED (1<<0) /* Is the domain privileged? */ | 493 | #define SIF_PRIVILEGED (1<<0) /* Is the domain privileged? */ |
455 | #define SIF_INITDOMAIN (1<<1) /* Is this the initial control domain? */ | 494 | #define SIF_INITDOMAIN (1<<1) /* Is this the initial control domain? */ |
diff --git a/include/xen/tmem.h b/include/xen/tmem.h new file mode 100644 index 000000000000..82e2c83a32f5 --- /dev/null +++ b/include/xen/tmem.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifndef _XEN_TMEM_H | ||
2 | #define _XEN_TMEM_H | ||
3 | /* defined in drivers/xen/tmem.c */ | ||
4 | extern int tmem_enabled; | ||
5 | #endif /* _XEN_TMEM_H */ | ||
diff --git a/include/xen/xenbus.h b/include/xen/xenbus.h index 5467369e0889..aceeca799fd7 100644 --- a/include/xen/xenbus.h +++ b/include/xen/xenbus.h | |||
@@ -223,7 +223,9 @@ int xenbus_free_evtchn(struct xenbus_device *dev, int port); | |||
223 | 223 | ||
224 | enum xenbus_state xenbus_read_driver_state(const char *path); | 224 | enum xenbus_state xenbus_read_driver_state(const char *path); |
225 | 225 | ||
226 | __attribute__((format(printf, 3, 4))) | ||
226 | void xenbus_dev_error(struct xenbus_device *dev, int err, const char *fmt, ...); | 227 | void xenbus_dev_error(struct xenbus_device *dev, int err, const char *fmt, ...); |
228 | __attribute__((format(printf, 3, 4))) | ||
227 | void xenbus_dev_fatal(struct xenbus_device *dev, int err, const char *fmt, ...); | 229 | void xenbus_dev_fatal(struct xenbus_device *dev, int err, const char *fmt, ...); |
228 | 230 | ||
229 | const char *xenbus_strstate(enum xenbus_state state); | 231 | const char *xenbus_strstate(enum xenbus_state state); |