UNIX, APIC and PCI Flags [ Fix ]

Unix Flags that might work in OSX. See subcategories for details

This list is mostly AMD specific boot options & for 64bit CPU's. Might also help with Intel CPU's. This list needs extensive testing & feedback but most of these flags do work in OSX. Once more info is gathered They will be categorized into the lists above


Machine check Options Flags


mce=off
= Disable machine check. For compatibility with i386. Might help boot some AMD systems. nomce does the same same as mce=off

mce=bootlog
= Enable logging of machine checks left over from booting.
Disabled by default on AMD because some BIOS leave bogus logs. If your BIOS does not do that it's a good idea to enable this log to make sure you log every machine check event that result in a reboot. On Intel systems it is enabled by default.

mce=nobootlog
= Disable boot machine check logging.

mce=
tolerancelevel (number from list below)

0: always panic on uncorrected errors, log corrected errors

1: panic or SIGBUS on uncorrected errors, log corrected errors. Default is 1
2: SIGBUS or log uncorrected errors, log corrected errors
3: never panic or SIGBUS, log all errors (for testing only)


APIC Flags


apic
= Use IO-APIC. Default

noapic
= Don't use the IO-APIC.

disableapic
= Don't use the local APIC

nolapic
= Don't use the local APIC (alias for i386 compatibility)

noapictimer
= Don't set up the APIC timer

no_timer_check
= Don't check the IO-APIC timer. This can work around problems with incorrect timer initialization on some boards.

apicmaintimer
= Run time keeping from the local APIC timer instead of using the PIT/HPET interrupt for this. This is useful when the PIT/HPET interrupts are unreliable.

noapicmaintimer
= Don't do time keeping using the APIC timer. Useful when this option was auto selected, but doesn't work.

apicpmtimer=1
Either set to 0 or 1. Same as apicmaintimer=1/0. Do APIC timer calibration using the pmtimer. Implies apicmaintimer. Useful when your PIT timer is totally broken. Sometimes there are timer routing problems on some Nvidia and ATI chipsets. Assuming you're using 64bit then you can try apicmaintimer or apicpmtimer. On 32bit you can try pci=noacpi noapic. Needs testing.

disable_8254_timer
/ enable_8254_timer = Enable interrupt 0 timer routing over the 8254 in addition to over
the IO-APIC. The kernel tries to set a sensible default.

PCI Flags


pci=off
= Don't use PCI

pci=conf1
= Use conf1 access.

pci=conf2
= Use conf2 access.

pci=rom
= Assign ROMs.

pci=assign-busses
= Assign busses

pci=noacpi
= Don't use ACPI to set up PCI interrupt routing.