coreboot/src/include
Bora Guvendik a347ea3787 lib/malloc: Implement a simple free() only for last malloc()
Implement a free() that supports only the last malloc(). Rewind
the heap to the last allocation point if the ptr to be freed is
matching the end of heap before last malloc(). With current situation,
since free() is no-op, every call to malloc() is a memory leak.

BUG=b:140124451
TEST=Wrote a test function to do malloc and free operations.

Change-Id: I6d43cf54b79e6897cf6882335730b2310e4eae45
Signed-off-by: Bora Guvendik <bora.guvendik@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/37919
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2020-01-02 18:22:53 +00:00
..
boot src: Use 'include <boot/coreboot_tables.h>' when appropriate 2019-10-27 17:48:30 +00:00
console Drop ROMCC code and header guards 2019-12-19 03:25:05 +00:00
cpu src: Use '#include <smp/node.h>' when appropriate 2019-12-19 05:23:25 +00:00
device src/include: Remove unused <stdlib.h> 2020-01-02 09:05:44 +00:00
efi include/efi/efi_datatype: Convert EFI datatypes as per coreboot specification 2019-03-09 04:25:31 +00:00
pc80 drivers/pc80/mc146818rtc: Remove read_option_lowlevel() 2020-01-02 12:37:08 +00:00
smp coreboot: Replace all IS_ENABLED(CONFIG_XXX) with CONFIG(XXX) 2019-03-08 08:33:24 +00:00
superio superio/hwm5_conf: factor out HWM access from ITE env_ctrl 2019-10-08 18:06:56 +00:00
sys src/include: Add guards on all header files 2017-08-01 23:04:15 +00:00
adainit.h coreboot: Replace all IS_ENABLED(CONFIG_XXX) with CONFIG(XXX) 2019-03-08 08:33:24 +00:00
assert.h src/include/assert.h: add noreturn attribute to dead_code() 2019-05-17 07:16:50 +00:00
b64_decode.h
base3.h
bcd.h
boardid.h ec/google/chromeec: Update google_chromeec_get_board_version prototype 2018-09-20 17:15:26 +00:00
boot_device.h boot_device: Constify argument 2019-05-12 07:47:45 +00:00
bootblock_common.h AGESA,binaryPI: Add compatibility wrapper for romstage entry 2019-11-30 08:15:30 +00:00
bootmem.h include: Make stdbool.h a separate file 2019-11-18 22:47:13 +00:00
bootmode.h vboot: deprecate physical dev switch 2019-03-27 06:13:27 +00:00
bootsplash.h lib/coreboot_table: Show splashscreen in lb_table_init 2019-09-15 11:10:58 +00:00
bootstate.h src/include: Remove unused <stdlib.h> 2020-01-02 09:05:44 +00:00
cbfs.h cbfs: switch to region_device for location APIs 2019-11-20 13:27:44 +00:00
cbmem.h lib/cbmem: Remove the cbmem_top_init() hook 2019-11-10 15:39:00 +00:00
cper.h coreboot: Replace all IS_ENABLED(CONFIG_XXX) with CONFIG(XXX) 2019-03-08 08:33:24 +00:00
crc_byte.h lib: add calculate crc byte by byte 2019-11-06 13:58:53 +00:00
ctype.h add ctype.h header 2019-06-24 21:15:14 +00:00
delay.h cpu/x86/lapic: Refactor timer_fsb() 2019-09-19 09:28:55 +00:00
device_tree.h device_tree: Update comment style to C89 2019-06-21 09:23:19 +00:00
dimm_info_util.h src/*: normalize Google copyright headers 2018-09-28 07:13:00 +00:00
edid.h lib: edid: Move manufacturer name from private extra to public info 2019-08-15 03:04:08 +00:00
elog.h ELOG: Introduce elog_gsmi variants 2019-11-09 10:49:47 +00:00
endian.h Drop ROMCC code and header guards 2019-12-19 03:25:05 +00:00
fallback.h pc80: Move set_boot_successful() 2016-12-13 19:15:22 +01:00
fit.h fit: Add overlay support 2019-06-21 09:22:31 +00:00
fit_payload.h lib: Add FIT payload support 2018-06-19 18:10:05 +00:00
fmap.h fmap: Add get_fmap_flash_offset() 2019-09-27 21:59:44 +00:00
gic.h coreboot: Replace all IS_ENABLED(CONFIG_XXX) with CONFIG(XXX) 2019-03-08 08:33:24 +00:00
gpio.h gpio: Change gpio_baseX_value() function return types to unsigned 2018-08-03 18:10:02 +00:00
halt.h Drop ROMCC code and header guards 2019-12-19 03:25:05 +00:00
imd.h
inttypes.h include, lib: Add <inttypes.h> printf macros 2019-08-10 08:47:08 +00:00
ip_checksum.h src/include: Wrap lines at 80 columns 2017-03-13 17:23:37 +01:00
kconfig.h kconfig: Drop IS_ENABLED() macro 2019-06-04 13:33:40 +00:00
lib.h Drop ROMCC code and header guards 2019-12-19 03:25:05 +00:00
list.h lib/devicetree: Integrate flattened devicetree support 2018-04-30 09:33:32 +00:00
main_decl.h arches: lib: add main_decl.h for main() declaration 2016-02-11 23:29:08 +01:00
memlayout.h fmap: Make FMAP_CACHE mandatory if it is configured in 2019-12-11 11:42:26 +00:00
memory_info.h src/soc/intel/common/smbios: Add addtional infos to dimm_info 2019-06-06 11:32:52 +00:00
memrange.h lib/memrange: Introduce method to clone memrange 2018-04-11 15:11:04 +00:00
mrc_cache.h drivers/mrc_cache: Add missing include file to mrc_cache.h 2017-12-18 16:07:09 +00:00
nhlt.h lib/hardwaremain: Fix more ACPI/IOAPIC typos 2019-01-31 04:34:53 +00:00
option.h coreboot: Replace all IS_ENABLED(CONFIG_XXX) with CONFIG(XXX) 2019-03-08 08:33:24 +00:00
program_loading.h bootblock: Support normal/fallback mechanism again 2019-12-27 08:59:20 +00:00
ramdetect.h lib: ramdetect: Register exception handlers for ARMv8 2019-08-26 07:14:03 +00:00
random.h arch/x86: add functions to generate random numbers 2017-02-20 04:46:10 +01:00
reg_script.h soc/intel/fsp_baytrail: Drop support 2019-11-21 06:41:09 +00:00
region_file.h lib: add region file support 2016-12-08 16:10:28 +01:00
reset.h reset: Finalize move to new API 2018-10-31 15:29:42 +00:00
rmodule.h coreboot: Replace all IS_ENABLED(CONFIG_XXX) with CONFIG(XXX) 2019-03-08 08:33:24 +00:00
romstage_handoff.h src/*: normalize Google copyright headers 2018-09-28 07:13:00 +00:00
rtc.h src/include: Open brace on same line as enum or struct 2017-03-12 15:46:23 +01:00
rules.h kill CAR_GLOBAL_MIGRATION leftovers 2019-11-30 16:12:04 +00:00
sar.h vendorcode/google: support multiple SAR filenames 2018-12-17 14:26:10 +00:00
sdram_mode.h src/include: Remove spaces before tabs 2017-03-12 15:45:37 +01:00
smbios.h SMBIOS: Add 'CXL FLexbus 1.0' memory array location 2019-11-11 22:36:55 +00:00
smmstore.h smmstore: make smmstore's SMM handler code follow everything else 2018-12-05 13:31:22 +00:00
spd.h src/lib/dimm_info_util.c: Add methods to convert from SMBIOS to SPD 2018-04-11 14:41:59 +00:00
spd_bin.h lib/spd_bin.c: Drop CAR_GLOBAL_MIGRATION support 2019-11-29 09:09:19 +00:00
spd_ddr2.h src/include: Add guards on all header files 2017-08-01 23:04:15 +00:00
spi-generic.h drivers/spi/spi_flash.c: Add SPI vendor IDs 2019-09-04 22:40:46 +00:00
spi_bitbang.h spi: Add helper functions for bit-banging 2018-04-03 00:34:52 +00:00
spi_flash.h spi_flash: Add Dual SPI support 2019-06-10 18:02:33 +00:00
spi_sdcard.h drivers/spi: add drivers for sdcard mounted on the spi bus 2019-11-14 11:38:38 +00:00
stage_cache.h lib/stage_cache: Refactor Kconfig options 2019-08-08 04:50:33 +00:00
stdbool.h Drop ROMCC code and header guards 2019-12-19 03:25:05 +00:00
stddef.h Drop ROMCC code and header guards 2019-12-19 03:25:05 +00:00
stdint.h Drop ROMCC code and header guards 2019-12-19 03:25:05 +00:00
stdlib.h lib/malloc: Implement a simple free() only for last malloc() 2020-01-02 18:22:53 +00:00
string.h src/include: Remove unused <stdlib.h> 2020-01-02 09:05:44 +00:00
swab.h Drop ROMCC code and header guards 2019-12-19 03:25:05 +00:00
symbols.h lib/fmap: Add optional pre-RAM cache 2019-11-14 03:30:11 +00:00
thread.h src/: Replace some __PRE_RAM__ use 2019-09-14 11:16:17 +00:00
timer.h coreboot: Replace all IS_ENABLED(CONFIG_XXX) with CONFIG(XXX) 2019-03-08 08:33:24 +00:00
timestamp.h timestamps: Remove TIMESTAMP_CACHE_IN_BSS 2019-09-13 19:48:26 +00:00
trace.h lib/trace: Replace __PRE_RAM__ use 2019-09-23 21:38:50 +00:00
types.h include: Make stdbool.h a separate file 2019-11-18 22:47:13 +00:00
uuid.h lib/uuid: Add UUID parsing function 2019-11-01 11:38:22 +00:00
vbe.h src: Use 'include <boot/coreboot_tables.h>' when appropriate 2019-10-27 17:48:30 +00:00
version.h ACPI: Correct asl_compiler_revision value 2019-02-21 19:07:31 +00:00
watchdog.h coreboot: Replace all IS_ENABLED(CONFIG_XXX) with CONFIG(XXX) 2019-03-08 08:33:24 +00:00
wrdd.h Remove extra newlines from the end of all coreboot files. 2016-07-31 18:19:33 +02:00