diff options
author | Jean Delvare <jdelvare@suse.de> | 2006-01-03 15:28:03 +0000 |
---|---|---|
committer | Jean Delvare <jdelvare@suse.de> | 2006-01-03 15:28:03 +0000 |
commit | 528fe13784a9f18520c3f615c7ece15af5ca3bbe (patch) | |
tree | d2fd98e5dbc63f26f45d087ad73e3afce5140b58 /vpddecode.c | |
parent | 92ddd7ed56c6cab1cb9fe084d6c4afbebd6f0999 (diff) | |
download | dmidecode-git-528fe13784a9f18520c3f615c7ece15af5ca3bbe.tar.gz |
Scan for VPD records on 4-byte boundaries instead of 16-byte boundaries.
This is needed for some eServer xSeries 206. Still emit a warning if a
VPD record is found not on a 16-byte boundary.
Diffstat (limited to 'vpddecode.c')
-rw-r--r-- | vpddecode.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/vpddecode.c b/vpddecode.c index aeadf25..437acb3 100644 --- a/vpddecode.c +++ b/vpddecode.c @@ -338,13 +338,16 @@ int main(int argc, char * const argv[]) if((buf=mem_chunk(0xF0000, 0x10000, opt.devmem))==NULL) exit(1); - for(fp=0; fp<=0xFFF0; fp+=16) + for(fp=0; fp<=0xFFF0; fp+=4) { u8 *p=buf+fp; if(memcmp((char *)p, "\252\125VPD", 5)==0 && fp+p[5]-1<=0xFFFF) { + if(fp%16 && !(opt.flags & FLAG_QUIET)) + printf("Unaligned address (%#lx)! Please report.\n", + 0xf0000+fp); if(opt.flags & FLAG_DUMP) { dump(p, p[5]); |