uboot/include
Graeme Russ abf0cd3dff Rewrite i386 interrupt handling
Rewrite interrupt handling functionality for the i386 port. Separated
functionality into separate CPU and Architecture components.

It appears as if the i386 interrupt handler functionality was intended
to allow multiple handlers to be installed for a given interrupt.
Unfortunately, this functionality was not fully implemented and also
had the problem that irq_free_handler() does not allow the passing
of the handler function pointer and therefore could never be used to
free specific handlers that had been installed for a given IRQ.

There were also various issues with array bounds not being fully
tested.

I had two objectives in mind for the new implementation:

1) Keep the implementation as similar as possible to existing
   implementations. To that end, I have used the leon2/3
   implementations as the reference

2) Seperate CPU and Architecture specific elements. All specific i386
   interrupt functionality is now in cpu/i386/ with the high level
   API and architecture specific code in lib_i386. Functionality
   specific to the PC/AT architecture (i.e. cascaded i8259 PICs) has
   been further split out into an individual file to allow for the
   implementation of the PIC architecture of the SC520 CPU (supports
   more IRQs)

Signed-off-by: Graeme Russ <graeme.russ at gmail.com>
2009-03-20 22:39:13 +01:00
..
asm-arm remove bi_enet*addr from global data for all arches 2009-03-20 22:39:12 +01:00
asm-avr32 remove bi_enet*addr from global data for all arches 2009-03-20 22:39:12 +01:00
asm-blackfin remove bi_enet*addr from global data for all arches 2009-03-20 22:39:12 +01:00
asm-i386 Rewrite i386 interrupt handling 2009-03-20 22:39:13 +01:00
asm-m68k remove bi_enet*addr from global data for all arches 2009-03-20 22:39:12 +01:00
asm-microblaze remove bi_enet*addr from global data for all arches 2009-03-20 22:39:12 +01:00
asm-mips remove bi_enet*addr from global data for all arches 2009-03-20 22:39:12 +01:00
asm-nios remove bi_enet*addr from global data for all arches 2009-03-20 22:39:12 +01:00
asm-nios2 remove bi_enet*addr from global data for all arches 2009-03-20 22:39:12 +01:00
asm-ppc ppc: mark global bi_enet*addr as legacy 2009-03-20 22:39:12 +01:00
asm-sh remove bi_enet*addr from global data for all arches 2009-03-20 22:39:12 +01:00
asm-sparc remove bi_enet*addr from global data for all arches 2009-03-20 22:39:12 +01:00
bedbug
configs Rewrite i386 interrupt handling 2009-03-20 22:39:13 +01:00
cramfs
galileo rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
jffs2 jffs2: summary support 2008-12-09 23:39:59 +01:00
linux NAND: rename NAND_MAX_CHIPS to CONFIG_SYS_NAND_MAX_CHIPS 2009-01-23 10:32:51 -06:00
lzma Add support for LZMA uncompression algorithm. 2008-09-13 01:59:07 +02:00
mtd UBI: Add basic UBI support to U-Boot (Part 7/8) 2008-11-19 20:34:39 +01:00
pcmcia
u-boot
.gitignore Update U-Boot's build timestamp on every compile 2008-12-06 23:36:43 +01:00
4xx_i2c.h rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
74xx_7xx.h powerpc: Move duplicated BAT defines to mmu.h 2009-02-10 00:27:40 +01:00
405_dimm.h
405_mal.h
ACEX1K.h
MCD_dma.h
MCD_progCheck.h
MCD_tasksInit.h
SA-1100.h
_exports.h
addr_map.h Introduce addr_map library 2008-12-15 22:05:36 +01:00
ahci.h
ali512x.h Move ali512x.h 2009-03-20 22:39:13 +01:00
altera.h rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
ambapp.h
api_public.h API: Improve glue mid-layer of the API demo application. 2009-02-18 00:39:44 +01:00
arm920t.h
arm925t.h
arm926ejs.h
arm946es.h
armcoremodule.h
at45.h
at91rm9200_i2c.h
at91rm9200_net.h
ata.h rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
atmel_lcdc.h
bcd.h
bcm5221.h
bmp_layout.h
bzlib.h
circbuf.h
clps7111.h
command.h Command usage cleanup 2009-01-28 08:49:52 +01:00
common.h boards: get mac address from env and move load_sernum_ethaddr() to board init 2009-03-20 22:39:12 +01:00
commproc.h 8xx, mgsuvd: rename board to a more generic name 2009-03-18 20:50:04 +01:00
config_cmd_all.h rename CONFIG_CMD_ENV to CONFIG_CMD_SAVEENV 2009-02-18 00:47:43 +01:00
config_cmd_default.h rename CONFIG_CMD_ENV to CONFIG_CMD_SAVEENV 2009-02-18 00:47:43 +01:00
console.h
crc.h
da9030.h
dataflash.h rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
ddr_spd.h Add proper SPD definitions for DDR1/2/3 2008-08-27 02:05:53 +02:00
devices.h arm: add uart dcc support 2009-02-22 15:49:28 +01:00
div64.h Add a do_div() wrapper macro, lldiv(). 2009-01-24 00:23:09 +01:00
dm9161.h
dp83848.h
ds4510.h Add support for Maxim's DS4510 I2C device 2009-01-24 01:47:50 +01:00
dtt.h rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
e500.h Add secondary CPUs processor frequency for e500 core 2009-01-23 17:03:14 -06:00
elf.h
environment.h rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
exports.h UBI: Add basic UBI support to U-Boot (Part 6/8) 2008-11-19 20:34:39 +01:00
ext2fs.h
fat.h Remove non-ascii characters from fat code 2008-12-04 20:51:44 +01:00
fdc.h
fdt.h powerpc: Fix bootm to boot up again with a Ramdisk 2008-09-13 02:03:38 +02:00
fdt_support.h fdt: Added helper to set PCI dma-ranges property 2008-10-24 17:34:57 -05:00
fis.h
flash.h cfi: make flash_get_info() non static 2009-02-11 17:01:17 +01:00
fpga.h rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
fsl_esdhc.h Add support for the Freescale eSDHC found on 8379 and 8536 SoCs 2009-02-16 18:07:42 -06:00
hush.h hush: add showvar command for hush shell. 2008-10-18 21:54:02 +02:00
i2c.h i2c.h: drop i2c_reg_{read, write} hack for Blackfin parts 2009-02-12 08:41:24 +01:00
i8042.h rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
ide.h rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
image.h include/image.h: Ease grepping of image_* functions 2009-02-18 00:48:42 +01:00
iomux.h IOMUX: Add console multiplexing support. 2008-12-07 01:23:35 +01:00
ioports.h
keyboard.h
kgdb.h
lcd.h LCD: support 8bpp BMPs on 16bpp displays 2009-02-24 10:19:00 +01:00
lcdvideo.h
lh7a40x.h rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
lh7a400.h
lh7a404.h
libata.h
libfdt.h libfdt: Fix error in documentation for fdt_get_alias_namelen() 2008-10-04 07:56:06 -04:00
libfdt_env.h libfdt: Fix redefined uintptr_t warning for USE_HOSTCC 2008-12-10 00:59:15 +01:00
linux_logo.h
lmb.h Fix LMB type issues 2008-07-10 00:39:28 +02:00
logbuff.h
lpd7a400_cpld.h
lxt971a.h Remove duplicate definitions in include/lxt971a.h. 2008-07-06 23:44:34 -07:00
lynxkdi.h
malloc.h
mb862xx.h Fix whitespace damage: double space changed to a tab 2009-02-11 23:03:41 +01:00
mii_phy.h
miiphy.h rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
mk48t59.h rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
mmc.h Add MMC Framework 2009-02-16 18:07:41 -06:00
mpc5xx.h rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
mpc5xxx.h rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
mpc5xxx_sdma.h Move MPC5xxx_FEC driver to drivers/net 2008-08-29 13:58:07 -06:00
mpc8xx.h
mpc8xx_irq.h rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
mpc83xx.h 83xx: add missing TIMING_CFG1_CASLAT_* defines 2009-02-16 19:17:19 -06:00
mpc85xx.h 83xx/85xx: further localbus cleanups 2008-06-10 18:22:25 -05:00
mpc86xx.h powerpc: Move duplicated BAT defines to mmu.h 2009-02-10 00:27:40 +01:00
mpc106.h rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
mpc512x.h ADS5121 Add PATA support 2009-02-03 15:40:29 -07:00
mpc824x.h powerpc: Move duplicated BAT defines to mmu.h 2009-02-10 00:27:40 +01:00
mpc8220.h rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
mpc8260.h
mpc8260_irq.h
nand.h NAND: move board_nand_init to nand.h 2009-01-23 10:32:49 -06:00
net.h net: new utility functions for working with enetaddr's 2009-03-20 22:39:09 +01:00
netdev.h Merge branch 'master' of git://git.denx.de/u-boot-arm 2009-02-19 00:46:32 +01:00
nios-io.h
nios.h
nios2-epcs.h
nios2-io.h
nios2.h
nomadik.h Added nomadik.h header 2009-02-22 13:39:27 +01:00
ns7520_eth.h Remove duplicate definitions in include/lxt971a.h. 2008-07-06 23:44:34 -07:00
ns9750_bbus.h
ns9750_eth.h Remove duplicate definitions in include/lxt971a.h. 2008-07-06 23:44:34 -07:00
ns9750_mem.h
ns9750_ser.h
ns9750_sys.h
ns16550.h rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
ns87308.h rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
onenand_uboot.h Compile warning fix in onenand_uboot.h 2009-02-02 20:42:15 +01:00
part.h Add support for CONFIG_EFI_PARTITION (GUID Partition Table) 2008-10-18 21:54:01 +02:00
pc_keyb.h
pca953x.h Add support for PCA953x I2C gpio devices 2008-12-19 18:11:49 -06:00
pci.h PCI: Add pci_last_busno() helper 2009-02-23 15:51:10 -06:00
pci_ids.h mpc85xx: Add support for the MPC8536 2008-08-27 11:43:54 -05:00
pcmcia.h rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
post.h FPU POST: fix warnings when building with 2.18 binutils 2009-01-24 01:49:41 +01:00
ppc4xx.h ppc4xx: Add routine to retrieve CPU number 2008-10-21 17:34:56 +02:00
ppc4xx_enet.h rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
ppc405.h rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
ppc440.h ppc4xx: Added ppc4xx-isram.h for internal SRAM and L2 cache DCRs 2008-11-21 10:52:33 +01:00
ppc_asm.tmpl
ppc_defs.h
ps2mult.h rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
radeon.h rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
reiserfs.h
rtc.h rtc: allow rtc_set to return an error and use it in cmd_date 2008-09-07 00:56:36 +02:00
s3c24x0.h
s3c64x0.h ARM: Add arm1176 core with S3C6400 SoC 2008-08-31 00:39:46 +02:00
s3c2400.h
s3c2410.h
s3c6400.h ARM: Add arm1176 core with S3C6400 SoC 2008-08-31 00:39:46 +02:00
s6e63d6.h A driver for the S6E63D6 SPI display controller from Samsung 2009-02-24 10:00:28 +01:00
s_record.h
sa1100.h
sata.h SATA: do not auto-initialize during boot 2009-01-27 23:42:39 +01:00
scsi.h
sed156x.h
sed13806.h
serial.h rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
sha1.h
sha256.h include/sha256.h: fix file permissions. 2008-07-06 01:21:46 +02:00
sm501.h
smiLynxEM.h
spartan2.h
spartan3.h Fix Spartan-3 definitions. 2008-09-22 22:07:20 +02:00
spd.h
spd_sdram.h
spi.h Move conditional compilation of MPC8XXX SPI driver to Makefile 2008-07-01 21:02:11 +02:00
spi_flash.h
status_led.h Blackfin: implement general support for CONFIG_STATUS_LED 2009-01-28 13:26:12 -05:00
stratixII.h
sym53c8xx.h
systemace.h
timestamp.h Update U-Boot's build timestamp on every compile 2008-12-06 23:36:43 +01:00
tsec.h net: tsec: Fix Marvell 88E1121R phy init 2008-12-04 22:51:54 -08:00
tsi108.h
ubi_uboot.h Coding style cleanup, update CHANGELOG. 2008-12-16 01:02:17 +01:00
universe.h
usb.h usb : musb : Enabling DM6446 (TI DaVinci) USB module power 2009-01-28 19:57:30 +01:00
usb_cdc_acm.h
usb_defs.h Prepare USB layer for ehci 2009-01-28 19:57:27 +01:00
usbdcore.h Consolidate MAX/MIN definitions 2008-11-02 16:23:46 +01:00
usbdcore_ep0.h
usbdcore_mpc8xx.h
usbdcore_omap1510.h usbtty/omap: update to current API 2008-12-09 21:12:41 +01:00
usbdescriptors.h
version.h
vfd_logo.h
video.h
video_ad7176.h
video_ad7177.h
video_ad7179.h
video_easylogo.h
video_fb.h
video_font.h
video_logo.h
virtex2.h
vsc7385.h
vxworks.h vxworks.h: Fix build problem introduced by commits 29a4c24d/e9084b23 2008-12-09 00:24:30 +01:00
w83c553f.h rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
watchdog.h
xilinx.h rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
xyzModem.h
zlib.h