| * Implement 'Simple Boot Flag Specification 2.0' |
| #include <linux/kernel.h> |
| #include <linux/string.h> |
| #include <linux/spinlock.h> |
| #include <linux/mc146818rtc.h> |
| #define SBF_RESERVED (0x78) |
| #define SBF_BOOTING (1<<1) |
| #define SBF_PARITY (1<<7) |
| int sbf_port __initdata = -1; /* set via acpi_boot_init() */ |
| static int __init parity(u8 v) |
| static void __init sbf_write(u8 v) |
| printk(KERN_INFO "Simple Boot Flag at 0x%x set to 0x%x\n", sbf_port, v); |
| spin_lock_irqsave(&rtc_lock, flags); |
| spin_unlock_irqrestore(&rtc_lock, flags); |
| static u8 __init sbf_read(void) |
| spin_lock_irqsave(&rtc_lock, flags); |
| spin_unlock_irqrestore(&rtc_lock, flags); |
| static int __init sbf_value_valid(u8 v) |
| if(v&SBF_RESERVED) /* Reserved bits */ |
| static int __init sbf_init(void) |
| printk(KERN_WARNING "Simple Boot Flag value 0x%x read from CMOS RAM was invalid\n",v); |
| #if defined(CONFIG_ISAPNP) |