rv1126-uboot/include
Stefan Brüns 42417bc84d efi_loader: Track size of pool allocations to allow freeing
We need a functional free_pool implementation, as otherwise each
allocate_pool causes growth of the memory descriptor table.

Different to free_pages, free_pool does not provide the size for the
to be freed allocation, thus we have to track the size ourselves.

As the only EFI requirement for pool allocation is an alignment of
8 bytes, we can keep allocating a range using the page allocator,
reserve the first 8 bytes for our bookkeeping and hand out the
remainder to the caller. This saves us from having to use any
independent data structures for tracking.

To simplify the conversion between pool allocations and the corresponding
page allocation, we create an auxiliary struct efi_pool_allocation.

Given the allocation size free_pool size can handoff freeing the page
range, which was indirectly allocated by a call to allocate_pool,
to free_pages.

Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Reviewed-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
2016-10-18 09:08:07 +02:00
..
andestech
asm-generic Add _image_binary_end section declaration 2016-10-11 11:55:33 +08:00
bedbug
cavium
configs Merge git://git.denx.de/u-boot-mpc85xx 2016-10-15 13:03:19 -04:00
cramfs
dm dm: core: Add a function to get a uclass name 2016-10-11 11:55:33 +08:00
dt-bindings dt-bindings: add i.mx6ul clock header 2016-10-04 15:41:01 +02:00
faraday
fsl-mc
grlib
jffs2
linux list: Add list_last_entry() to find the last entry 2016-10-11 11:55:33 +08:00
lzma
mtd
net
pcmcia
power power: pmic: lp873x: Add the base pmic support 2016-10-11 10:17:06 -06:00
samsung
spmi
synopsys
test tests: Introduce DT overlay tests 2016-08-20 11:35:07 -04:00
u-boot
usb Move ENOTSUPP defines to include/linux/errno.h 2016-09-23 22:25:43 -04:00
zfs
.gitignore
ACEX1K.h
MCD_dma.h
MCD_progCheck.h
MCD_tasksInit.h
SA-1100.h
_exports.h x86: Don't export interrupt handlers with x86_64 2016-10-11 11:55:33 +08:00
adc.h
addr_map.h
aes.h
ahci.h
ali512x.h
altera.h
ambapp.h
ambapp_ids.h
android_image.h
ansi.h
api_public.h
armcoremodule.h
asm-offsets.h
ata.h
atmel_hlcdc.h
atmel_lcd.h
atmel_lcdc.h
atmel_mci.h
autoboot.h
axp152.h
axp209.h
axp221.h
axp809.h
axp818.h
axp_pmic.h
backlight.h
bcd.h
bios_emul.h
bitfield.h
blk.h
bmp_layout.h
bootcount.h
bootm.h
bootretry.h
bootstage.h
bouncebuf.h
bus_vcxk.h
bzlib.h
cbfs.h
circbuf.h
cli.h
cli_hush.h
clk-uclass.h
clk.h Revert "ns16650: Make sure we have CONFIG_CLK set before using infrastructure" 2016-10-08 09:33:31 -04:00
cmd_spl.h
command.h
common.h Use separate options for TPL support 2016-09-16 17:03:39 -04:00
common_timing_params.h
commproc.h
compiler.h compiler.h: use system endian macros on OpenBSD 2016-09-07 08:49:06 -04:00
config_cmd_all.h kconfig: introduce kconfig for UBI 2016-09-26 13:24:43 -04:00
config_defaults.h
config_distro_bootcmd.h
config_distro_defaults.h cmd: booti: move CONFIG_CMD_BOOTI to Kconfig 2016-08-20 11:35:08 -04:00
config_fallbacks.h
config_fsl_chain_trust.h
config_phylib_all_drivers.h
config_uncmd_spl.h
console.h
cortina.h
cpsw.h driver: net: cpsw: add support for RGMII id mode support and RMII clock source selection 2016-10-13 12:25:02 -05:00
cpu.h
crc.h
cros_ec.h cmd: cros_ec: Move crosec commands to cmd subdirectory 2016-10-11 10:17:08 -06:00
cros_ec_message.h
dataflash.h
ddr_spd.h
debug_uart.h
dfu.h
dialog_pmic.h
display.h
display_options.h
div64.h
dm-demo.h
dm.h
dm9000.h
dma.h
dp83848.h
ds1722.h
ds4510.h
dt-structs.h
dtt.h
dwc3-omap-uboot.h
dwc3-uboot.h
dwmmc.h mmc: dw_mmc: remove the unnecessary arguments for dwmci_setup_cfg 2016-10-10 15:23:33 +09:00
e500.h
ec_commands.h
edid.h
eeprom_field.h
eeprom_layout.h
efi.h efi_loader: provide efi_mem_desc version 2016-09-07 08:49:07 -04:00
efi_api.h
efi_loader.h efi_loader: Track size of pool allocations to allow freeing 2016-10-18 09:08:07 +02:00
elf.h elf: Add the Elf64_Rela type 2016-10-11 11:55:33 +08:00
env_attr.h
env_callback.h
env_default.h
env_flags.h
environment.h Various, accumulated typos collected from around the tree. 2016-10-06 20:57:40 -04:00
errno.h treewide: replace #include <asm-generic/errno.h> with <linux/errno.h> 2016-09-23 22:25:27 -04:00
ethsw.h
exports.h Export memset for standalone AQ FW load apps 2016-09-14 14:09:50 -07:00
ext4fs.h ext4: Use helper function to access group descriptor and its fields 2016-09-23 09:20:15 -04:00
ext_common.h ext4: Update ext2/3/4 superblock, group descriptor and inode structures 2016-09-23 09:18:55 -04:00
exynos_lcd.h
fastboot.h
fat.h fs/fat: Do not write unmodified fat entries to disk 2016-09-23 08:55:56 -04:00
fb_mmc.h
fb_nand.h
fdt.h
fdt_simplefb.h
fdt_support.h cmd/fdt: add possibilty to have 'extrasize' on fdt resize 2016-10-13 13:54:10 -06:00
fdtdec.h usb: uniphier: remove UniPhier xHCI driver and select DM_USB 2016-09-14 22:54:19 +09:00
fis.h
flash.h
fm_eth.h
fpga.h
fs.h
fsl_csu.h fsl: csu: add an API to set R/W permission to PCIe 2016-09-14 14:07:08 -07:00
fsl_dcu_fb.h
fsl_ddr.h
fsl_ddr_dimm_params.h
fsl_ddr_sdram.h driver/ddr/fsl: Add more debug registers 2016-09-14 14:05:32 -07:00
fsl_ddrc_version.h
fsl_devdis.h
fsl_diu_fb.h
fsl_dspi.h
fsl_dtsec.h
fsl_errata.h
fsl_esdhc.h treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
fsl_fman.h
fsl_ifc.h
fsl_immap.h driver/ddr/fsl: Add more debug registers 2016-09-14 14:05:32 -07:00
fsl_mdio.h
fsl_memac.h
fsl_mmdc.h driver: ddr: fsl_mmdc: Pass board parameters through data structure 2016-09-26 08:53:07 -07:00
fsl_pmic.h
fsl_qe.h
fsl_sec.h
fsl_sec_mon.h fsl_sec_mon: Update driver for Security Monitor 2016-10-06 09:54:14 -07:00
fsl_secboot_err.h
fsl_sfp.h fsl_sfp : Modify macros as per changes in SFP v3.4 2016-10-06 09:56:28 -07:00
fsl_tgec.h
fsl_usb.h drivers: usb: xhci-fsl: Implement Erratum A-010151 for FSL USB3 controller 2016-09-27 23:30:49 +02:00
fsl_validate.h
fsl_wdog.h imx_watchdog: Do not assert WDOG_B on watchdog init 2016-10-04 12:01:14 +02:00
fuse.h
g_dnl.h common: dfu: saperate the dfu common functionality 2016-09-27 23:30:18 +02:00
gdsys_fpga.h
gt64120.h
hash.h
hw_sha.h
hwconfig.h treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
i2c.h
i2c_eeprom.h
i2s.h
i8042.h
ide.h
image-sparse.h
image.h tools: mkimage: add support for Vybrid image format 2016-10-06 09:06:16 +02:00
imx_thermal.h
initcall.h
input.h
inttypes.h
iomux.h
ioports.h
iotrace.h
ipu_pixfmt.h
key_matrix.h
keyboard.h
kgdb.h
lattice.h
lcd.h
lcd_console.h
lcdvideo.h
ld9040.h
led-display.h
led.h
libata.h
libfdt.h libfdt: Drop inlining of fdt_path_offset() 2016-10-13 14:12:40 -06:00
libfdt_env.h libfdt: Add new headers and defines 2016-08-20 11:35:00 -04:00
libtizen.h
linker_lists.h
linux_logo.h
lmb.h
logbuff.h
lxt971a.h
lynxkdi.h
mailbox-uclass.h
mailbox.h
malloc.h
mapmem.h
mb862xx.h
mc9sdz60.h
mc13783.h
mc13892.h
mc34704.h
memalign.h
membuff.h
menu.h
micrel.h
mii_phy.h
miiphy.h
mipi_display.h
misc.h
mk48t59.h
mmc.h mmc: sd: extracting erase related information from sd status 2016-09-20 06:46:01 +09:00
mpc5xx.h
mpc5xxx.h
mpc5xxx_sdma.h
mpc8xx.h
mpc8xx_irq.h
mpc83xx.h
mpc85xx.h
mpc86xx.h
mpc106.h
mpc823_lcd.h
mpc8260.h
mpc8260_irq.h
msc01.h
mtd.h
mtd_node.h
mv88e6352.h
mvebu_mmc.h
mvmfp.h
nand.h
net.h
netdev.h
ns16550.h
ns87308.h
nuvoton_nct6102d.h
onenand_uboot.h
os.h sandbox/fs: Free memory allocated by os_dirent_ls 2016-10-11 10:17:07 -06:00
palmas.h
panel.h
part.h disk: part: refactor generic name creation for DOS and ISO 2016-10-01 20:04:56 -04:00
part_efi.h fastboot: move FASTBOOT_FLASH options into Kconfig 2016-10-01 20:04:59 -04:00
pc_keyb.h
pca953x.h
pca9564.h
pca9698.h
pch.h
pci.h
pci_gt64120.h
pci_ids.h x86: baytrail: Add 2nd eMMC controller to the PCI probe list 2016-10-11 11:55:33 +08:00
pci_msc01.h
pci_rom.h
pcmcia.h
pe.h
phy.h
phys2bus.h
physmem.h
post.h
power-domain-uclass.h
power-domain.h
ppc_asm.tmpl
ppc_defs.h
ps2mult.h
pwm.h
pwrseq.h
pxa_lcd.h
qfw.h
radeon.h
ram.h
rc4.h
regmap.h
reiserfs.h
remoteproc.h
reset-uclass.h reset: declare fdtdec_phandle_args as struct to fix warning 2016-10-10 10:03:23 +09:00
reset.h reset: add no-op stubs for optional reset control 2016-09-23 22:25:44 -04:00
rtc.h
rtc_def.h
s6e63d6.h
s_record.h Various, accumulated typos collected from around the tree. 2016-10-06 20:57:40 -04:00
samsung-usb-phy-uboot.h
sandbox-adc.h
sandboxblockdev.h
sandboxfs.h
sata.h
scf0403_lcd.h
scsi.h
sdhci.h mmc: sdhci: Add the programmable clock mode support 2016-09-20 06:46:01 +09:00
search.h search.h: Numerous grammatical fixes, comment updates 2016-10-06 20:57:41 -04:00
sed156x.h
sed13806.h
serial.h
sh_pfc.h
sh_tmu.h
sja1000.h
slre.h
sm501.h
smsc_lpc47m.h
smsc_sio1007.h
sound.h
sparse_defs.h
sparse_format.h
spartan2.h
spartan3.h
spd.h
spd_sdram.h
spi.h spi: Remove SPI_RX_FAST 2016-09-22 01:02:28 +05:30
spi_flash.h spi: Move freescale-specific code into a private header 2016-10-06 15:07:35 -04:00
spl.h spl: Make spl_boot_list a local variable 2016-10-06 15:08:55 -04:00
splash.h
status_led.h
stdio_dev.h
stdlib.h
stratixII.h
sx151x.h
sy8106a.h
sym53c8xx.h
syscon.h
sysreset.h
tca642x.h
tegra-kbc.h
thermal.h
thor.h
ti-usb-phy-uboot.h
timer.h
timestamp.h
tmu.h
tpm.h
tps6586x.h
trace.h
tsec.h
tsi108.h
tsi148.h
twl4030.h
twl6030.h
tws.h
ubi_uboot.h kconfig: introduce kconfig for UBI 2016-09-26 13:24:43 -04:00
ubifs_uboot.h
ubispl.h
universe.h
usb.h
usb_cdc_acm.h
usb_defs.h
usb_ether.h
usb_mass_storage.h
usbdescriptors.h
usbdevice.h
usbroothubdes.h
uuid.h
vbe.h vbe: Make vbe_setup_video_priv() public 2016-10-12 10:56:51 +08:00
version.h Kconfig: Move config IDENT_STRING to Kconfig 2016-09-20 09:30:23 -04:00
video.h
video_bridge.h
video_console.h
video_easylogo.h
video_fb.h
video_font.h
video_font_4x6.h
video_font_data.h
video_logo.h
virtex2.h
vsc7385.h
vsc9953.h
vsprintf.h vsprintf: Include stdarg for va_list 2016-08-20 11:34:59 -04:00
vxworks.h
w83c553f.h
wait_bit.h treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
watchdog.h
winbond_w83627.h
xilinx.h fpga: xilinx: zynqmp: Add PL bitstream download support for ZynqMP 2016-09-22 07:33:21 +02:00
xyzModem.h
zfs_common.h
zynqmppl.h ARM64: zynqmp: Add support for chip ID detection 2016-09-22 07:33:21 +02:00
zynqpl.h