u-boot-brain/arch/x86/cpu
Bin Meng 5750e5e29a x86: quark: Optimize MRC execution time
Intel Quark SoC has a low end x86 processor with only 400MHz
frequency. Currently it takes about 15 seconds for U-Boot to
boot to shell and the most time consuming part is with MRC,
which is about 12 seconds. MRC programs lots of registers on
the SoC internal message bus indirectly accessed via pci bus.

To speed up the boot, create an optimized version of pci config
read/write dword routines which directly operate on PCI I/O ports.
These two routines are inlined to provide better performance too.
Now it only takes about 3 seconds to finish MRC, which is really
fast (4 times faster than before).

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
2015-09-09 07:48:03 -06:00
..
baytrail x86: baytrail: Remove the fsp_init_phase_pci() call 2015-08-26 07:54:12 -07:00
coreboot x86: coreboot: Convert to use more dm drivers 2015-09-09 07:48:03 -06:00
efi x86: Add relocation and link script for a 64-bit EFI application 2015-08-05 08:44:06 -06:00
ivybridge x86: Enable DM RTC support for all x86 boards 2015-07-28 10:36:22 -06:00
qemu x86: Add DSDT table for supporting ACPI on QEMU 2015-08-26 07:54:14 -07:00
quark x86: quark: Optimize MRC execution time 2015-09-09 07:48:03 -06:00
queensbay x86: queensbay: Move unprotect_spi_flash() to arch_misc_init() 2015-08-26 07:54:12 -07:00
call32.S x86: Add a way to call 32-bit code from 64-bit mode 2015-08-05 08:44:07 -06:00
call64.S x86: Tidy up the 64-bit calling code 2015-08-05 08:42:41 -06:00
config.mk x86: Add Kconfig options to be used by arch/x86/cpu/config.mk 2015-07-14 18:03:15 -06:00
cpu_x86.c x86: Move MP initialization codes into a common place 2015-07-14 18:03:16 -06:00
cpu.c x86: Switch to using generic global_data setup 2015-08-14 09:50:10 -06:00
interrupts.c x86: Show the un-relocated IP address in exceptions 2015-08-14 09:50:12 -06:00
ioapic.c x86: Add I/O APIC register access routines 2015-07-14 18:03:17 -06:00
irq.c x86: Allow pirq_init() to return an error 2015-08-14 03:24:21 -06:00
lapic.c x86: Remove inline for lapic access routines 2015-07-14 18:03:17 -06:00
Makefile x86: Add a way to call 32-bit code from 64-bit mode 2015-08-05 08:44:07 -06:00
mp_init.c x86: Set APs' req_seq to the reg number from device tree 2015-08-14 09:50:12 -06:00
mtrr.c x86: Test mtrr support flag before accessing mtrr msr 2015-01-23 17:24:55 -07:00
pci.c x86: Return -1 when reading a PCI config register fails 2015-08-14 09:50:13 -06:00
resetvec.S Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
sipi_vector.S x86: Add multi-processor init 2015-04-30 16:13:38 -06:00
start.S x86: fsp: Add comments about U-Boot entering start.S twice 2015-08-26 07:54:11 -07:00
start16.S x86: fsp: Load GDT before calling FspInitEntry 2015-07-14 18:03:15 -06:00
turbo.c x86: Add Intel speedstep and turbo mode code 2014-11-25 06:34:02 -07:00
u-boot.lds x86: Factor out common values in the link script 2014-11-25 06:33:59 -07:00