summaryrefslogtreecommitdiff
path: root/arch/x86/cpu/interrupts.c
AgeCommit message (Collapse)Author
2017-02-06x86: Move the i386 code into its own directorySimon Glass
Much of the cpu and interrupt code cannot be compiled on 64-bit x86. Move it into its own directory and build it only in 32-bit mode. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2016-10-11x86: Correct address casts in interrupt codeSimon Glass
We should cast an address to unsigned long, not u32. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2016-10-11x86: Allow interrupts to be disabled in 64-bit modeSimon Glass
Update the code to support both 32-bit and 64-bit modes. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2016-05-23x86: Call lapic_setup() in interrupt_init()Bin Meng
Let's configure LAPIC in a common place - interrupt_init(). Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2016-03-14dm: Use uclass_first_device_err() where it is usefulSimon Glass
Use this new function in places where it simplifies the code. Signed-off-by: Simon Glass <[email protected]>
2016-01-24dm: x86: Set up interrupt routing from interrupt_init()Simon Glass
At present interrupt routing is set up from arch_misc_init(). We can do it a little later instead, in interrupt_init(). This removes the manual pirq_init() call. Where the platform does not have an interrupt router defined in its device tree, no error is generated. Some platforms do not have this. Drop pirq_init() since it is no-longer used. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]> Tested-by: Bin Meng <[email protected]>
2015-11-13x86: Rename pcat_ to i8254 and i8259 accordinglyBin Meng
Rename pcat_timer.c to i8254.c and pcat_interrupts.c to i8259.c, to match their header file names (i8254.h and i8259.h). Signed-off-by: Bin Meng <[email protected]> Acked-by: Simon Glass <[email protected]>
2015-08-14x86: Show the un-relocated IP address in exceptionsSimon Glass
When trying to figure out where an exception has occured, the relocated address is not a lot of help. Its value depends on various factors. Show the un-relocated IP as well. This can be looked up in System.map directly. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2015-08-05x86: Handle running as EFI payloadSimon Glass
When U-Boot runs as an EFI payload it needs to avoid setting up the CPU again. Also U-Boot currently does not handle interrupts for many devices, so run with interrupts disabled. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2015-08-05x86: Add support for U-Boot as an EFI applicationBen Stoltz
Add the required x86 glue code. This includes the initial start-up, relocation and jumping to efi_main(). We also need to avoid fiddling with interrupts. Signed-off-by: Ben Stoltz <[email protected]> Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2015-08-05x86: Tidy up a few minor issues with interruptsSimon Glass
Fix a typo, remove an unused field and make sure to use existing #define constants instead of open-coded values. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2015-07-28x86: Simplify architecture defined exception handling in irq_llsr()Bin Meng
Instead of using switch..case for architecture defined exceptions, simply unify the handling by printing a message of exception name, followed by registers dump then halt the CPU. With this unification, it also fixes the wrong exception numbers for #MF/#AC/#MC/#XM which should be 16/17/18/19 not 15/16/17/18. Signed-off-by: Bin Meng <[email protected]> Acked-by: Simon Glass <[email protected]>
2015-07-28x86: Display correct CS/EIP/EFLAGS when there is an error codeBin Meng
Some exceptions cause an error code to be saved on the current stack after the EIP value. We should extract CS/EIP/EFLAGS from different position on the stack based on the exception number. Signed-off-by: Bin Meng <[email protected]> Acked-by: Simon Glass <[email protected]>
2015-04-29x86: Provide access to the IDTSimon Glass
Add a function to return the address of the Interrupt Descriptor Table. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2014-11-25x86: Drop old CONFIG_INTEL_CORE_ARCH codeSimon Glass
This is no-longer used, so drop it. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2014-11-25x86: Refactor interrupt_init()Bin Meng
Rename interrupt_init() in arch/x86/lib/pcat_interrupts.c to i8259_init() and create a new interrupt_init() in arch/x86/cpu/interrupt.c to call i8259_init() followed by a call to cpu_init_interrupts(). Signed-off-by: Bin Meng <[email protected]> Acked-by: Simon Glass <[email protected]> Tested-by: Simon Glass <[email protected]>
2014-11-21x86: Fix up some missing prototypesSimon Glass
Some functions are missing prototypes. Fix those that are specific to x86. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2013-07-24Add GPL-2.0+ SPDX-License-Identifier to source filesWolfgang Denk
Signed-off-by: Wolfgang Denk <[email protected]> [trini: Fixup common/cmd_io.c] Signed-off-by: Tom Rini <[email protected]>
2013-05-13x86: Declare global_data pointer when it is usedSimon Glass
Several files use the global_data pointer without declaring it. This works because the declaration is currently a NOP. But still it is better to fix this so that x86 lines up with other archs. Signed-off-by: Simon Glass <[email protected]>
2013-03-04x86: Permit bootstage and timer data to be used prior to relocationSimon Glass
It is useful to be able to access the timer before U-Boot has relocated so that we can fully support bootstage. Add new global_data members to support this. Signed-off-by: Simon Glass <[email protected]>
2012-12-06x86: Provide tick counter and frequency reference for Intel core architectureVadim Bendebury
Some u-boot modules rely on availability of get_ticks() and get_tbclk() functions, reporting a free running clock and its frequency respectively. Traditionally these functions return number and frequency of timer interrupts. Intel's core architecture processors however are known to run the rdtsc instruction at a constant rate of the so called 'Max Non Turbo ratio' times the external clock frequency which is 100MHz. This is just as good for the timer tick functions in question. Signed-off-by: Vadim Bendebury <[email protected]> Signed-off-by: Simon Glass <[email protected]>
2012-12-06x86: Add basic cache operationsStefan Reinauer
Add functions to enable/disable the data cache. Signed-off-by: Stefan Reinauer <[email protected]> Signed-off-by: Simon Glass <[email protected]>
2012-01-04x86: Tweak IDT and GDT for alignment and readabilityGraeme Russ
-- Changes for v2: - Renamed to better reflect nature of changes
2011-11-29x86: Ensure IDT and GDT remain 16-byte aligned post relocationGraeme Russ
Some CPUs have strict alignment requirements for these tables Signed-off-by: Graeme Russ <[email protected]>
2011-11-29cosmetic: checkpatch cleanup of arch/x86/cpu/*.cGraeme Russ
Signed-off-by: Graeme Russ <[email protected]>
2011-11-29x86: Call hang() on unrecoverable exceptionGraeme Russ
Signed-off-by: Graeme Russ <[email protected]>
2011-08-04Convert ISO-8859 files to UTF-8Albert ARIBAUD
There was a mix of UTF-8 and ISO-8859 files in the U-Boot source tree, which could cause issues with the patchwork review system. This commit converts all ISO-8859 files to UTF-8. Signed-off-by: Albert ARIBAUD <[email protected]>
2011-04-13x86: Rename i386 to x86Graeme Russ
Signed-off-by: Graeme Russ <[email protected]>