aboutsummaryrefslogtreecommitdiffstats
path: root/xen/drivers/video
Commit message (Collapse)AuthorAgeFilesLines
* xen/video: hdlcd: Use early_printk instead of printkJulien Grall2013-09-171-11/+12
| | | | | | | | The video driver is initialized before the console is correctly set up. Therefore, printk will never output if there is no serial configured. Signed-off-by: Julien Grall <julien.grall@linaro.org> Acked-by: Ian Campbell <ian.campbell@citrix.com>
* xen/video: hdlcd: Convert the driver to the new device tree APIJulien Grall2013-09-171-20/+26
| | | | | | | Avoid to use FDT API which will be removed soon Signed-off-by: Julien Grall <julien.grall@linaro.org> Acked-by: Ian campbell <ian.campbell@citrix.com>
* xen/arm: Introduce ioremap_attr, ioremap_cache, ioremap_nocache, ioremap_wcJulien Grall2013-05-131-1/+1
| | | | | | | | | | | | Map physical range in virtual memory with a specific mapping attribute. Also add new mapping attributes for ARM: PAGE_HYPERVISOR_NOCACHE and PAGE_HYPERVISOR_WC. This function replaces early_ioremap which is only able to deal with 2Mb aligned mapping. Therefore, vmap initialization has been moved earlier. Signed-off-by: Julien Grall <julien.grall@linaro.org> Acked-by: Ian Campbell <ian.campbell@citrix.com>
* Fix emacs local variable block to use correct C style variable.David Vrabel2013-02-211-1/+1
| | | | | | | The emacs variable to set the C style from a local variable block is c-file-style, not c-set-style. Signed-off-by: David Vrabel <david.vrabel@citrix.com
* xen/arm: introduce a driver for the ARM HDLCD controllerStefano Stabellini2013-02-153-0/+354
| | | | | | | | | | | | | | Read the screen resolution setting from device tree, find the corresponding modeline in a small table of standard video modes, set the hardware accordingly. Use vexpress_syscfg to configure the pixel clock. Use the generic framebuffer functions to print on the screen. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* xen: introduce a generic framebuffer driverStefano Stabellini2013-02-154-153/+254
| | | | | | | | | | | | Abstract away from vesa.c the funcions to handle a linear framebuffer and print characters to it. Make use of the new functions in vesa.c. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Acked-by: Jan Beulich <JBeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org> [ ijc -- s/fbp/lfbp/ in two places to fix the build ] Committed-by: Ian Campbell <ian.campbell@citrix.com>
* xen: infrastructure to have cross-platform video driversStefano Stabellini2013-01-243-13/+13
| | | | | | | | | | | | | | - introduce a new HAS_VIDEO config variable; - build xen/drivers/video/font* if HAS_VIDEO; - rename vga_puts to video_puts; - rename vga_init to video_init; - rename vga_endboot to video_endboot. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* implement vmap()Jan Beulich2012-11-221-5/+4
| | | | | | | ... and use it as basis for a proper ioremap() on x86. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
* printk: prefer %#x et at over 0x%xJan Beulich2012-09-211-1/+1
| | | | | | | | | Performance is not an issue with printk(), so let the function do minimally more work and instead save a byte per affected format specifier. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
* drivers: Remove some CONFIG_X86 ifdef'ery.Keir Fraser2012-09-121-8/+0
| | | | | | | | | | Not quite all, but a great deal was to specifically allow ia64 support to be retrofitted to x86 platform code. Since we no longer support ia64 we can happily remove the ifdefs. Any new platform which wanted to share this code would likely need a different set of ifdefs in any case, making it a brand new porting effort. Signed-off-by: Keir Fraser <keir@xen.org>
* CONFIG_X86_64 -> CONFIG_X86Keir Fraser2012-09-122-6/+6
| | | | Signed-off-by: Keir Fraser <keir@xen.org>
* PCI: don't allow guest assignment of devices used by XenJan Beulich2012-09-111-0/+56
| | | | | | | | | | This covers the devices used for the console and the AMD IOMMU ones (as would be any others that might get passed to pci_ro_device()). Boot video device determination cloned from similar Linux logic. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
* mark 8x14 font data constJan Beulich2012-08-071-1/+1
| | | | Signed-off-by: Jan Beulich <jbeulich@suse.com>
* vesa: flush lfb after zeroingAndrew Cooper2012-01-281-18/+19
| | | | | | | | | | | | | | | | | If Xen is going to relinquish the VGA console, flush the linear frame buffer after zeroing it in vesa_endboot(). Failing to do so in some circumstances leads to the actual linear framebuffer on the graphics card still containing the output of the Xen boot console can lead to ugly graphics output when dom0 is setting up the graphics card for its own use. While the patch is quite large, it is mostly just code motion to prevent having to forward declare lfb_flush(). The only functional change to vesa_endboot() is to insert a call to lbf_flush(). Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> Committed-by: Keir Fraser <keir@xen.org>
* use xzalloc in driver codeJan Beulich2011-10-041-4/+2
| | | | | Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
* x86-64: EFI boot codeJan Beulich2011-06-281-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Besides introducing the relevant code paralleling parts of what is under xen/arch/x86/boot/, this adjusts the build logic so that with a single compilation two images (gzip-compressed ELF and EFI application) can get created. The EFI part of this depends on a new enough compiler (supposedly gcc 4.4.x and above, but so far only tested to work with 4.5.x) and a properly configured linker (must support the i386pep emulation). If either functionality is found to not be available, the EFI part of the build will simply be skipped. The patch adds all code to allow Xen and the (accordingly enabled) Dom0 kernel to boot, but doesn't allow Dom0 to make use of EFI runtime calls (this will be the subject of the next patch). Parts of the code were lifted from an earlier never published OS project of ours - whether respective license information needs to be added to the respective source file is unclear to me (I was told internally that adding a GPLv2 license header can be done if needed by the community). Open issues (not preventing this from being committed imo): The trampoline allocation and initialization isn't really nice. This is due to the trampoline needing to be placed at a fixed address, and hence making the trampoline relocatable would seem desirable here (as well as for BIOS-based booting, where the trampoline location needed to be adjusted a number of time already in the past, due to it colliding with firmware data). By excluding mem.S, edd.S, and video.S from copied trampoline (i.e. moving up wakeup.S? and making sure none of the symbols are used from EFI code), the effective trampoline size could at least be reduced. Should the mappings of [__XEN_VIRT_START, mbi.mem_upper) and [_end, __XEN_VIRT_START+BOOTSTRAP_MAP_BASE) be destroyed, despite non-EFI code also keeping them? Signed-off-by: Jan Beulich <jbeulich@novell.com>
* xen: Include headers that are actually needed, drop everything else.Christoph Egger2011-05-202-5/+3
| | | | Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
* Improve graphical console performanceKeir Fraser2010-03-171-6/+25
| | | | | | | | | | As it is pretty pointless to clear unused parts of a line over and over again, keep track of how much of a line was actually written to and avoid clearing parts of the screen that are known to already be clear. With this, scrolling speed becomes comparable to that of Linux' VESA console. Signed-off-by: Jan Beulich <jbeulich@novell.com>
* properly __initdata-annotate command line option string buffersKeir Fraser2009-08-311-1/+1
| | | | Signed-off-by: Jan Beulich <jbeulich@novell.com>
* vtd: boolean boot parameter to allow inclusive mapping of all memory below 4GBKeir Fraser2009-03-021-1/+1
| | | | Signed-off-by: Ross Philipson <ross.philipson@citrix.com>
* Rename memory_is_conventional_ram() to page_is_conventional_ram().Keir Fraser2009-01-251-1/+1
| | | | | | It now checks that a whole contiguous page is conventional RAM. Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* vga: Only vga_endboot() if vga_init() completed.Keir Fraser2008-12-111-1/+1
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* vga: Fix screen clear at end of Xen bootstrap.Keir Fraser2008-12-091-3/+3
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* vga: Clear the screen when relinquishing VGA to dom0.Keir Fraser2008-12-052-8/+29
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* x86: Allow bitop functions to be applied only to fields of at least 4Keir Fraser2008-03-161-1/+1
| | | | | | | | | | | | | bytes. Otherwise the 'longword' processor instructions used will overlap with adjacent fields with unpredictable consequences. This change requires some code fixup and just a few casts (mainly when operating on guest-shared fields which cannot be changed, and which by observation are clearly safe). Based on ideas from Jan Beulich <jbeulich@novell.com> Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* x86/64: Fix the build.Keir Fraser2007-10-121-1/+1
| | | | Signed-off-by: Keir Fraser <keir@xensource.com>
* x86: propagate VESA capabilities to dom0Keir Fraser2007-10-121-1/+1
| | | | | | | | Linux has been using the VESA capabilities field for quite a while, so Xen should also supply it. At once, in case needed in the future, also propagate the mode attributes field. Signed-off-by: Jan Beulich <jbeulich@novell.com>
* Add local header files to HDRS.Keir Fraser2007-10-111-3/+0
| | | | | | | Otherwise, changes to such headers do not trigger re-compiles. (Powerpc already had this.) Signed-off-by: Jan Beulich <jbeulich@novell.com>
* Do not include compile.h directly -- use version.h indirection functions.Keir Fraser2007-10-112-2/+0
| | | | Signed-off-by: Keir Fraser <keir@xensource.com>
* x86-64: enable hypervisor output on VESA frame bufferkfraser@localhost.localdomain2007-08-133-64/+363
| | | | | | | | | | | | | This is x86-64 only for now due to the virtual address space constraints on x86-32. New options 'vesa-ram', 'vesa-map', 'vesa-mtrr' are close equivalents to the vesafb Linux options 'vtotal', 'vremap', 'mtrr'. Also the font can be specified: font=8x{8,14,16}. Signed-off-by: Jan Beulich <jbeulich@novell.com> Signed-off-by: Keir Fraser <keir@xensource.com>
* x86: Re-introduce VIDEO_CURRENT_MODE into video.S video-mode-settingkfraser@localhost.localdomain2007-06-191-0/+3
| | | | | code, and make visible at the command line via 'vga=current'. Signed-off-by: Keir Fraser <keir@xensource.com>
* x86: Allow selection of graphical video modes during boot.Keir Fraser2007-06-101-588/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The 'vga=' boot option is extended as follows: ---------- 'vga=<mode-specifier>[,keep]' where <mode-specifier> is one of: 'vga=ask': display a vga menu of available modes 'vga=text-80x<rows>': text mode, where <rows> is one of {25,28,30,34,43,50,60} 'vga=gfx-<width>x<height>x<depth>': graphics mode, e.g., vga=gfx-1024x768x16 'vga=mode-<mode>: specifies a mode as specified in 'vga=ask' menu (NB. menu modes are displayed in hex, so mode numbers here must be prefixed with '0x' (e.g., 'vga=mode-0x0318')) The option 'keep' causes Xen to continue to print to the VGA console even after domain 0 starts to boot. The default behaviour is to relinquish control of the console to domain 0. ---------- Signed-off-by: Keir Fraser <keir@xensource.com>
* xen: Free initmem after boot. Mark lots of init functions as __initKeir Fraser2007-05-121-7/+7
| | | | | that weren't before. Signed-off-by: Keir Fraser <keir@xensource.com>
* [XEN] Default to 80x50 VGA text console.kfraser@localhost.localdomain2007-01-121-5/+2
| | | | Signed-off-by: Keir Fraser <keir@xensource.com>
* Clean up dom0_vga_console_info structure for v3.0.3.kfraser@localhost.localdomain2006-09-181-5/+6
| | | | Signed-off-by: Keir Fraser <keir@xensource.com>
* [XEN] Indentation cleanups (remove hard tabs).kfraser@localhost.localdomain2006-08-171-3/+3
| | | | | Signed-off-by: Keir Fraser <keir@xensource.com>
* [XEN] vga code cleanups and additions for other architectures.kfraser@localhost.localdomain2006-08-165-45/+195
| | | | | | Based on patches from Hollis Blanchard and Alex Williamson. Signed-off-by: Keir Fraser <keir@xensource.com>
* Clean up vga.c and change default font slot to zero, as otherkfraser@localhost.localdomain2006-08-151-64/+72
| | | | | | slots are not supported by ATI video cards. Signed-off-by: Keir Fraser <keir@xensource.com>
* Support for vga text modes bigger than 80x25.kfraser@localhost.localdomain2006-08-155-0/+11888
Signed-off-by: Jan Beulich <jbeulich@novell.com>