Merge branch 'ht-delete-2.6.35' into release
authorLen Brown <len.brown@intel.com>
Fri, 28 May 2010 20:20:35 +0000 (16:20 -0400)
committerLen Brown <len.brown@intel.com>
Fri, 28 May 2010 20:20:35 +0000 (16:20 -0400)
1  2 
Documentation/kernel-parameters.txt
arch/x86/kernel/acpi/boot.c
arch/x86/lguest/boot.c

@@@ -143,11 -143,10 +143,10 @@@ and is between 256 and 4096 characters
  
        acpi=           [HW,ACPI,X86]
                        Advanced Configuration and Power Interface
-                       Format: { force | off | ht | strict | noirq | rsdt }
+                       Format: { force | off | strict | noirq | rsdt }
                        force -- enable ACPI if default was off
                        off -- disable ACPI if default was on
                        noirq -- do not use ACPI for IRQ routing
-                       ht -- run only enough ACPI to enable Hyper Threading
                        strict -- Be less tolerant of platforms that are not
                                strictly ACPI specification compliant.
                        rsdt -- prefer RSDT over (default) XSDT
                        acpi_display_output=video
                        See above.
  
 -      acpi_early_pdc_eval     [HW,ACPI] Evaluate processor _PDC methods
 -                              early. Needed on some platforms to properly
 -                              initialize the EC.
 -
        acpi_irq_balance [HW,ACPI]
                        ACPI will balance active IRQs
                        default in APIC mode
        amd_iommu=      [HW,X86-84]
                        Pass parameters to the AMD IOMMU driver in the system.
                        Possible values are:
 -                      isolate - enable device isolation (each device, as far
 -                                as possible, will get its own protection
 -                                domain) [default]
 -                      share - put every device behind one IOMMU into the
 -                              same protection domain
                        fullflush - enable flushing of IO/TLB entries when
                                    they are unmapped. Otherwise they are
                                    flushed before they will be reused, which
                        Default value is 0.
                        Value can be changed at runtime via /selinux/enforce.
  
 +      erst_disable    [ACPI]
 +                      Disable Error Record Serialization Table (ERST)
 +                      support.
 +
        ether=          [HW,NET] Ethernet cards parameters
                        This option is obsoleted by the "netdev=" option, which
                        has equivalent usage. See its documentation for details.
        hd=             [EIDE] (E)IDE hard drive subsystem geometry
                        Format: <cyl>,<head>,<sect>
  
 +      hest_disable    [ACPI]
 +                      Disable Hardware Error Source Table (HEST) support;
 +                      corresponding firmware-first mode error processing
 +                      logic will be disabled.
 +
        highmem=nn[KMG] [KNL,BOOT] forces the highmem zone to have an exact
                        size of <nn>. This works even on boxes that have no
                        highmem otherwise. This also works to reduce highmem
  
        libata.force=   [LIBATA] Force configurations.  The format is comma
                        separated list of "[ID:]VAL" where ID is
 -                      PORT[:DEVICE].  PORT and DEVICE are decimal numbers
 +                      PORT[.DEVICE].  PORT and DEVICE are decimal numbers
                        matching port, link or device.  Basically, it matches
                        the ATA ID string printed on console by libata.  If
                        the whole ID part is omitted, the last PORT and DEVICE
@@@ -31,7 -31,6 +31,7 @@@
  #include <linux/module.h>
  #include <linux/dmi.h>
  #include <linux/irq.h>
 +#include <linux/slab.h>
  #include <linux/bootmem.h>
  #include <linux/ioport.h>
  #include <linux/pci.h>
@@@ -63,7 -62,6 +63,6 @@@ EXPORT_SYMBOL(acpi_disabled)
  int acpi_noirq;                               /* skip ACPI IRQ initialization */
  int acpi_pci_disabled;                /* skip ACPI PCI scan and IRQ initialization */
  EXPORT_SYMBOL(acpi_pci_disabled);
- int acpi_ht __initdata = 1;   /* enable HT */
  
  int acpi_lapic;
  int acpi_ioapic;
@@@ -491,7 -489,6 +490,7 @@@ int acpi_register_gsi(struct device *de
   *  ACPI based hotplug support for CPU
   */
  #ifdef CONFIG_ACPI_HOTPLUG_CPU
 +#include <acpi/processor.h>
  
  static void acpi_map_cpu2node(acpi_handle handle, int cpu, int physid)
  {
@@@ -569,8 -566,6 +568,8 @@@ static int __cpuinit _acpi_map_lsapic(a
                goto free_new_map;
        }
  
 +      acpi_processor_set_pdc(handle);
 +
        cpu = cpumask_first(new_map);
        acpi_map_cpu2node(handle, cpu, physid);
  
@@@ -1464,9 -1459,8 +1463,8 @@@ void __init acpi_boot_table_init(void
  
        /*
         * If acpi_disabled, bail out
-        * One exception: acpi=ht continues far enough to enumerate LAPICs
         */
-       if (acpi_disabled && !acpi_ht)
+       if (acpi_disabled)
                return; 
  
        /*
@@@ -1497,9 -1491,8 +1495,8 @@@ int __init early_acpi_boot_init(void
  {
        /*
         * If acpi_disabled, bail out
-        * One exception: acpi=ht continues far enough to enumerate LAPICs
         */
-       if (acpi_disabled && !acpi_ht)
+       if (acpi_disabled)
                return 1;
  
        /*
@@@ -1517,9 -1510,8 +1514,8 @@@ int __init acpi_boot_init(void
  
        /*
         * If acpi_disabled, bail out
-        * One exception: acpi=ht continues far enough to enumerate LAPICs
         */
-       if (acpi_disabled && !acpi_ht)
+       if (acpi_disabled)
                return 1;
  
        acpi_table_parse(ACPI_SIG_BOOT, acpi_parse_sbf);
@@@ -1554,21 -1546,12 +1550,12 @@@ static int __init parse_acpi(char *arg
        /* acpi=force to over-ride black-list */
        else if (strcmp(arg, "force") == 0) {
                acpi_force = 1;
-               acpi_ht = 1;
                acpi_disabled = 0;
        }
        /* acpi=strict disables out-of-spec workarounds */
        else if (strcmp(arg, "strict") == 0) {
                acpi_strict = 1;
        }
-       /* Limit ACPI just to boot-time to enable HT */
-       else if (strcmp(arg, "ht") == 0) {
-               if (!acpi_force) {
-                       printk(KERN_WARNING "acpi=ht will be removed in Linux-2.6.35\n");
-                       disable_acpi();
-               }
-               acpi_ht = 1;
-       }
        /* acpi=rsdt use RSDT instead of XSDT */
        else if (strcmp(arg, "rsdt") == 0) {
                acpi_rsdt_forced = 1;
diff --combined arch/x86/lguest/boot.c
@@@ -115,7 -115,7 +115,7 @@@ static void async_hcall(unsigned long c
        local_irq_save(flags);
        if (lguest_data.hcall_status[next_call] != 0xFF) {
                /* Table full, so do normal hcall which will flush table. */
 -              kvm_hypercall4(call, arg1, arg2, arg3, arg4);
 +              hcall(call, arg1, arg2, arg3, arg4);
        } else {
                lguest_data.hcalls[next_call].arg0 = call;
                lguest_data.hcalls[next_call].arg1 = arg1;
   * So, when we're in lazy mode, we call async_hcall() to store the call for
   * future processing:
   */
 -static void lazy_hcall1(unsigned long call,
 -                     unsigned long arg1)
 +static void lazy_hcall1(unsigned long call, unsigned long arg1)
  {
        if (paravirt_get_lazy_mode() == PARAVIRT_LAZY_NONE)
 -              kvm_hypercall1(call, arg1);
 +              hcall(call, arg1, 0, 0, 0);
        else
                async_hcall(call, arg1, 0, 0, 0);
  }
  
  /* You can imagine what lazy_hcall2, 3 and 4 look like. :*/
  static void lazy_hcall2(unsigned long call,
 -                     unsigned long arg1,
 -                     unsigned long arg2)
 +                      unsigned long arg1,
 +                      unsigned long arg2)
  {
        if (paravirt_get_lazy_mode() == PARAVIRT_LAZY_NONE)
 -              kvm_hypercall2(call, arg1, arg2);
 +              hcall(call, arg1, arg2, 0, 0);
        else
                async_hcall(call, arg1, arg2, 0, 0);
  }
  
  static void lazy_hcall3(unsigned long call,
 -                     unsigned long arg1,
 -                     unsigned long arg2,
 -                     unsigned long arg3)
 +                      unsigned long arg1,
 +                      unsigned long arg2,
 +                      unsigned long arg3)
  {
        if (paravirt_get_lazy_mode() == PARAVIRT_LAZY_NONE)
 -              kvm_hypercall3(call, arg1, arg2, arg3);
 +              hcall(call, arg1, arg2, arg3, 0);
        else
                async_hcall(call, arg1, arg2, arg3, 0);
  }
  
  #ifdef CONFIG_X86_PAE
  static void lazy_hcall4(unsigned long call,
 -                     unsigned long arg1,
 -                     unsigned long arg2,
 -                     unsigned long arg3,
 -                     unsigned long arg4)
 +                      unsigned long arg1,
 +                      unsigned long arg2,
 +                      unsigned long arg3,
 +                      unsigned long arg4)
  {
        if (paravirt_get_lazy_mode() == PARAVIRT_LAZY_NONE)
 -              kvm_hypercall4(call, arg1, arg2, arg3, arg4);
 +              hcall(call, arg1, arg2, arg3, arg4);
        else
                async_hcall(call, arg1, arg2, arg3, arg4);
  }
  :*/
  static void lguest_leave_lazy_mmu_mode(void)
  {
 -      kvm_hypercall0(LHCALL_FLUSH_ASYNC);
 +      hcall(LHCALL_FLUSH_ASYNC, 0, 0, 0, 0);
        paravirt_leave_lazy_mmu();
  }
  
  static void lguest_end_context_switch(struct task_struct *next)
  {
 -      kvm_hypercall0(LHCALL_FLUSH_ASYNC);
 +      hcall(LHCALL_FLUSH_ASYNC, 0, 0, 0, 0);
        paravirt_end_context_switch(next);
  }
  
@@@ -285,7 -286,7 +285,7 @@@ static void lguest_write_idt_entry(gate
        /* Keep the local copy up to date. */
        native_write_idt_entry(dt, entrynum, g);
        /* Tell Host about this new entry. */
 -      kvm_hypercall3(LHCALL_LOAD_IDT_ENTRY, entrynum, desc[0], desc[1]);
 +      hcall(LHCALL_LOAD_IDT_ENTRY, entrynum, desc[0], desc[1], 0);
  }
  
  /*
@@@ -299,7 -300,7 +299,7 @@@ static void lguest_load_idt(const struc
        struct desc_struct *idt = (void *)desc->address;
  
        for (i = 0; i < (desc->size+1)/8; i++)
 -              kvm_hypercall3(LHCALL_LOAD_IDT_ENTRY, i, idt[i].a, idt[i].b);
 +              hcall(LHCALL_LOAD_IDT_ENTRY, i, idt[i].a, idt[i].b, 0);
  }
  
  /*
@@@ -320,7 -321,7 +320,7 @@@ static void lguest_load_gdt(const struc
        struct desc_struct *gdt = (void *)desc->address;
  
        for (i = 0; i < (desc->size+1)/8; i++)
 -              kvm_hypercall3(LHCALL_LOAD_GDT_ENTRY, i, gdt[i].a, gdt[i].b);
 +              hcall(LHCALL_LOAD_GDT_ENTRY, i, gdt[i].a, gdt[i].b, 0);
  }
  
  /*
@@@ -333,8 -334,8 +333,8 @@@ static void lguest_write_gdt_entry(stru
  {
        native_write_gdt_entry(dt, entrynum, desc, type);
        /* Tell Host about this new entry. */
 -      kvm_hypercall3(LHCALL_LOAD_GDT_ENTRY, entrynum,
 -                     dt[entrynum].a, dt[entrynum].b);
 +      hcall(LHCALL_LOAD_GDT_ENTRY, entrynum,
 +            dt[entrynum].a, dt[entrynum].b, 0);
  }
  
  /*
@@@ -930,7 -931,7 +930,7 @@@ static int lguest_clockevent_set_next_e
        }
  
        /* Please wake us this far in the future. */
 -      kvm_hypercall1(LHCALL_SET_CLOCKEVENT, delta);
 +      hcall(LHCALL_SET_CLOCKEVENT, delta, 0, 0, 0);
        return 0;
  }
  
@@@ -941,7 -942,7 +941,7 @@@ static void lguest_clockevent_set_mode(
        case CLOCK_EVT_MODE_UNUSED:
        case CLOCK_EVT_MODE_SHUTDOWN:
                /* A 0 argument shuts the clock down. */
 -              kvm_hypercall0(LHCALL_SET_CLOCKEVENT);
 +              hcall(LHCALL_SET_CLOCKEVENT, 0, 0, 0, 0);
                break;
        case CLOCK_EVT_MODE_ONESHOT:
                /* This is what we expect. */
@@@ -1099,7 -1100,7 +1099,7 @@@ static void set_lguest_basic_apic_ops(v
  /* STOP!  Until an interrupt comes in. */
  static void lguest_safe_halt(void)
  {
 -      kvm_hypercall0(LHCALL_HALT);
 +      hcall(LHCALL_HALT, 0, 0, 0, 0);
  }
  
  /*
   */
  static void lguest_power_off(void)
  {
 -      kvm_hypercall2(LHCALL_SHUTDOWN, __pa("Power down"),
 -                                      LGUEST_SHUTDOWN_POWEROFF);
 +      hcall(LHCALL_SHUTDOWN, __pa("Power down"),
 +            LGUEST_SHUTDOWN_POWEROFF, 0, 0);
  }
  
  /*
   */
  static int lguest_panic(struct notifier_block *nb, unsigned long l, void *p)
  {
 -      kvm_hypercall2(LHCALL_SHUTDOWN, __pa(p), LGUEST_SHUTDOWN_POWEROFF);
 +      hcall(LHCALL_SHUTDOWN, __pa(p), LGUEST_SHUTDOWN_POWEROFF, 0, 0);
        /* The hcall won't return, but to keep gcc happy, we're "done". */
        return NOTIFY_DONE;
  }
@@@ -1161,7 -1162,7 +1161,7 @@@ static __init int early_put_chars(u32 v
                len = sizeof(scratch) - 1;
        scratch[len] = '\0';
        memcpy(scratch, buf, len);
 -      kvm_hypercall1(LHCALL_NOTIFY, __pa(scratch));
 +      hcall(LHCALL_NOTIFY, __pa(scratch), 0, 0, 0);
  
        /* This routine returns the number of bytes actually written. */
        return len;
   */
  static void lguest_restart(char *reason)
  {
 -      kvm_hypercall2(LHCALL_SHUTDOWN, __pa(reason), LGUEST_SHUTDOWN_RESTART);
 +      hcall(LHCALL_SHUTDOWN, __pa(reason), LGUEST_SHUTDOWN_RESTART, 0, 0);
  }
  
  /*G:050
@@@ -1390,7 -1391,6 +1390,6 @@@ __init void lguest_init(void
  #endif
  #ifdef CONFIG_ACPI
        acpi_disabled = 1;
-       acpi_ht = 0;
  #endif
  
        /*