mirror of
https://github.com/vivier/EMILE.git
synced 2024-12-31 08:30:51 +00:00
More bus type info
This commit is contained in:
parent
f133bfe8b7
commit
fbfde9d37e
@ -2,6 +2,8 @@
|
|||||||
*
|
*
|
||||||
* (c) 2004 Laurent Vivier <LaurentVivier@wanadoo.fr>
|
* (c) 2004 Laurent Vivier <LaurentVivier@wanadoo.fr>
|
||||||
*
|
*
|
||||||
|
* some parts from BootX, (c) Benjamin Herrenschmidt
|
||||||
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "glue.h"
|
#include "glue.h"
|
||||||
@ -11,7 +13,7 @@ unsigned long cpu_type = 0;
|
|||||||
unsigned long mmu_type = 0;
|
unsigned long mmu_type = 0;
|
||||||
unsigned long fpu_type = 0;
|
unsigned long fpu_type = 0;
|
||||||
unsigned long machine_id = 0;
|
unsigned long machine_id = 0;
|
||||||
unsigned long arch_type = gestalt68k;
|
unsigned long arch_type = 0;
|
||||||
unsigned long bus_type = 0;
|
unsigned long bus_type = 0;
|
||||||
|
|
||||||
void arch_init()
|
void arch_init()
|
||||||
@ -31,19 +33,58 @@ void arch_init()
|
|||||||
|
|
||||||
Gestalt(gestaltMMUType, &mmu_type);
|
Gestalt(gestaltMMUType, &mmu_type);
|
||||||
|
|
||||||
/* get architecture type */
|
/* get architecture type: powerPC or m68k */
|
||||||
|
|
||||||
Gestalt(gestaltSysArchitecture, &arch_type);
|
if (Gestalt(gestaltSysArchitecture, &arch_type) != noErr)
|
||||||
|
arch_type = gestalt68k;
|
||||||
|
|
||||||
/* check machine type: powerPC or m68k */
|
/* check machine type */
|
||||||
|
|
||||||
Gestalt(gestaltMachineType, &machine_id);
|
Gestalt(gestaltMachineType, &machine_id);
|
||||||
|
|
||||||
#if 0
|
|
||||||
/* check bus type */
|
/* check bus type */
|
||||||
|
|
||||||
if (Gestalt(gestaltOpenFirmwareInfo, &response) == noErr)
|
if (arch_type == gestalt68k)
|
||||||
if (Gestalt(gestaltNameRegistryVersion, &response) == noErr)
|
{
|
||||||
arch_pci = true;
|
bus_type = busNUBUS;
|
||||||
#endif
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
unsigned long response;
|
||||||
|
|
||||||
|
/* OpenFirmware implies PCI */
|
||||||
|
|
||||||
|
if ( (Gestalt('opfw', &response) == noErr) &&
|
||||||
|
(Gestalt('nreg', &response) == noErr) )
|
||||||
|
bus_type = busPCI;
|
||||||
|
else
|
||||||
|
bus_type = busNUBUS;
|
||||||
|
|
||||||
|
switch(machine_id)
|
||||||
|
{
|
||||||
|
case gestaltPowerMac6100_60:
|
||||||
|
case gestaltPowerMac6100_66:
|
||||||
|
case gestaltPowerMac6100_80:
|
||||||
|
case gestaltPowerMac7100_66:
|
||||||
|
case gestaltPowerMac7100_80:
|
||||||
|
case gestaltPowerMac7100_80_chipped:
|
||||||
|
case gestaltPowerMac8100_80:
|
||||||
|
case gestaltPowerMac8100_100:
|
||||||
|
case gestaltPowerMac8100_110:
|
||||||
|
case gestaltPowerMac8100_120:
|
||||||
|
case gestaltAWS9150_80:
|
||||||
|
case gestaltAWS9150_120:
|
||||||
|
bus_type |= busPDM;
|
||||||
|
break;
|
||||||
|
case gestaltPowerMac5200:
|
||||||
|
case gestaltPowerMac6200:
|
||||||
|
bus_type |= busPERFORMA;
|
||||||
|
break;
|
||||||
|
case gestaltPowerBook1400:
|
||||||
|
case gestaltPowerBook5300:
|
||||||
|
case gestaltPowerBookDuo2300:
|
||||||
|
bus_type |= busPOWERBOOK;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -133,6 +133,7 @@ enum {
|
|||||||
gestaltPerforma580 = gestaltMacLC580,
|
gestaltPerforma580 = gestaltMacLC580,
|
||||||
gestaltPowerMac6100_66 = 100,
|
gestaltPowerMac6100_66 = 100,
|
||||||
gestaltAWS6150_66 = gestaltPowerMac6100_66,
|
gestaltAWS6150_66 = gestaltPowerMac6100_66,
|
||||||
|
gestaltPowerMac6100_80 = 101,
|
||||||
gestaltPowerBookDuo280 = 102,
|
gestaltPowerBookDuo280 = 102,
|
||||||
gestaltPowerBookDuo280c = 103,
|
gestaltPowerBookDuo280c = 103,
|
||||||
gestaltPowerMacLC475 = 104,
|
gestaltPowerMacLC475 = 104,
|
||||||
@ -145,6 +146,7 @@ enum {
|
|||||||
gestaltPowerMac7200 = 108,
|
gestaltPowerMac7200 = 108,
|
||||||
gestaltPowerMac7300 = 109,
|
gestaltPowerMac7300 = 109,
|
||||||
gestaltPowerMac7100_66 = 112,
|
gestaltPowerMac7100_66 = 112,
|
||||||
|
gestaltPowerMac7100_80_chipped= 113,
|
||||||
gestaltPowerBook150 = 115,
|
gestaltPowerBook150 = 115,
|
||||||
gestaltPowerMacQuadra700 = 116,
|
gestaltPowerMacQuadra700 = 116,
|
||||||
gestaltPowerMacQuadra900 = 117,
|
gestaltPowerMacQuadra900 = 117,
|
||||||
@ -173,6 +175,14 @@ enum {
|
|||||||
gestaltMacOSCompatibility = 1206
|
gestaltMacOSCompatibility = 1206
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
busNUBUS = 0x01,
|
||||||
|
busPCI = 0x02,
|
||||||
|
busPDM = 0x04,
|
||||||
|
busPERFORMA = 0x08,
|
||||||
|
busPOWERBOOK = 0x10
|
||||||
|
};
|
||||||
|
|
||||||
extern unsigned long cpu_type;
|
extern unsigned long cpu_type;
|
||||||
extern unsigned long mmu_type;
|
extern unsigned long mmu_type;
|
||||||
extern unsigned long fpu_type;
|
extern unsigned long fpu_type;
|
||||||
|
Loading…
Reference in New Issue
Block a user