summaryrefslogtreecommitdiff
path: root/vpddecode.c
diff options
context:
space:
mode:
authorJean Delvare <jdelvare@suse.de>2006-01-03 15:28:03 +0000
committerJean Delvare <jdelvare@suse.de>2006-01-03 15:28:03 +0000
commit528fe13784a9f18520c3f615c7ece15af5ca3bbe (patch)
treed2fd98e5dbc63f26f45d087ad73e3afce5140b58 /vpddecode.c
parent92ddd7ed56c6cab1cb9fe084d6c4afbebd6f0999 (diff)
downloaddmidecode-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.c5
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]);