diff options
author | Angel Pons <th3fanbus@gmail.com> | 2019-07-25 12:19:44 +0200 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2019-12-09 09:51:23 +0000 |
commit | 3979def529ac6efeb37248e1bfc965112e6c86db (patch) | |
tree | f4802514891326292c5ae76b1abc84bca0553166 /payloads/bayou/self.c | |
parent | d01b67506735f685cdadab7a175529df23b50c8f (diff) | |
download | coreboot-3979def529ac6efeb37248e1bfc965112e6c86db.tar.xz |
payloads/bayou: remove unhooked payload
The bayou payload is not attached to the build system in any way, and
has not been for quite a while. Since selecting it in Kconfig does
nothing, remove this payload now that coreboot 4.10 has been released.
Change-Id: Icfb18b88e460a4e4b538b7efe907d4eef6c40638
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/34565
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: ron minnich <rminnich@gmail.com>
Reviewed-by: Nico Huber <nico.h@gmx.de>
Diffstat (limited to 'payloads/bayou/self.c')
-rw-r--r-- | payloads/bayou/self.c | 143 |
1 files changed, 0 insertions, 143 deletions
diff --git a/payloads/bayou/self.c b/payloads/bayou/self.c deleted file mode 100644 index 88e495b17a..0000000000 --- a/payloads/bayou/self.c +++ /dev/null @@ -1,143 +0,0 @@ -/* - * This file is part of the bayou project. - * - * Copyright (C) 2008 Advanced Micro Devices, Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - */ - -#include "bayou.h" -#include "self.h" - -static int nop_decompress(void *dst, void *src, int len) -{ - memcpy(dst, src, len); - return len; -} - -#ifdef CONFIG_LZMA -extern int ulzma(u8 *, u8 *); - -static int lzma_decompress(void *dst, void *src, int len) -{ - return ulzma((u8 *) src, (u8 *) dst); -} -#endif - -#ifdef CONFIG_NRV2B -extern int unrv2b(u8 *, u8 *, unsigned long *); - -static int nrv2b_decompress(void *dst, void *src, int len) -{ - unsigned long l = (u32) len; - return unrv2b(src, dst, &l); -} -#endif - -static int zeros_decompress(void *dst, void *src, int len) -{ - memset(dst, 0, len); - return len; -} - -int self_get_params(u8 *fptr, u8 **params) -{ - struct self_segment *seg = (struct self_segment *)fptr; - - while (seg->type != SELF_TYPE_ENTRY) { - if (seg->type == 0) - return -1; - - if (seg->type == SELF_TYPE_PARAMS) { - *params = (u8 *) (fptr + seg->offset); - return seg->len; - } - - seg++; - } - - *params = NULL; - - return 0; -} - -int verify_self(u8 *ptr) -{ - struct self_segment *seg = (struct self_segment *)ptr; - - switch (seg->type) { - case SELF_TYPE_CODE: - case SELF_TYPE_DATA: - case SELF_TYPE_BSS: - case SELF_TYPE_PARAMS: - case SELF_TYPE_ENTRY: - return 1; - } - - return 0; -} - -int self_load_and_run(struct payload *p, int *ret) -{ - struct self_segment *seg = (struct self_segment *)p->fptr; - int (*dcmp) (void *, void *, int); - int dlen; - - switch (p->stat.compression) { -#ifdef CONFIG_LZMA - case ALGO_LZMA: - dcmp = lzma_decompress; - break; -#endif -#ifdef CONFIG_NRV2B - case ALGO_NRV2B: - dcmp = nrv2b_decompress; - break; -#endif - case ALGO_ZEROES: - dcmp = zeros_decompress; - break; - case ALGO_NONE: - dcmp = nop_decompress; - default: - printf("E: Unsupported decompression type\n"); - return -1; - } - - while (1) { - u32 laddr = (u32) (seg->load_addr & 0xFFFFFFFF); - - switch (seg->type) { - case SELF_TYPE_CODE: - case SELF_TYPE_DATA: - dlen = dcmp((void *)laddr, - (void *)p->fptr + seg->offset, seg->len); - - if (dlen < seg->mem_len) { - memset((void *)(laddr + dlen), 0, - seg->mem_len - dlen); - } - break; - - case SELF_TYPE_BSS: - memset((void *)laddr, 0, seg->len); - break; - case SELF_TYPE_ENTRY: - *ret = exec(laddr, 0, NULL); - return 0; - default: - break; - } - - seg++; - } - - return -1; -} |