public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 0/19] x86: ivybridge: Add graphics support
@ 2014-11-15  3:56 Simon Glass
  2014-11-15  3:56 ` [U-Boot] [PATCH 01/19] x86: Add a definition of asmlinkage Simon Glass
                   ` (18 more replies)
  0 siblings, 19 replies; 40+ messages in thread
From: Simon Glass @ 2014-11-15  3:56 UTC (permalink / raw)
  To: u-boot

This series adds a graphics driver and support for execution of the VGA
option ROM. This option ROM is required on ivybridge for the graphics to
work, at least until someone creates the equivalent source code.

Option ROMs can be run using U-Boot's BIOS emulator, but on x86 it is also
possible to run then natively. This is something of a pain to arrange due
to all the environment that is required (16-bit to 32-bit calls, etc.) but
it can be done, so this series adds that feature too.

Video mode selection is useful as it allows different resolutions to be
selected. This series adds support for VESA modes and a way of selecting
the mode to use in U-Boot.

These options are enabled for chromebook_link, which now boots to a prompt
complete with a functioning LCD. A resolution 0f 1280x1024 is selected by
default.

While the Chrome OS EC works correctly, the keyboard does not as yet. Also
U-Boot is currently very slow, taking about 2 seconds to boot to a prompt
when video is enabled. These problems will be the subject of future work.


Simon Glass (19):
  x86: Add a definition of asmlinkage
  Introduce a header file for the BIOS emulator
  x86: Add GDT descriptors for option ROMs
  x86: Add vesa mode configuration options
  Add support for Vesa BIOS extensions
  x86: Add support for running option ROMs natively
  pci: Add general support for execution of video ROMs
  x86: video: Add video driver for bare x86 boards
  x86: Allow an option ROM to be built into U-Boot
  x86: Add initial video device init for Intel GMA
  x86: dts: Add video information to the device tree
  x86: config: Enable video support for chromebook_link
  bios_emulator: Allow x86 to use the emulator
  bios_emulator: Add vesa support and allow ROMs to be passed in as data
  bios_emulator: Allow a custom interrupt handler to be installed
  bios_emulator: Add an option to enable debugging
  bios_emulator: Always print errors when opcode decode fails
  x86: chromebook_link: Enable the x86 emulator
  x86: chromebook_link: Enable the Chrome OS EC

 Makefile                                      |   3 +
 arch/x86/Kconfig                              | 149 +++++
 arch/x86/cpu/cpu.c                            |   9 +-
 arch/x86/cpu/ivybridge/Makefile               |   1 +
 arch/x86/cpu/ivybridge/bd82x6x.c              |  13 +-
 arch/x86/cpu/ivybridge/gma.c                  | 756 ++++++++++++++++++++++++++
 arch/x86/cpu/ivybridge/gma.h                  | 157 ++++++
 arch/x86/dts/link.dts                         |  13 +
 arch/x86/include/asm/arch-ivybridge/bd82x6x.h |   2 +
 arch/x86/include/asm/processor.h              |  31 +-
 arch/x86/lib/Makefile                         |   3 +
 arch/x86/lib/bios.c                           | 348 ++++++++++++
 arch/x86/lib/bios.h                           |  98 ++++
 arch/x86/lib/bios_asm.S                       | 281 ++++++++++
 arch/x86/lib/bios_interrupts.c                | 219 ++++++++
 board/google/chromebook_link/link.c           |   4 +
 doc/device-tree-bindings/video/intel-gma.txt  |  40 ++
 drivers/bios_emulator/Makefile                |   2 +-
 drivers/bios_emulator/atibios.c               | 198 +++++--
 drivers/bios_emulator/besys.c                 | 100 ++--
 drivers/bios_emulator/bios.c                  |   4 +-
 drivers/bios_emulator/biosemui.h              |   2 +-
 drivers/bios_emulator/include/biosemu.h       |  53 +-
 drivers/bios_emulator/include/x86emu.h        |   7 +-
 drivers/bios_emulator/include/x86emu/debug.h  |  20 +-
 drivers/bios_emulator/include/x86emu/regs.h   |   2 +-
 drivers/bios_emulator/x86emu/debug.c          |  10 +-
 drivers/bios_emulator/x86emu/decode.c         |  24 +-
 drivers/bios_emulator/x86emu/ops.c            |  58 +-
 drivers/bios_emulator/x86emu/ops2.c           |   4 +-
 drivers/bios_emulator/x86emu/sys.c            |   5 +
 drivers/pci/Makefile                          |   2 +-
 drivers/pci/pci_rom.c                         | 276 ++++++++++
 drivers/video/Makefile                        |   1 +
 drivers/video/ati_radeon_fb.c                 |   2 +-
 drivers/video/x86_fb.c                        |  37 ++
 include/bios_emul.h                           |  65 +++
 include/common.h                              |   3 +
 include/configs/chromebook_link.h             |  19 +-
 include/fdtdec.h                              |   1 +
 include/pci_rom.h                             |  58 ++
 include/vbe.h                                 | 103 ++++
 include/video_fb.h                            |   2 +-
 lib/fdtdec.c                                  |   1 +
 44 files changed, 2950 insertions(+), 236 deletions(-)
 create mode 100644 arch/x86/cpu/ivybridge/gma.c
 create mode 100644 arch/x86/cpu/ivybridge/gma.h
 create mode 100644 arch/x86/lib/bios.c
 create mode 100644 arch/x86/lib/bios.h
 create mode 100644 arch/x86/lib/bios_asm.S
 create mode 100644 arch/x86/lib/bios_interrupts.c
 create mode 100644 doc/device-tree-bindings/video/intel-gma.txt
 create mode 100644 drivers/pci/pci_rom.c
 create mode 100644 drivers/video/x86_fb.c
 create mode 100644 include/bios_emul.h
 create mode 100644 include/pci_rom.h
 create mode 100644 include/vbe.h

-- 
2.1.0.rc2.206.gedb03e5

^ permalink raw reply	[flat|nested] 40+ messages in thread

end of thread, other threads:[~2014-11-25 21:50 UTC | newest]

Thread overview: 40+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-15  3:56 [U-Boot] [PATCH 0/19] x86: ivybridge: Add graphics support Simon Glass
2014-11-15  3:56 ` [U-Boot] [PATCH 01/19] x86: Add a definition of asmlinkage Simon Glass
2014-11-25 21:48   ` Simon Glass
2014-11-15  3:56 ` [U-Boot] [PATCH 02/19] Introduce a header file for the BIOS emulator Simon Glass
2014-11-25 21:49   ` Simon Glass
2014-11-15  3:56 ` [U-Boot] [PATCH 03/19] x86: Add GDT descriptors for option ROMs Simon Glass
2014-11-25 21:49   ` Simon Glass
2014-11-15  3:56 ` [U-Boot] [PATCH 04/19] x86: Add vesa mode configuration options Simon Glass
2014-11-25 21:49   ` Simon Glass
2014-11-15  3:56 ` [U-Boot] [PATCH 05/19] Add support for Vesa BIOS extensions Simon Glass
2014-11-25 21:49   ` Simon Glass
2014-11-15  3:56 ` [U-Boot] [PATCH 06/19] x86: Add support for running option ROMs natively Simon Glass
2014-11-25 21:49   ` Simon Glass
2014-11-15  3:56 ` [U-Boot] [PATCH 07/19] pci: Add general support for execution of video ROMs Simon Glass
2014-11-25 21:49   ` Simon Glass
2014-11-15  3:56 ` [U-Boot] [PATCH 08/19] x86: video: Add video driver for bare x86 boards Simon Glass
2014-11-15  7:26   ` Anatolij Gustschin
2014-11-25 21:49     ` Simon Glass
2014-11-15  3:56 ` [U-Boot] [PATCH 09/19] x86: Allow an option ROM to be built into U-Boot Simon Glass
2014-11-25 21:49   ` Simon Glass
2014-11-15  3:56 ` [U-Boot] [PATCH 10/19] x86: Add initial video device init for Intel GMA Simon Glass
2014-11-25 21:49   ` Simon Glass
2014-11-15  3:56 ` [U-Boot] [PATCH 11/19] x86: dts: Add video information to the device tree Simon Glass
2014-11-25 21:49   ` Simon Glass
2014-11-15  3:56 ` [U-Boot] [PATCH 12/19] x86: config: Enable video support for chromebook_link Simon Glass
2014-11-25 21:50   ` Simon Glass
2014-11-15  3:56 ` [U-Boot] [PATCH 13/19] bios_emulator: Allow x86 to use the emulator Simon Glass
2014-11-25 21:50   ` Simon Glass
2014-11-15  3:56 ` [U-Boot] [PATCH 14/19] bios_emulator: Add vesa support and allow ROMs to be passed in as data Simon Glass
2014-11-25 21:50   ` Simon Glass
2014-11-15  3:56 ` [U-Boot] [PATCH 15/19] bios_emulator: Allow a custom interrupt handler to be installed Simon Glass
2014-11-25 21:50   ` Simon Glass
2014-11-15  3:56 ` [U-Boot] [PATCH 16/19] bios_emulator: Add an option to enable debugging Simon Glass
2014-11-25 21:50   ` Simon Glass
2014-11-15  3:56 ` [U-Boot] [PATCH 17/19] bios_emulator: Always print errors when opcode decode fails Simon Glass
2014-11-25 21:50   ` Simon Glass
2014-11-15  3:56 ` [U-Boot] [PATCH 18/19] x86: chromebook_link: Enable the x86 emulator Simon Glass
2014-11-25 21:50   ` Simon Glass
2014-11-15  3:56 ` [U-Boot] [PATCH 19/19] x86: chromebook_link: Enable the Chrome OS EC Simon Glass
2014-11-25 21:50   ` Simon Glass

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox