<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/arch/x86/cpu/start.S, branch v2016.03</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/u-boot.git/atom/arch/x86/cpu/start.S?h=v2016.03</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/arch/x86/cpu/start.S?h=v2016.03'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<updated>2016-01-14T02:05:17Z</updated>
<entry>
<title>Fix board init code to respect the C runtime environment</title>
<updated>2016-01-14T02:05:17Z</updated>
<author>
<name>Albert ARIBAUD</name>
<email>albert.u.boot@aribaud.net</email>
</author>
<published>2015-11-25T16:56:32Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=ecc306639e83c9019a5093b77a48685ea40eedc2'/>
<id>urn:sha1:ecc306639e83c9019a5093b77a48685ea40eedc2</id>
<content type='text'>
board_init_f_mem() alters the C runtime environment's
stack it is actually already using. This is not a valid
behaviour within a C runtime environment.

Split board_init_f_mem into C functions which do not alter
their own stack and always behave properly with respect to
their C runtime environment.

Signed-off-by: Albert ARIBAUD &lt;albert.u.boot@aribaud.net&gt;
Acked-by: Thomas Chou &lt;thomas@wytron.com.tw&gt;
</content>
</entry>
<entry>
<title>x86: Init the debug UART if enabled</title>
<updated>2015-10-21T13:46:50Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2015-10-19T01:51:26Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=60994a02a56fd7dc408b0a36ad5dead1b85959b4'/>
<id>urn:sha1:60994a02a56fd7dc408b0a36ad5dead1b85959b4</id>
<content type='text'>
If the debug UART is enabled, get it ready for use at the earliest possible
opportunity. This is not actually very early, but until we have a stack it
is difficult to make it work.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
Reviewed-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
</content>
</entry>
<entry>
<title>x86: fsp: Add comments about U-Boot entering start.S twice</title>
<updated>2015-08-26T14:54:11Z</updated>
<author>
<name>Bin Meng</name>
<email>bmeng.cn@gmail.com</email>
</author>
<published>2015-08-20T13:40:20Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=48aa6c261492235c1e48c17a6604b71e032485e8'/>
<id>urn:sha1:48aa6c261492235c1e48c17a6604b71e032485e8</id>
<content type='text'>
Add some comments in start.S for the fact that with FSP U-Boot
actually enters the code twice. Also change to use fsp_init()
and fsp_continue for accuracy.

Signed-off-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
Acked-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>x86: fsp: Enlarge the size of malloc() pool before relocation</title>
<updated>2015-08-26T14:54:11Z</updated>
<author>
<name>Bin Meng</name>
<email>bmeng.cn@gmail.com</email>
</author>
<published>2015-08-20T13:40:19Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=57b10f59b7c6ff0d3827e39acb6c3e348adbc14a'/>
<id>urn:sha1:57b10f59b7c6ff0d3827e39acb6c3e348adbc14a</id>
<content type='text'>
After fsp_init() returns, the stack has already been switched to a
place within system memory as defined by CONFIG_FSP_TEMP_RAM_ADDR.
Enlarge the size of malloc() pool before relocation since we have
plenty of memory now.

Signed-off-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
Acked-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>x86: Switch to using generic global_data setup</title>
<updated>2015-08-14T15:50:10Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2015-08-11T02:44:32Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=f0c7d9c74642ccd6c76993b721b0fb87aab685fa'/>
<id>urn:sha1:f0c7d9c74642ccd6c76993b721b0fb87aab685fa</id>
<content type='text'>
There is quite a bit of assembler code that can be removed if we use the
generic global_data setup. Less arch-specific code makes it easier to add
new features and maintain the start-up code.

Drop the unneeded code and adjust the hooks in board_f.c to cope.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
Reviewed-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
</content>
</entry>
<entry>
<title>x86: Enable debug UART for Minnowmax</title>
<updated>2015-08-06T13:44:30Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2015-08-03T00:07:21Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=bbbe55f6f25e686ad799c2a70aa941eeb276adb6'/>
<id>urn:sha1:bbbe55f6f25e686ad799c2a70aa941eeb276adb6</id>
<content type='text'>
Enable the debug UART and emit a single 'a' early in the init sequence to
show that it is working.

Unfortunately the debug UART implementation needs a stack to work. I cannot
seem to remove this limitation as the absolute 'jmp %eax' instruction goes
off into the weeds.

So this means that the character output cannot be any earlier than
car_init_ret, where memory is available for a stack.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
Reviewed-by: Lukasz Majewski &lt;l.majewski@samsung.com&gt;
</content>
</entry>
<entry>
<title>x86: Add support for passing tables into U-Boot</title>
<updated>2015-08-05T14:44:07Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2015-08-04T18:33:57Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=42fde30500eef6795129c3e4fda9951048c76617'/>
<id>urn:sha1:42fde30500eef6795129c3e4fda9951048c76617</id>
<content type='text'>
The EFI stub provides information to U-Boot in a table. This includes the
memory map which is needed to decide where to relocate U-Boot. Collect this
information in the early init code and store it in global_data.

Fix up the BIST code at the same time since we don't have it when booting
from EFI and can assume it is 0.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
Reviewed-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
</content>
</entry>
<entry>
<title>x86: Tidy up global_data flags</title>
<updated>2015-08-05T14:42:40Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2015-07-31T15:31:28Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=83ec7de3bc17dda42d681d3a015191a23c6f1f73'/>
<id>urn:sha1:83ec7de3bc17dda42d681d3a015191a23c6f1f73</id>
<content type='text'>
These flags now overlap some global ones. Adjust the x86-specific flags to
avoid this. Since this requires a change to the start.S code, add a way for
tools to find the 32-bit cold reset entry point. Previously this was at a
fixed offset.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
Reviewed-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
</content>
</entry>
<entry>
<title>x86: Add various minor tidy-ups to the 32-bit startup code</title>
<updated>2015-08-05T14:42:40Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2015-07-31T15:31:25Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=da3a95d60bb4476776126f453a0dc2c522d5d711'/>
<id>urn:sha1:da3a95d60bb4476776126f453a0dc2c522d5d711</id>
<content type='text'>
Fix a typo, improve some comments and add a little more detail in some
cases.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
Reviewed-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
</content>
</entry>
<entry>
<title>x86: fsp: Move FspInitEntry call to board_init_f()</title>
<updated>2015-07-15T00:03:15Z</updated>
<author>
<name>Bin Meng</name>
<email>bmeng.cn@gmail.com</email>
</author>
<published>2015-06-07T03:33:14Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=aefaff8ed83472da5ba96e179231eee665e2d843'/>
<id>urn:sha1:aefaff8ed83472da5ba96e179231eee665e2d843</id>
<content type='text'>
The call to FspInitEntry is done in arch/x86/lib/fsp/fsp_car.S so far.
It worked pretty well but looks not that good. Apart from doing too
much work than just enabling CAR, it cannot read the configuration
data from device tree at that time. Now we want to move it a little
bit later as part of init_sequence_f[] being called by board_init_f().
This way it looks and works better in the U-Boot initialization path.

Due to FSP's design, after calling FspInitEntry it will not return to
its caller, instead it jumps to a continuation function which is given
by bootloader with a new stack in system memory. The original stack in
the CAR is gone, but its content is perserved by FSP and described by
a bootloader temporary memory HOB. Technically we can recover anything
we had before in the previous stack, but that is way too complicated.
To make life much easier, in the FSP continuation routine we just
simply call fsp_init_done() and jump back to car_init_ret() to redo
the whole board_init_f() initialization, but this time with a non-zero
HOB list pointer saved in U-Boot's global data so that we can bypass
the FspInitEntry for the second time.

Signed-off-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
Acked-by: Simon Glass &lt;sjg@chromium.org&gt;
Tested-by: Andrew Bradford &lt;andrew.bradford@kodakalaris.com&gt;
Tested-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
</feed>
