diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2019-07-25 15:26:26 +0200 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2019-07-25 15:27:55 +0200 |
commit | cb1c49e0cfac99b9961d136ac0194da62c28cf64 (patch) | |
tree | 4665b81037a8ec81c8a126a50f3af880b9d1ead3 | |
parent | e5b140b91be34886bce3a60146f9d7b3987049ed (diff) | |
download | qboot-cb1c49e0cfac99b9961d136ac0194da62c28cf64.zip qboot-cb1c49e0cfac99b9961d136ac0194da62c28cf64.tar.gz qboot-cb1c49e0cfac99b9961d136ac0194da62c28cf64.tar.bz2 |
remove pflash code
Also part of the cbfs support which is now obsolete.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | include/pflash.h | 8 | ||||
-rw-r--r-- | main.c | 1 | ||||
-rw-r--r-- | pflash.c | 63 |
4 files changed, 1 insertions, 73 deletions
@@ -1,5 +1,5 @@ obj-y = code16.o entry.o main.o string.o printf.o cstart.o fw_cfg.o -obj-y += linuxboot.o malloc.o pflash.o tables.o hwsetup.o pci.o code32seg.o +obj-y += linuxboot.o malloc.o tables.o hwsetup.o pci.o code32seg.o obj-y += mptable.o all-y = bios.bin diff --git a/include/pflash.h b/include/pflash.h deleted file mode 100644 index 1dbbeae..0000000 --- a/include/pflash.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BIOS_PFLASH_H -#define BIOS_PFLASH_H 1 - -#include <stdint.h> - -void *pflash_base(int n, size_t *size); - -#endif @@ -5,7 +5,6 @@ #include "string.h" #include "segment.h" #include "fw_cfg.h" -#include "pflash.h" #include "pci.h" #include "benchmark.h" diff --git a/pflash.c b/pflash.c deleted file mode 100644 index 950bc74..0000000 --- a/pflash.c +++ /dev/null @@ -1,63 +0,0 @@ -#include <stddef.h> -#include "bios.h" -#include "pflash.h" -#include "stdio.h" - -#define CLEAR_STATUS_CMD 0x50 -#define READ_STATUS_CMD 0x70 -#define QUERY_CMD 0x98 -#define READ_ARRAY_CMD 0xff - -static void *pflash_detect(uint8_t *top_addr) -{ - volatile uint8_t *p = top_addr; - uint8_t save; - int i, blocks, sector_len; - - /* The low byte of the address is part of the command, so it must be 0. */ - if ((uintptr_t)p & 256) - panic(); - - p -= 256; - for (i = 0; i < 256; i++) - if (p[i] != CLEAR_STATUS_CMD) - break; - if (i == 256) - return NULL; - - save = p[i]; - p[i] = CLEAR_STATUS_CMD; - if (p[i] == CLEAR_STATUS_CMD) { - /* behaves as RAM */ - p[i] = save; - return NULL; - } - p[i] = READ_STATUS_CMD; - if (p[i] != 0) { - /* doesn't behave as flash */ - return NULL; - } - - /* 0x2d-0x2e: blocks_per_device - 1, little endian */ - /* 0x2f-0x30: sector_len / 256 */ - p[i] = QUERY_CMD; - blocks = p[0x2d] + (p[0x2e] << 8) + 1; - sector_len = (p[0x2f] + (p[0x30] << 8)) << 8; - - p[i] = READ_ARRAY_CMD; - return top_addr - blocks * sector_len; -} - -void *pflash_base(int n, size_t *size) -{ - uint8_t *top = NULL; - uint8_t *prev; - while (n-- >= 0) { - prev = top; - top = pflash_detect(top); - if (!top) - return NULL; - *size = prev - top; - } - return top; -} |