Changeset 2452 for lm-sensors/trunk/prog/dump/isadump.c
- Timestamp:
- 04/19/04 20:02:10 (9 years ago)
- Files:
-
- 1 modified
-
lm-sensors/trunk/prog/dump/isadump.c (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lm-sensors/trunk/prog/dump/isadump.c
r1792 r2452 1 1 /* 2 2 isadump.c - isadump, a user-space program to dump ISA registers 3 Copyright ( c) 2000 Frodo Looijaard <frodol@dds.nl>, and3 Copyright (C) 2000 Frodo Looijaard <frodol@dds.nl>, and 4 4 Mark D. Studebaker <mdsxyz123@yahoo.com> 5 Copyright (C) 2004 The lm_sensors group 5 6 6 7 This program is free software; you can redistribute it and/or modify … … 23 24 isadump 0x295 0x296 Basic winbond dump using address/data registers 24 25 isadump 0x295 0x296 2 Winbond dump, bank 2 26 isadump 0x2e 0x2f 0x09 0x07 Super-I/O, logical device 9 25 27 isadump -f 0x5000 Flat address space dump like for Via 686a 26 28 */ … … 61 63 int main(int argc, char *argv[]) 62 64 { 63 int addrreg, datareg = 0, bank = 0, bankreg = 0x4E; 65 int addrreg, datareg = 0, bank = -1, bankreg = 0x4E; 66 int oldbank = 0; 64 67 int i,j,res; 65 68 int flat = 0; … … 150 153 fprintf(stderr," I will probe address register 0x%04x and " 151 154 "data register 0x%04x.\n",addrreg,datareg); 152 if(bank )155 if(bank>=0) 153 156 fprintf(stderr," Probing bank %d using bank register 0x%02x.\n", 154 157 bank, bankreg); … … 174 177 #endif 175 178 176 /* See Winbond w83781d data sheet for bank details */ 177 if(bank) { 179 if(bank>=0) { 178 180 outb(bankreg,addrreg); 179 outb(bank | 0x80,datareg); /* OR in high byte flag */ 181 oldbank=inb(datareg); 182 outb(bank,datareg); 180 183 } 181 184 … … 194 197 printf("\n"); 195 198 } 196 if(bank ) {199 if(bank>=0) { 197 200 outb(bankreg,addrreg); 198 outb( 0x80,datareg); /* put back in bank 0 high byte */201 outb(oldbank,datareg); /* restore original value */ 199 202 } 200 203 exit(0);
