From: Graeme Russ <graeme.russ@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [RFC][PATCH 00/21] [x86] 'Comming of Age'
Date: Sat, 27 Mar 2010 15:33:31 +1100 [thread overview]
Message-ID: <4BAD8A9B.2070302@gmail.com> (raw)
In-Reply-To: <1269618919.3376.20364.camel@localhost.localdomain>
Peter Tyser wrote:
> < snip>
>
>> Once this patchset is applied I believe the x86 port of U-Boot will be
>> ready for more mainstream use
>>
>> Wolfgang - If there is any other renewed interest in the x86 port, I would
>> be more than happy to be an official custodian
>
> Hi Graeme,
> Is there a quick summary about what is supported, how its used, etc? Eg
> could x86 U-Boot replace the BIOS on on chipset X, similar to coreboot?
> Or is it a 2nd stage bootloader like GRUB? Or a bootloader that is run
> from GRUB? How hard would it be to port to other x86 platform?
The x86 U-Boot port, like all other U-Boot ports, is a primary boot loader
for embedded systems. As such, it is designed to bring a board up from
power-on/cold reset to a state where Linux (or other OS) can execute (e.g
load FPGAs, configure hardware address and I/O structures etc). The closest
'in-the-wild' comparative software would be RedBoot.
The current implementation is designed around the AMD SC520 ELAN CPU, but
porting to other x86 CPUs and boards should be fairly simple. Porting is
made easier if the target is PC/AT centric. That said, the modular design
should allow for very easy diversion from PC/AT.
It does not (and will not) replace the BIOS of a regular PC (Coreboot) nor
will it be a second stage bootloader (GRUB). However, at a pinch, I imagine
you could use it to boot a VIA mini-ITX board for example.
> It seems like cool stuff, I'm just trying to wrap my head around the
> high-level concept of U-Boot on x86 and where/why it'd be used instead
> of the "standard" alternatives.
x86 is a poor second cousin to PPC and ARM in the embedded world. The
reasons for this are many and varied, but generally speaking ARM and PPC
are better suited to the embedded world due to lower power consumption and
integrated peripherals. x86 has its advantages (no need for cross
compiling, easier to simulate and a PC without using QEMU etc).
x86 U-Boot does do a few things though that I think are very special:
- It fully relocates itself to the highest available RAM (including
Read-Only data and special data structures like the GDT and IDT which are
sometimes overlooked)
- It can be fail-safe boot-strapped from RAM (i.e. boot an old version
from power-up, tftp a new version, jump to the new version)
In the near future, I intend to make it 100% relocatable (i.e. does not
need to be loaded at TEXT_BASE) and maybe even add the ability to specify
the relocation address.
>
> Thanks,
> Peter
>
Your welcome :)
Graeme
next prev parent reply other threads:[~2010-03-27 4:33 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-25 11:22 [U-Boot] [RFC][PATCH 00/21] [x86] 'Comming of Age' Graeme Russ
2010-03-25 11:22 ` [U-Boot] [RFC][PATCH 01/21] [x86] Add unaligned.h Graeme Russ
2010-03-25 17:45 ` Mike Frysinger
2010-03-25 11:22 ` [U-Boot] [RFC][PATCH 02/21] [x86] #ifdef out getenv_IPaddr() Graeme Russ
2010-03-25 11:45 ` Vipin Kumar
2010-03-25 11:22 ` [U-Boot] [RFC][PATCH 03/21] [x86] Fix MMCR Access Graeme Russ
2010-03-25 11:22 ` [U-Boot] [RFC][PATCH 04/21] [x86] Add register dump to crash handlers Graeme Russ
2010-03-25 11:22 ` [U-Boot] [RFC][PATCH 05/21] [x86] Fix do_go_exec() Graeme Russ
2010-03-25 11:22 ` [U-Boot] [RFC][PATCH 06/21] [x86] Fix sc520 memory size reporting Graeme Russ
2010-03-25 11:22 ` [U-Boot] [RFC][PATCH 07/21] [x86] Split sc520 memory sizing versus reporting Graeme Russ
2010-03-25 11:22 ` [U-Boot] [RFC][PATCH 08/21] [x86] Add RAM bootstrap functionality Graeme Russ
2010-03-25 11:22 ` [U-Boot] [RFC][PATCH 09/21] [x86] Move GDT to a safe location in RAM Graeme Russ
2010-03-25 11:22 ` [U-Boot] [RFC][PATCH 10/21] [x86] Pass relocation offset into Global Data Graeme Russ
2010-03-25 11:22 ` [U-Boot] [RFC][PATCH 11/21] [x86] Fix copying of Real-Mode code into RAM Graeme Russ
2010-03-25 11:22 ` [U-Boot] [RFC][PATCH 12/21] [ns16550] Enable port-mapped access Graeme Russ
2010-03-25 11:22 ` [U-Boot] [RFC][PATCH 13/21] [x86] Use CONFIG_SERIAL_MULTI Graeme Russ
2010-03-25 11:22 ` [U-Boot] [RFC][PATCH 14/21] [x86] Provide weak PC/AT compatibility setup function Graeme Russ
2010-03-25 11:22 ` [U-Boot] [RFC][PATCH 15/21] [x86] Fix support for booting bzImage Graeme Russ
2010-03-25 11:22 ` [U-Boot] [RFC][PATCH 16/21] [sc520] Allow boards to override udelay Graeme Russ
2010-03-25 11:22 ` [U-Boot] [RFC][PATCH 17/21] [eNET] Fix Flash Write Graeme Russ
2010-03-25 11:23 ` [U-Boot] [RFC][PATCH 18/21] [eNET] Fix CONFIG_SYS_HZ to be 1000 Graeme Russ
2010-03-25 11:23 ` [U-Boot] [RFC][PATCH 19/21] [eNET] Add support for onboard RTL8100B (RTL8139) chips Graeme Russ
2010-04-05 5:32 ` Ben Warren
2010-04-05 22:21 ` Graeme Russ
2010-03-25 11:23 ` [U-Boot] [RFC][PATCH 20/21] [eNET] Add PC/AT compatibility setup function Graeme Russ
2010-03-25 11:23 ` [U-Boot] [RFC][PATCH 21/21] Use SC520 MMCR to reset eNET board Graeme Russ
2010-03-26 15:55 ` [U-Boot] [RFC][PATCH 00/21] [x86] 'Comming of Age' Peter Tyser
2010-03-27 4:33 ` Graeme Russ [this message]
2010-03-27 11:02 ` Joakim Tjernlund
2010-03-27 11:54 ` Graeme Russ
2010-03-27 15:48 ` Joakim Tjernlund
2010-03-28 7:38 ` Graeme Russ
2010-03-28 10:06 ` Joakim Tjernlund
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4BAD8A9B.2070302@gmail.com \
--to=graeme.russ@gmail.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox