Fix coding style of flashrom by running indent on all files:
indent -npro -kr -i8 -ts8 -sob -l80 -ss -ncs *.[ch] Some minor fixups were required, and maybe a few more cosmetic changeѕ are needed. Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@2643 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
parent
33d1af37ae
commit
c7dc7cc196
|
@ -124,8 +124,7 @@ uint8_t wait_82802ab(volatile uint8_t *bios)
|
|||
int erase_82802ab_block(struct flashchip *flash, int offset)
|
||||
{
|
||||
volatile uint8_t *bios = flash->virt_addr + offset;
|
||||
volatile uint8_t *wrprotect =
|
||||
flash->virt_addr_2 + offset + 2;
|
||||
volatile uint8_t *wrprotect = flash->virt_addr_2 + offset + 2;
|
||||
uint8_t status;
|
||||
|
||||
// clear status register
|
||||
|
@ -160,8 +159,8 @@ int erase_82802ab(struct flashchip *flash)
|
|||
return (0);
|
||||
}
|
||||
|
||||
void write_page_82802ab(volatile uint8_t *bios, uint8_t *src, volatile uint8_t *dst,
|
||||
int page_size)
|
||||
void write_page_82802ab(volatile uint8_t *bios, uint8_t *src,
|
||||
volatile uint8_t *dst, int page_size)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
@ -177,8 +176,8 @@ void write_page_82802ab(volatile uint8_t *bios, uint8_t *src, volatile uint8_t *
|
|||
int write_82802ab(struct flashchip *flash, uint8_t *buf)
|
||||
{
|
||||
int i;
|
||||
int total_size = flash->total_size * 1024, page_size =
|
||||
flash->page_size;
|
||||
int total_size = flash->total_size * 1024;
|
||||
int page_size = flash->page_size;
|
||||
volatile uint8_t *bios = flash->virt_addr;
|
||||
|
||||
erase_82802ab(flash);
|
||||
|
@ -191,8 +190,7 @@ int write_82802ab(struct flashchip *flash, uint8_t *buf)
|
|||
printf("%04d at address: 0x%08x", i, i * page_size);
|
||||
write_page_82802ab(bios, buf + i * page_size,
|
||||
bios + i * page_size, page_size);
|
||||
printf
|
||||
("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b");
|
||||
printf("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b");
|
||||
}
|
||||
printf("\n");
|
||||
protect_82802ab(bios);
|
||||
|
|
|
@ -30,38 +30,33 @@
|
|||
#define W836_DATA 0x2F
|
||||
|
||||
/* Enter extended functions */
|
||||
static void
|
||||
w836xx_ext_enter(void)
|
||||
static void w836xx_ext_enter(void)
|
||||
{
|
||||
outb(0x87, W836_INDEX);
|
||||
outb(0x87, W836_INDEX);
|
||||
}
|
||||
|
||||
/* Leave extended functions */
|
||||
static void
|
||||
w836xx_ext_leave(void)
|
||||
static void w836xx_ext_leave(void)
|
||||
{
|
||||
outb(0xAA, W836_INDEX);
|
||||
}
|
||||
|
||||
/* General functions for read/writing WB SuperIOs */
|
||||
static unsigned char
|
||||
wbsio_read(unsigned char index)
|
||||
static unsigned char wbsio_read(unsigned char index)
|
||||
{
|
||||
outb(index, W836_INDEX);
|
||||
return inb(W836_DATA);
|
||||
}
|
||||
|
||||
static void
|
||||
wbsio_write(unsigned char index, unsigned char data)
|
||||
static void wbsio_write(unsigned char index, unsigned char data)
|
||||
{
|
||||
outb(index, W836_INDEX);
|
||||
outb(data, W836_DATA);
|
||||
}
|
||||
|
||||
static void
|
||||
wbsio_mask(unsigned char index, unsigned char data,
|
||||
unsigned char mask)
|
||||
wbsio_mask(unsigned char index, unsigned char data, unsigned char mask)
|
||||
{
|
||||
unsigned char tmp;
|
||||
|
||||
|
@ -225,8 +220,8 @@ struct board_pciid_enable board_pciid_enables[] = {
|
|||
* Require main pci-ids to match too as extra safety.
|
||||
*
|
||||
*/
|
||||
static struct board_pciid_enable *
|
||||
board_match_linuxbios_name(char *vendor, char *part)
|
||||
static struct board_pciid_enable *board_match_linuxbios_name(char *vendor,
|
||||
char *part)
|
||||
{
|
||||
struct board_pciid_enable *board = board_pciid_enables;
|
||||
|
||||
|
|
|
@ -80,15 +80,16 @@ static int enable_flash_piix4(struct pci_dev *dev, char *name)
|
|||
old = pci_read_word(dev, xbcs);
|
||||
|
||||
/* Set bit 9: 1-Meg Extended BIOS Enable (PCI master accesses to
|
||||
FFF00000-FFF7FFFF are forwarded to ISA).
|
||||
Set bit 7: Extended BIOS Enable (PCI master accesses to
|
||||
FFF80000-FFFDFFFF are forwarded to ISA).
|
||||
Set bit 6: Lower BIOS Enable (PCI master, or ISA master accesses to
|
||||
the lower 64-Kbyte BIOS block (E0000-EFFFF) at the top
|
||||
of 1 Mbyte, or the aliases at the top of 4 Gbyte
|
||||
(FFFE0000-FFFEFFFF) result in the generation of BIOSCS#.
|
||||
Note: Accesses to FFFF0000-FFFFFFFF are always forwarded to ISA.
|
||||
Set bit 2: BIOSCS# Write Enable (1=enable, 0=disable). */
|
||||
* FFF00000-FFF7FFFF are forwarded to ISA).
|
||||
* Set bit 7: Extended BIOS Enable (PCI master accesses to
|
||||
* FFF80000-FFFDFFFF are forwarded to ISA).
|
||||
* Set bit 6: Lower BIOS Enable (PCI master, or ISA master accesses to
|
||||
* the lower 64-Kbyte BIOS block (E0000-EFFFF) at the top
|
||||
* of 1 Mbyte, or the aliases at the top of 4 Gbyte
|
||||
* (FFFE0000-FFFEFFFF) result in the generation of BIOSCS#.
|
||||
* Note: Accesses to FFFF0000-FFFFFFFF are always forwarded to ISA.
|
||||
* Set bit 2: BIOSCS# Write Enable (1=enable, 0=disable).
|
||||
*/
|
||||
new = old | 0x2c4;
|
||||
|
||||
if (new == old)
|
||||
|
@ -130,8 +131,7 @@ static int enable_flash_ich(struct pci_dev *dev, char *name, int bios_cntl)
|
|||
pci_write_byte(dev, bios_cntl, new);
|
||||
|
||||
if (pci_read_byte(dev, bios_cntl) != new) {
|
||||
printf("tried to set 0x%x to 0x%x on %s failed (WARNING ONLY)\n",
|
||||
bios_cntl, new, name);
|
||||
printf("tried to set 0x%x to 0x%x on %s failed (WARNING ONLY)\n", bios_cntl, new, name);
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
|
@ -150,8 +150,7 @@ static int enable_flash_ich_dc(struct pci_dev *dev, char *name)
|
|||
/*
|
||||
*
|
||||
*/
|
||||
static int
|
||||
enable_flash_vt823x(struct pci_dev *dev, char *name)
|
||||
static int enable_flash_vt823x(struct pci_dev *dev, char *name)
|
||||
{
|
||||
uint8_t val;
|
||||
|
||||
|
@ -178,8 +177,7 @@ static int enable_flash_cs5530(struct pci_dev *dev, char *name)
|
|||
new = pci_read_byte(dev, 0x52);
|
||||
|
||||
if (new != 0xee) {
|
||||
printf("tried to set register 0x%x to 0x%x on %s failed (WARNING ONLY)\n",
|
||||
0x52, new, name);
|
||||
printf("tried to set register 0x%x to 0x%x on %s failed (WARNING ONLY)\n", 0x52, new, name);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@ -189,7 +187,6 @@ static int enable_flash_cs5530(struct pci_dev *dev, char *name)
|
|||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static int enable_flash_sc1100(struct pci_dev *dev, char *name)
|
||||
{
|
||||
uint8_t new;
|
||||
|
@ -199,8 +196,7 @@ static int enable_flash_sc1100(struct pci_dev *dev, char *name)
|
|||
new = pci_read_byte(dev, 0x52);
|
||||
|
||||
if (new != 0xee) {
|
||||
printf("tried to set register 0x%x to 0x%x on %s failed (WARNING ONLY)\n",
|
||||
0x52, new, name);
|
||||
printf("tried to set register 0x%x to 0x%x on %s failed (WARNING ONLY)\n", 0x52, new, name);
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
|
@ -221,8 +217,7 @@ static int enable_flash_sis5595(struct pci_dev *dev, char *name)
|
|||
|
||||
newer = pci_read_byte(dev, 0x45);
|
||||
if (newer != new) {
|
||||
printf("tried to set register 0x%x to 0x%x on %s failed (WARNING ONLY)\n",
|
||||
0x45, new, name);
|
||||
printf("tried to set register 0x%x to 0x%x on %s failed (WARNING ONLY)\n", 0x45, new, name);
|
||||
printf("Stuck at 0x%x\n", newer);
|
||||
return -1;
|
||||
}
|
||||
|
@ -233,6 +228,7 @@ static int enable_flash_amd8111(struct pci_dev *dev, char *name)
|
|||
{
|
||||
/* register 4e.b gets or'ed with one */
|
||||
uint8_t old, new;
|
||||
|
||||
/* if it fails, it fails. There are so many variations of broken mobos
|
||||
* that it is hard to argue that we should quit at this point.
|
||||
*/
|
||||
|
@ -243,8 +239,7 @@ static int enable_flash_amd8111(struct pci_dev *dev, char *name)
|
|||
if (new != old) {
|
||||
pci_write_byte(dev, 0x43, new);
|
||||
if (pci_read_byte(dev, 0x43) != new) {
|
||||
printf("tried to set 0x%x to 0x%x on %s failed (WARNING ONLY)\n",
|
||||
0x43, new, name);
|
||||
printf("tried to set 0x%x to 0x%x on %s failed (WARNING ONLY)\n", 0x43, new, name);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -255,8 +250,7 @@ static int enable_flash_amd8111(struct pci_dev *dev, char *name)
|
|||
pci_write_byte(dev, 0x40, new);
|
||||
|
||||
if (pci_read_byte(dev, 0x40) != new) {
|
||||
printf("tried to set 0x%x to 0x%x on %s failed (WARNING ONLY)\n",
|
||||
0x40, new, name);
|
||||
printf("tried to set 0x%x to 0x%x on %s failed (WARNING ONLY)\n", 0x40, new, name);
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
|
@ -266,6 +260,7 @@ static int enable_flash_ck804(struct pci_dev *dev, char *name)
|
|||
{
|
||||
/* register 4e.b gets or'ed with one */
|
||||
uint8_t old, new;
|
||||
|
||||
/* if it fails, it fails. There are so many variations of broken mobos
|
||||
* that it is hard to argue that we should quit at this point.
|
||||
*/
|
||||
|
@ -277,8 +272,7 @@ static int enable_flash_ck804(struct pci_dev *dev, char *name)
|
|||
if (new != old) {
|
||||
pci_write_byte(dev, 0x88, new);
|
||||
if (pci_read_byte(dev, 0x88) != new) {
|
||||
printf("tried to set 0x%x to 0x%x on %s failed (WARNING ONLY)\n",
|
||||
0x88, new, name);
|
||||
printf("tried to set 0x%x to 0x%x on %s failed (WARNING ONLY)\n", 0x88, new, name);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -289,8 +283,7 @@ static int enable_flash_ck804(struct pci_dev *dev, char *name)
|
|||
pci_write_byte(dev, 0x6d, new);
|
||||
|
||||
if (pci_read_byte(dev, 0x6d) != new) {
|
||||
printf("tried to set 0x%x to 0x%x on %s failed (WARNING ONLY)\n",
|
||||
0x6d, new, name);
|
||||
printf("tried to set 0x%x to 0x%x on %s failed (WARNING ONLY)\n", 0x6d, new, name);
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
|
@ -371,7 +364,8 @@ static int enable_flash_mcp55(struct pci_dev *dev, char *name)
|
|||
pci_write_byte(dev, 0x6d, new);
|
||||
|
||||
if (pci_read_byte(dev, 0x6d) != new) {
|
||||
printf("tried to set 0x%x to 0x%x on %s failed (WARNING ONLY)\n",
|
||||
printf
|
||||
("tried to set 0x%x to 0x%x on %s failed (WARNING ONLY)\n",
|
||||
0x6d, new, name);
|
||||
return -1;
|
||||
}
|
||||
|
@ -441,8 +435,7 @@ static FLASH_ENABLE enables[] = {
|
|||
/*
|
||||
*
|
||||
*/
|
||||
int
|
||||
chipset_flash_enable(void)
|
||||
int chipset_flash_enable(void)
|
||||
{
|
||||
struct pci_dev *dev = 0;
|
||||
int ret = -2; /* nothing! */
|
||||
|
|
|
@ -60,8 +60,7 @@ int fd_mem;
|
|||
/*
|
||||
*
|
||||
*/
|
||||
struct pci_dev *
|
||||
pci_dev_find(uint16_t vendor, uint16_t device)
|
||||
struct pci_dev *pci_dev_find(uint16_t vendor, uint16_t device)
|
||||
{
|
||||
struct pci_dev *temp;
|
||||
struct pci_filter filter;
|
||||
|
@ -80,8 +79,7 @@ pci_dev_find(uint16_t vendor, uint16_t device)
|
|||
/*
|
||||
*
|
||||
*/
|
||||
struct pci_dev *
|
||||
pci_card_find(uint16_t vendor, uint16_t device,
|
||||
struct pci_dev *pci_card_find(uint16_t vendor, uint16_t device,
|
||||
uint16_t card_vendor, uint16_t card_device)
|
||||
{
|
||||
struct pci_dev *temp;
|
||||
|
@ -163,7 +161,8 @@ int verify_flash(struct flashchip *flash, uint8_t *buf)
|
|||
|
||||
printf("Verifying flash ");
|
||||
|
||||
if(verbose) printf("address: 0x00000000\b\b\b\b\b\b\b\b\b\b");
|
||||
if (verbose)
|
||||
printf("address: 0x00000000\b\b\b\b\b\b\b\b\b\b");
|
||||
|
||||
for (idx = 0; idx < total_size; idx++) {
|
||||
if (verbose && ((idx & 0xfff) == 0xfff))
|
||||
|
@ -187,12 +186,12 @@ int verify_flash(struct flashchip *flash, uint8_t *buf)
|
|||
return 0;
|
||||
}
|
||||
|
||||
|
||||
void usage(const char *name)
|
||||
{
|
||||
printf("usage: %s [-rwvEVfh] [-c chipname] [-s exclude_start]\n", name);
|
||||
printf(" [-e exclude_end] [-m vendor:part] [-l file.layout] [-i imagename] [file]\n");
|
||||
printf(" -r | --read: read flash and save into file\n"
|
||||
printf
|
||||
(" -r | --read: read flash and save into file\n"
|
||||
" -w | --write: write file into flash (default when\n"
|
||||
" file is specified)\n"
|
||||
" -v | --verify: verify flash against file\n"
|
||||
|
@ -205,8 +204,7 @@ void usage(const char *name)
|
|||
" -f | --force: force write without checking image\n"
|
||||
" -l | --layout <file.layout>: read rom layout from file\n"
|
||||
" -i | --image <name>: only flash image name from flash layout\n"
|
||||
"\n"
|
||||
" If no file is specified, then all that happens\n"
|
||||
"\n" " If no file is specified, then all that happens\n"
|
||||
" is that flash info is dumped.\n\n");
|
||||
exit(1);
|
||||
}
|
||||
|
@ -219,10 +217,7 @@ int main(int argc, char *argv[])
|
|||
struct flashchip *flash;
|
||||
int opt;
|
||||
int option_index = 0;
|
||||
int read_it = 0,
|
||||
write_it = 0,
|
||||
erase_it = 0,
|
||||
verify_it = 0;
|
||||
int read_it = 0, write_it = 0, erase_it = 0, verify_it = 0;
|
||||
int ret = 0;
|
||||
|
||||
static struct option long_options[] = {
|
||||
|
@ -244,7 +239,6 @@ int main(int argc, char *argv[])
|
|||
|
||||
char *filename = NULL;
|
||||
|
||||
|
||||
unsigned int exclude_start_position = 0, exclude_end_position = 0; // [x,y)
|
||||
char *tempstr = NULL, *tempstr2 = NULL;
|
||||
|
||||
|
@ -257,8 +251,8 @@ int main(int argc, char *argv[])
|
|||
}
|
||||
|
||||
setbuf(stdout, NULL);
|
||||
while ((opt = getopt_long(argc, argv, "rwvVEfc:s:e:m:l:i:h", long_options,
|
||||
&option_index)) != EOF) {
|
||||
while ((opt = getopt_long(argc, argv, "rwvVEfc:s:e:m:l:i:h",
|
||||
long_options, &option_index)) != EOF) {
|
||||
switch (opt) {
|
||||
case 'r':
|
||||
read_it = 1;
|
||||
|
@ -331,7 +325,8 @@ int main(int argc, char *argv[])
|
|||
#else
|
||||
if (iopl(3) != 0) {
|
||||
#endif
|
||||
fprintf(stderr, "ERROR: iopl failed: \"%s\"\n", strerror(errno));
|
||||
fprintf(stderr, "ERROR: iopl failed: \"%s\"\n",
|
||||
strerror(errno));
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -343,7 +338,8 @@ int main(int argc, char *argv[])
|
|||
|
||||
/* Open the memory device. A lot of functions need it */
|
||||
if ((fd_mem = open(MEM_DEV, O_RDWR)) < 0) {
|
||||
perror("Error: Can not access memory using " MEM_DEV ". You need to be root.");
|
||||
perror("Error: Can not access memory using " MEM_DEV
|
||||
". You need to be root.");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -358,13 +354,13 @@ int main(int argc, char *argv[])
|
|||
* really need this to be done, etc., etc.
|
||||
*/
|
||||
ret = chipset_flash_enable();
|
||||
if (ret == -2)
|
||||
if (ret == -2) {
|
||||
printf("WARNING: No chipset found. Flash detection "
|
||||
"will most likely fail.\n");
|
||||
}
|
||||
|
||||
board_flash_enable(lb_vendor, lb_part);
|
||||
|
||||
|
||||
if ((flash = probe_flash(flashchips)) == NULL) {
|
||||
printf("No EEPROM/flash device found.\n");
|
||||
exit(1);
|
||||
|
|
|
@ -163,8 +163,7 @@ retry:
|
|||
src = s;
|
||||
ok = 1;
|
||||
for (i = 0; i < page_size; i++) {
|
||||
if ( *dst != *src )
|
||||
{
|
||||
if (*dst != *src) {
|
||||
ok = 0;
|
||||
break;
|
||||
}
|
||||
|
@ -177,7 +176,8 @@ retry:
|
|||
goto retry;
|
||||
}
|
||||
if (!ok) {
|
||||
fprintf( stderr, " page %d failed!\n", (unsigned int)(d-bios)/page_size );
|
||||
fprintf(stderr, " page %d failed!\n",
|
||||
(unsigned int)(d - bios) / page_size);
|
||||
}
|
||||
return (!ok);
|
||||
}
|
||||
|
|
|
@ -25,12 +25,10 @@ romlayout_t rom_entries[MAX_ROMLAYOUT];
|
|||
|
||||
static char *def_name = "DEFAULT";
|
||||
|
||||
|
||||
int show_id(uint8_t *bios, int size)
|
||||
{
|
||||
unsigned int *walk;
|
||||
|
||||
|
||||
walk = (unsigned int *)(bios + size - 0x10);
|
||||
walk--;
|
||||
|
||||
|
@ -53,12 +51,13 @@ int show_id(uint8_t *bios, int size)
|
|||
printf_debug("LinuxBIOS last image size "
|
||||
"(not rom size) is %d bytes.\n", *walk);
|
||||
|
||||
walk--; mainboard_part=strdup((const char *)(bios+size-*walk));
|
||||
walk--; mainboard_vendor=strdup((const char *)(bios+size-*walk));
|
||||
walk--;
|
||||
mainboard_part = strdup((const char *)(bios + size - *walk));
|
||||
walk--;
|
||||
mainboard_vendor = strdup((const char *)(bios + size - *walk));
|
||||
printf_debug("MANUFACTURER: %s\n", mainboard_vendor);
|
||||
printf_debug("MAINBOARD ID: %s\n", mainboard_part);
|
||||
|
||||
|
||||
/*
|
||||
* If lb_vendor is not set, the linuxbios table was
|
||||
* not found. Nor was -mVENDOR:PART specified
|
||||
|
@ -89,7 +88,8 @@ int show_id(uint8_t *bios, int size)
|
|||
"are absolutely sure that you\nare using a correct "
|
||||
"image for this mainboard or override\nthe detected "
|
||||
"values with --mainboard <vendor>:<mainboard>.\n\n",
|
||||
mainboard_vendor, mainboard_part, lb_vendor, lb_part);
|
||||
mainboard_vendor, mainboard_part, lb_vendor,
|
||||
lb_part);
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
@ -113,7 +113,8 @@ int read_romlayout(char *name)
|
|||
|
||||
while (!feof(romlayout)) {
|
||||
char *tstr1, *tstr2;
|
||||
fscanf(romlayout,"%s %s\n", tempstr, rom_entries[romimages].name);
|
||||
fscanf(romlayout, "%s %s\n", tempstr,
|
||||
rom_entries[romimages].name);
|
||||
#if 0
|
||||
// fscanf does not like arbitrary comments like that :( later
|
||||
if (tempstr[0] == '#') {
|
||||
|
@ -131,8 +132,7 @@ int read_romlayout(char *name)
|
|||
for (i = 0; i < romimages; i++) {
|
||||
printf_debug("romlayout %08x - %08x named %s\n",
|
||||
rom_entries[i].start,
|
||||
rom_entries[i].end,
|
||||
rom_entries[i].name);
|
||||
rom_entries[i].end, rom_entries[i].name);
|
||||
}
|
||||
|
||||
fclose(romlayout);
|
||||
|
@ -143,7 +143,8 @@ int find_romentry(char *name)
|
|||
{
|
||||
int i;
|
||||
|
||||
if(!romimages) return -1;
|
||||
if (!romimages)
|
||||
return -1;
|
||||
|
||||
printf("Looking for \"%s\"... ", name);
|
||||
|
||||
|
@ -178,7 +179,6 @@ int handle_romentries(uint8_t *buffer, uint8_t *content)
|
|||
// flash. Same thing if you specify -i normal -i all only
|
||||
// normal will be updated and the rest will be kept.
|
||||
|
||||
|
||||
for (i = 0; i < romimages; i++) {
|
||||
|
||||
if (rom_entries[i].included)
|
||||
|
|
|
@ -52,7 +52,6 @@ static unsigned long compute_checksum(void *addr, unsigned long length)
|
|||
((((char *)rec) + rec->size) <= (((char *)head) + sizeof(*head) + head->table_bytes)); \
|
||||
rec = (struct lb_record *)(((char *)rec) + rec->size))
|
||||
|
||||
|
||||
static int count_lb_records(struct lb_header *head)
|
||||
{
|
||||
struct lb_record *rec;
|
||||
|
@ -64,14 +63,16 @@ static int count_lb_records(struct lb_header *head)
|
|||
return count;
|
||||
}
|
||||
|
||||
|
||||
static struct lb_header *find_lb_table(void *base, unsigned long start, unsigned long end)
|
||||
static struct lb_header *find_lb_table(void *base, unsigned long start,
|
||||
unsigned long end)
|
||||
{
|
||||
unsigned long addr;
|
||||
/* For now be stupid.... */
|
||||
for (addr = start; addr < end; addr += 16) {
|
||||
struct lb_header *head = (struct lb_header *)(((char*)base) + addr);
|
||||
struct lb_record *recs = (struct lb_record *)(((char*)base) + addr + sizeof(*head));
|
||||
struct lb_header *head =
|
||||
(struct lb_header *)(((char *)base) + addr);
|
||||
struct lb_record *recs =
|
||||
(struct lb_record *)(((char *)base) + addr + sizeof(*head));
|
||||
if (memcmp(head->signature, "LBIO", 4) != 0)
|
||||
continue;
|
||||
printf_debug("Found canidate at: %08lx-%08lx\n",
|
||||
|
@ -121,8 +122,7 @@ static void find_mainboard(struct lb_record *ptr, unsigned long addr)
|
|||
rec->strings + rec->part_number_idx);
|
||||
|
||||
if (lb_part) {
|
||||
printf("overwritten by command line, vendor id: %s part id: %s\n",
|
||||
lb_vendor, lb_part);
|
||||
printf("overwritten by command line, vendor id: %s part id: %s\n", lb_vendor, lb_part);
|
||||
} else {
|
||||
lb_part = strdup(part);
|
||||
lb_vendor = strdup(vendor);
|
||||
|
@ -158,9 +158,11 @@ int linuxbios_init(void)
|
|||
struct lb_header *lb_table;
|
||||
struct lb_record *rec, *last;
|
||||
|
||||
low_1MB = mmap(0, 1024*1024, PROT_READ, MAP_SHARED, fd_mem, 0x00000000);
|
||||
low_1MB = mmap(0, 1024 * 1024, PROT_READ, MAP_SHARED, fd_mem,
|
||||
0x00000000);
|
||||
if (low_1MB == MAP_FAILED) {
|
||||
fprintf(stderr, "Can not mmap " MEM_DEV " at %08lx errno(%d):%s\n",
|
||||
fprintf(stderr,
|
||||
"Can not mmap " MEM_DEV " at %08lx errno(%d):%s\n",
|
||||
0x00000000UL, errno, strerror(errno));
|
||||
exit(-2);
|
||||
}
|
||||
|
@ -177,10 +179,10 @@ int linuxbios_init(void)
|
|||
last = (struct lb_record *)(((char *)rec) + lb_table->table_bytes);
|
||||
printf_debug("LinuxBIOS header(%d) checksum: %04x table(%d) checksum: %04x entries: %d\n",
|
||||
lb_table->header_bytes, lb_table->header_checksum,
|
||||
lb_table->table_bytes, lb_table->table_checksum, lb_table->table_entries);
|
||||
lb_table->table_bytes, lb_table->table_checksum,
|
||||
lb_table->table_entries);
|
||||
search_lb_records(rec, last, addr + lb_table->header_bytes);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
printf("No LinuxBIOS table found.\n");
|
||||
return -1;
|
||||
}
|
||||
|
|
|
@ -64,10 +64,7 @@ static inline struct lb_uint64 pack_lb64(uint64_t value)
|
|||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
struct lb_header
|
||||
{
|
||||
struct lb_header {
|
||||
uint8_t signature[4]; /* LBIO */
|
||||
uint32_t header_bytes;
|
||||
uint32_t header_checksum;
|
||||
|
@ -167,7 +164,6 @@ struct cmos_entries {
|
|||
variable length int aligned */
|
||||
};
|
||||
|
||||
|
||||
/* cmos enumerations record
|
||||
This record is variable length. The text field may be
|
||||
shorter than CMOS_MAX_TEXT_LENGTH.
|
||||
|
@ -211,6 +207,4 @@ struct cmos_checksum {
|
|||
#define CHECKSUM_PCBIOS 1
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif /* LINUXBIOS_TABLES_H */
|
||||
|
|
|
@ -49,7 +49,6 @@ int probe_m29f400bt(struct flashchip *flash)
|
|||
|
||||
printf_debug("%s: id1 0x%x, id2 0x%x\n", __FUNCTION__, id1, id2);
|
||||
|
||||
|
||||
if (id1 == flash->manufacture_id && id2 == flash->model_id)
|
||||
return 1;
|
||||
|
||||
|
@ -95,8 +94,8 @@ int block_erase_m29f400bt(volatile uint8_t *bios, volatile uint8_t *dst)
|
|||
int write_m29f400bt(struct flashchip *flash, uint8_t *buf)
|
||||
{
|
||||
int i;
|
||||
int total_size = flash->total_size * 1024, page_size =
|
||||
flash->page_size;
|
||||
int total_size = flash->total_size * 1024;
|
||||
int page_size = flash->page_size;
|
||||
volatile uint8_t *bios = flash->virt_addr;
|
||||
|
||||
//erase_m29f400bt (flash);
|
||||
|
@ -122,29 +121,24 @@ int write_m29f400bt(struct flashchip *flash, uint8_t *buf)
|
|||
block_erase_m29f400bt(bios, bios + i * page_size);
|
||||
write_page_m29f400bt(bios, buf + i * page_size,
|
||||
bios + i * page_size, page_size);
|
||||
printf
|
||||
("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b");
|
||||
printf("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b");
|
||||
}
|
||||
|
||||
printf("%04d at address: 0x%08x\n", 7, 0x70000);
|
||||
block_erase_m29f400bt(bios, bios + 0x70000);
|
||||
write_page_m29f400bt(bios, buf + 0x70000, bios + 0x70000,
|
||||
32 * 1024);
|
||||
write_page_m29f400bt(bios, buf + 0x70000, bios + 0x70000, 32 * 1024);
|
||||
|
||||
printf("%04d at address: 0x%08x\n", 8, 0x78000);
|
||||
block_erase_m29f400bt(bios, bios + 0x78000);
|
||||
write_page_m29f400bt(bios, buf + 0x78000, bios + 0x78000,
|
||||
8 * 1024);
|
||||
write_page_m29f400bt(bios, buf + 0x78000, bios + 0x78000, 8 * 1024);
|
||||
|
||||
printf("%04d at address: 0x%08x\n", 9, 0x7a000);
|
||||
block_erase_m29f400bt(bios, bios + 0x7a000);
|
||||
write_page_m29f400bt(bios, buf + 0x7a000, bios + 0x7a000,
|
||||
8 * 1024);
|
||||
write_page_m29f400bt(bios, buf + 0x7a000, bios + 0x7a000, 8 * 1024);
|
||||
|
||||
printf("%04d at address: 0x%08x\n", 10, 0x7c000);
|
||||
block_erase_m29f400bt(bios, bios + 0x7c000);
|
||||
write_page_m29f400bt(bios, buf + 0x7c000, bios + 0x7c000,
|
||||
16 * 1024);
|
||||
write_page_m29f400bt(bios, buf + 0x7c000, bios + 0x7c000, 16 * 1024);
|
||||
|
||||
printf("\n");
|
||||
//protect_m29f400bt (bios);
|
||||
|
@ -174,23 +168,19 @@ int write_linuxbios_m29f400bt(struct flashchip *flash, uint8_t *buf)
|
|||
*********************************/
|
||||
printf("%04d at address: 0x%08x\n", 7, 0x00000);
|
||||
block_erase_m29f400bt(bios, bios + 0x00000);
|
||||
write_page_m29f400bt(bios, buf + 0x00000, bios + 0x00000,
|
||||
64 * 1024);
|
||||
write_page_m29f400bt(bios, buf + 0x00000, bios + 0x00000, 64 * 1024);
|
||||
|
||||
printf("%04d at address: 0x%08x\n", 7, 0x10000);
|
||||
block_erase_m29f400bt(bios, bios + 0x10000);
|
||||
write_page_m29f400bt(bios, buf + 0x10000, bios + 0x10000,
|
||||
64 * 1024);
|
||||
write_page_m29f400bt(bios, buf + 0x10000, bios + 0x10000, 64 * 1024);
|
||||
|
||||
printf("%04d at address: 0x%08x\n", 7, 0x20000);
|
||||
block_erase_m29f400bt(bios, bios + 0x20000);
|
||||
write_page_m29f400bt(bios, buf + 0x20000, bios + 0x20000,
|
||||
64 * 1024);
|
||||
write_page_m29f400bt(bios, buf + 0x20000, bios + 0x20000, 64 * 1024);
|
||||
|
||||
printf("%04d at address: 0x%08x\n", 7, 0x30000);
|
||||
block_erase_m29f400bt(bios, bios + 0x30000);
|
||||
write_page_m29f400bt(bios, buf + 0x30000, bios + 0x30000,
|
||||
64 * 1024);
|
||||
write_page_m29f400bt(bios, buf + 0x30000, bios + 0x30000, 64 * 1024);
|
||||
|
||||
printf("\n");
|
||||
//protect_m29f400bt (bios);
|
||||
|
|
|
@ -5,10 +5,10 @@
|
|||
|
||||
extern int probe_m29f400bt(struct flashchip *flash);
|
||||
extern int erase_m29f400bt(struct flashchip *flash);
|
||||
extern int block_erase_m29f400bt(volatile uint8_t *bios, volatile uint8_t *dst);
|
||||
extern int block_erase_m29f400bt(volatile uint8_t *bios,
|
||||
volatile uint8_t *dst);
|
||||
extern int write_m29f400bt(struct flashchip *flash, uint8_t *buf);
|
||||
extern int write_linuxbios_m29f400bt(struct flashchip *flash,
|
||||
uint8_t *buf);
|
||||
extern int write_linuxbios_m29f400bt(struct flashchip *flash, uint8_t *buf);
|
||||
|
||||
extern __inline__ void toggle_ready_m29f400bt(volatile uint8_t *dst)
|
||||
{
|
||||
|
@ -51,7 +51,8 @@ extern __inline__ void protect_m29f400bt(volatile uint8_t *bios)
|
|||
usleep(200);
|
||||
}
|
||||
|
||||
extern __inline__ void write_page_m29f400bt(volatile uint8_t *bios, uint8_t *src,
|
||||
extern __inline__ void write_page_m29f400bt(volatile uint8_t *bios,
|
||||
uint8_t *src,
|
||||
volatile uint8_t *dst,
|
||||
int page_size)
|
||||
{
|
||||
|
|
|
@ -19,27 +19,18 @@
|
|||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
#include "flash.h"
|
||||
#include "msys_doc.h"
|
||||
#include "debug.h"
|
||||
|
||||
|
||||
|
||||
|
||||
static int doc_wait(volatile uint8_t *bios, int timeout);
|
||||
static uint8_t doc_read_chipid(volatile uint8_t *bios);
|
||||
static uint8_t doc_read_docstatus(volatile uint8_t *bios);
|
||||
static uint8_t doc_read_cdsncontrol(volatile uint8_t *bios);
|
||||
static void doc_write_cdsncontrol(volatile uint8_t *bios, uint8_t data);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
int probe_md2802(struct flashchip *flash)
|
||||
{
|
||||
volatile uint8_t *bios = flash->virt_addr;
|
||||
|
@ -72,11 +63,9 @@ int probe_md2802(struct flashchip *flash)
|
|||
|
||||
printf("%s: switching off write protection ...\n", __FUNCTION__);
|
||||
doc_write_cdsncontrol(bios, doc_read_cdsncontrol(bios) & (~0x08));
|
||||
printf("%s: switching off write protection ... done\n",
|
||||
__FUNCTION__);
|
||||
printf("%s: switching off write protection ... done\n", __FUNCTION__);
|
||||
printf("%s:\n", __FUNCTION__);
|
||||
|
||||
|
||||
chipid = doc_read_chipid(bios);
|
||||
#ifndef MSYSTEMS_DOC_NO_55AA_CHECKING
|
||||
id_0x55 = doc_read(bios, IPL_0x0000);
|
||||
|
@ -140,8 +129,7 @@ int probe_md2802(struct flashchip *flash)
|
|||
printf("\n%s: toggle result: %d/%d\n", __FUNCTION__, toggle_a,
|
||||
toggle_b);
|
||||
|
||||
if (chipid == flash->model_id
|
||||
&& ((toggle_a == 5 && toggle_b == 0)
|
||||
if (chipid == flash->model_id && ((toggle_a == 5 && toggle_b == 0)
|
||||
|| (toggle_a == 0 && toggle_b == 5))
|
||||
#ifndef MSYSTEMS_DOC_NO_55AA_CHECKING
|
||||
&& id_0x55 == 0x55 && id_0xAA == 0xaa
|
||||
|
@ -153,16 +141,12 @@ int probe_md2802(struct flashchip *flash)
|
|||
return (0);
|
||||
} /* int probe_md2802(struct flashchip *flash) */
|
||||
|
||||
|
||||
|
||||
int read_md2802(struct flashchip *flash, uint8_t *buf)
|
||||
{
|
||||
|
||||
return (0);
|
||||
} /* int read_md2802(struct flashchip *flash, uint8_t *buf) */
|
||||
|
||||
|
||||
|
||||
int erase_md2802(struct flashchip *flash)
|
||||
{
|
||||
volatile uint8_t *bios = flash->virt_addr;
|
||||
|
@ -177,13 +161,11 @@ int erase_md2802(struct flashchip *flash)
|
|||
*(volatile uint8_t *)(bios + 0x5555) = 0x10;
|
||||
} /* int erase_md2802(struct flashchip *flash) */
|
||||
|
||||
|
||||
|
||||
int write_md2802(struct flashchip *flash, uint8_t *buf)
|
||||
{
|
||||
int i;
|
||||
int total_size = flash->total_size * 1024, page_size =
|
||||
flash->page_size;
|
||||
int total_size = flash->total_size * 1024;
|
||||
int page_size = flash->page_size;
|
||||
volatile uint8_t *bios = flash->virt_addr;
|
||||
|
||||
return (1);
|
||||
|
@ -205,11 +187,6 @@ int write_md2802(struct flashchip *flash, uint8_t *buf)
|
|||
return 0;
|
||||
} /* int write_md2802(struct flashchip *flash, uint8_t *buf) */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
wait timeout msec for doc to become ready
|
||||
return:
|
||||
|
@ -237,8 +214,6 @@ static int doc_wait(volatile uint8_t *bios, int timeout)
|
|||
return (0);
|
||||
} /* static int doc_wait(volatile uint8_t *bios, int timeout) */
|
||||
|
||||
|
||||
|
||||
static uint8_t doc_read_docstatus(volatile uint8_t *bios)
|
||||
{
|
||||
doc_read(bios, CDSNSlowIO);
|
||||
|
@ -247,8 +222,6 @@ static uint8_t doc_read_docstatus(volatile uint8_t *bios)
|
|||
return (doc_read(bios, _DOCStatus));
|
||||
} /* static uint8_t doc_read_docstatus(volatile uint8_t *bios) */
|
||||
|
||||
|
||||
|
||||
static uint8_t doc_read_chipid(volatile uint8_t *bios)
|
||||
{
|
||||
doc_read(bios, CDSNSlowIO);
|
||||
|
@ -257,8 +230,6 @@ static uint8_t doc_read_chipid(volatile uint8_t *bios)
|
|||
return (doc_read(bios, _ChipID));
|
||||
} /* static uint8_t doc_read_chipid(volatile uint8_t *bios) */
|
||||
|
||||
|
||||
|
||||
static uint8_t doc_read_cdsncontrol(volatile uint8_t *bios)
|
||||
{
|
||||
uint8_t value;
|
||||
|
@ -273,8 +244,6 @@ static uint8_t doc_read_cdsncontrol(volatile uint8_t *bios)
|
|||
return (value);
|
||||
} /* static uint8_t doc_read_chipid(volatile char *bios) */
|
||||
|
||||
|
||||
|
||||
static void doc_write_cdsncontrol(volatile uint8_t *bios, uint8_t data)
|
||||
{
|
||||
doc_write(data, bios, _CDSNControl);
|
||||
|
|
|
@ -86,7 +86,8 @@ int probe_lhf00l04(struct flashchip *flash)
|
|||
}
|
||||
|
||||
flash->virt_addr_2 = bios;
|
||||
printf("bios %p, *bios 0x%x, bios[1] 0x%x\n", bios, *bios, bios[1]);
|
||||
printf("bios %p, *bios 0x%x, bios[1] 0x%x\n", bios, *bios,
|
||||
bios[1]);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -124,8 +125,7 @@ uint8_t wait_lhf00l04(volatile uint8_t *bios)
|
|||
int erase_lhf00l04_block(struct flashchip *flash, int offset)
|
||||
{
|
||||
volatile uint8_t *bios = flash->virt_addr + offset;
|
||||
volatile uint8_t *wrprotect =
|
||||
flash->virt_addr_2 + offset + 2;
|
||||
volatile uint8_t *wrprotect = flash->virt_addr_2 + offset + 2;
|
||||
uint8_t status;
|
||||
|
||||
// clear status register
|
||||
|
@ -162,8 +162,8 @@ int erase_lhf00l04(struct flashchip *flash)
|
|||
return (0);
|
||||
}
|
||||
|
||||
void write_page_lhf00l04(volatile uint8_t *bios, uint8_t *src, volatile uint8_t *dst,
|
||||
int page_size)
|
||||
void write_page_lhf00l04(volatile uint8_t *bios, uint8_t *src,
|
||||
volatile uint8_t *dst, int page_size)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
@ -179,8 +179,8 @@ void write_page_lhf00l04(volatile uint8_t *bios, uint8_t *src, volatile uint8_t
|
|||
int write_lhf00l04(struct flashchip *flash, uint8_t *buf)
|
||||
{
|
||||
int i;
|
||||
int total_size = flash->total_size * 1024, page_size =
|
||||
flash->page_size;
|
||||
int total_size = flash->total_size * 1024;
|
||||
int page_size = flash->page_size;
|
||||
volatile uint8_t *bios = flash->virt_addr;
|
||||
|
||||
erase_lhf00l04(flash);
|
||||
|
@ -193,8 +193,7 @@ int write_lhf00l04(struct flashchip *flash, uint8_t *buf)
|
|||
printf("%04d at address: 0x%08x", i, i * page_size);
|
||||
write_page_lhf00l04(bios, buf + i * page_size,
|
||||
bios + i * page_size, page_size);
|
||||
printf
|
||||
("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b");
|
||||
printf("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b");
|
||||
}
|
||||
printf("\n");
|
||||
protect_lhf00l04(bios);
|
||||
|
|
|
@ -150,8 +150,8 @@ int erase_28sf040(struct flashchip *flash)
|
|||
int write_28sf040(struct flashchip *flash, uint8_t *buf)
|
||||
{
|
||||
int i;
|
||||
int total_size = flash->total_size * 1024, page_size =
|
||||
flash->page_size;
|
||||
int total_size = flash->total_size * 1024;
|
||||
int page_size = flash->page_size;
|
||||
volatile uint8_t *bios = flash->virt_addr;
|
||||
|
||||
unprotect_28sf040(bios);
|
||||
|
|
|
@ -50,7 +50,6 @@
|
|||
#define STATUS_ESS (1 << 6)
|
||||
#define STATUS_WSMS (1 << 7)
|
||||
|
||||
|
||||
static __inline__ int write_lockbits_49lfxxxc(volatile uint8_t *bios, int size,
|
||||
unsigned char bits)
|
||||
{
|
||||
|
@ -75,7 +74,6 @@ static __inline__ int write_lockbits_49lfxxxc(volatile uint8_t *bios, int size,
|
|||
//printf("lockbits at address=0x%08lx is 0x%01x\n", (unsigned long)0xFFc00000 - size + address + 2, *(bios + address + 2) );
|
||||
*(bios + address + 2) = bits;
|
||||
|
||||
|
||||
return (0);
|
||||
}
|
||||
|
||||
|
@ -180,11 +178,10 @@ int erase_49lfxxxc(struct flashchip *flash)
|
|||
int write_49lfxxxc(struct flashchip *flash, uint8_t *buf)
|
||||
{
|
||||
int i;
|
||||
int total_size = flash->total_size * 1024, page_size =
|
||||
flash->page_size;
|
||||
int total_size = flash->total_size * 1024;
|
||||
int page_size = flash->page_size;
|
||||
volatile uint8_t *bios = flash->virt_addr;
|
||||
|
||||
|
||||
write_lockbits_49lfxxxc(flash->virt_addr_2, total_size, 0);
|
||||
printf("Programming Page: ");
|
||||
for (i = 0; i < total_size / page_size; i++) {
|
||||
|
|
Loading…
Reference in New Issue