2
2
* BIOS Decode
3
3
*
4
4
* Copyright (C) 2000-2002 Alan Cox <[email protected] >
5
- * Copyright (C) 2002-2015 Jean Delvare <[email protected] >
5
+ * Copyright (C) 2002-2017 Jean Delvare <[email protected] >
6
6
*
7
7
* This program is free software; you can redistribute it and/or modify
8
8
* it under the terms of the GNU General Public License as published by
52
52
* - Fujitsu application panel technical details
53
53
* As of July 23rd, 2004
54
54
* http://apanel.sourceforge.net/tech.php
55
+ * - Intel Multiprocessor Specification
56
+ * Version 1.4
57
+ * http://www.intel.com/design/archives/processors/pro/docs/242016.htm
55
58
*/
56
59
57
60
#include <stdio.h>
@@ -545,6 +548,34 @@ static int fjkeyinf_decode(const u8 *p, size_t len)
545
548
return 1 ;
546
549
}
547
550
551
+ /*
552
+ * Intel Multiprocessor
553
+ */
554
+
555
+ static size_t mp_length (const u8 * p )
556
+ {
557
+ return 16 * p [8 ];
558
+ }
559
+
560
+ static int mp_decode (const u8 * p , size_t len )
561
+ {
562
+ if (!checksum (p , len ))
563
+ return 0 ;
564
+
565
+ printf ("Intel Multiprocessor present.\n" );
566
+ printf ("\tSpecification Revision: %s\n" ,
567
+ p [9 ] == 0x01 ? "1.1" : p [9 ] == 0x04 ? "1.4" : "Invalid" );
568
+ if (p [11 ])
569
+ printf ("\tDefault Configuration: #%d\n" , p [11 ]);
570
+ else
571
+ printf ("\tConfiguration Table Address: 0x%08X\n" ,
572
+ DWORD (p + 4 ));
573
+ printf ("\tMode: %s\n" , p [12 ] & (1 << 7 ) ?
574
+ "IMCR and PIC" : "Virtual Wire" );
575
+
576
+ return 1 ;
577
+ }
578
+
548
579
/*
549
580
* Main
550
581
*/
@@ -562,6 +593,7 @@ static struct bios_entry bios_entries[] = {
562
593
{ "32OS" , 0 , 0xE0000 , 0xFFFFF , compaq_length , compaq_decode },
563
594
{ "\252\125VPD" , 0 , 0xF0000 , 0xFFFFF , vpd_length , vpd_decode },
564
595
{ "FJKEYINF" , 0 , 0xF0000 , 0xFFFFF , fjkeyinf_length , fjkeyinf_decode },
596
+ { "_MP_" , 0 , 0xE0000 , 0xFFFFF , mp_length , mp_decode },
565
597
{ NULL , 0 , 0 , 0 , NULL , NULL }
566
598
};
567
599
0 commit comments