|
@@ -579,8 +579,22 @@ static void
|
|
|
init_reserved(struct nvbios_init *init)
|
|
|
{
|
|
|
u8 opcode = nv_ro08(init->bios, init->offset);
|
|
|
- trace("RESERVED\t0x%02x\n", opcode);
|
|
|
- init->offset += 1;
|
|
|
+ u8 length, i;
|
|
|
+
|
|
|
+ switch (opcode) {
|
|
|
+ case 0xaa:
|
|
|
+ length = 4;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ length = 1;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ trace("RESERVED 0x%02x\t", opcode);
|
|
|
+ for (i = 1; i < length; i++)
|
|
|
+ cont(" 0x%02x", nv_ro08(init->bios, init->offset + i));
|
|
|
+ cont("\n");
|
|
|
+ init->offset += length;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -2135,6 +2149,7 @@ static struct nvbios_init_opcode {
|
|
|
[0x99] = { init_zm_auxch },
|
|
|
[0x9a] = { init_i2c_long_if },
|
|
|
[0xa9] = { init_gpio_ne },
|
|
|
+ [0xaa] = { init_reserved },
|
|
|
};
|
|
|
|
|
|
#define init_opcode_nr (sizeof(init_opcode) / sizeof(init_opcode[0]))
|