WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] Move PCI device scanning to dom0. Enable ACPI in dom0. T

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] Move PCI device scanning to dom0. Enable ACPI in dom0. This should greatly
From: BitKeeper Bot <riel@xxxxxxxxxxx>
Date: Tue, 03 May 2005 14:27:54 +0000
Delivery-date: Tue, 03 May 2005 15:04:45 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: Xen Development List <xen-devel@xxxxxxxxxxxxxxxxxxx>
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
ChangeSet 1.1423, 2005/05/03 15:27:54+01:00, kaf24@xxxxxxxxxxxxxxxxxxxx

        Move PCI device scanning to dom0. Enable ACPI in dom0. This should 
greatly
        reduce the complexity of xen and move the complexity of dealing with
        hardware bugs and workarounds etc to dom0.
        
        The ioapic local apic (and hence all the vectors) are owned by the 
hypervisor.
        Dom0 enables the ACPI interpreter, handles PCI and ACPI based interrupt 
        routing. 
        
        New hypercalls to assign vectors and for accessing the ioapic.
        
        Functionality not yet provided:
        
        o acpi=off to support machines with broken or no acpi support.
        o support for driver domains 
        
        Signed-off-by: Arun Sharma <arun.sharma@xxxxxxxxx>
        Signed-off-by: Asit Mallick <asit.k.mallick@xxxxxxxxx>



 b/linux-2.6.11-xen-sparse/arch/xen/Kconfig                                |    
6 
 b/linux-2.6.11-xen-sparse/arch/xen/configs/xen0_defconfig_x86_32          |   
45 
 b/linux-2.6.11-xen-sparse/arch/xen/i386/Kconfig                           |  
136 -
 b/linux-2.6.11-xen-sparse/arch/xen/i386/kernel/Makefile                   |    
2 
 b/linux-2.6.11-xen-sparse/arch/xen/i386/kernel/acpi/Makefile              |    
9 
 b/linux-2.6.11-xen-sparse/arch/xen/i386/kernel/acpi/boot.c                |  
926 ++++++++
 b/linux-2.6.11-xen-sparse/arch/xen/i386/kernel/apic.c                     |   
53 
 b/linux-2.6.11-xen-sparse/arch/xen/i386/kernel/io_apic.c                  |  
394 +++
 b/linux-2.6.11-xen-sparse/arch/xen/i386/kernel/mpparse.c                  | 
1105 ++++++++++
 b/linux-2.6.11-xen-sparse/arch/xen/i386/pci/Makefile                      |    
4 
 b/linux-2.6.11-xen-sparse/arch/xen/i386/pci/irq.c                         | 
1048 +++++++++
 b/linux-2.6.11-xen-sparse/arch/xen/kernel/smp.c                           |    
3 
 b/linux-2.6.11-xen-sparse/arch/xen/x86_64/Kconfig                         |    
2 
 b/linux-2.6.11-xen-sparse/drivers/acpi/tables.c                           |  
610 +++++
 b/linux-2.6.11-xen-sparse/include/asm-xen/asm-i386/fixmap.h               |    
1 
 b/linux-2.6.11-xen-sparse/include/asm-xen/asm-i386/io_apic.h              |  
230 ++
 b/linux-2.6.11-xen-sparse/include/asm-xen/asm-i386/mach-xen/irq_vectors.h |    
3 
 b/xen/Rules.mk                                                            |    
1 
 b/xen/arch/x86/Makefile                                                   |    
2 
 b/xen/arch/x86/io_apic.c                                                  |    
2 
 b/xen/common/physdev.c                                                    |   
49 
 b/xen/drivers/Makefile                                                    |    
4 
 b/xen/include/asm-x86/config.h                                            |    
8 
 b/xen/include/asm-x86/io_apic.h                                           |    
2 
 b/xen/include/public/physdev.h                                            |   
22 
 linux-2.6.11-xen-sparse/arch/xen/i386/pci/direct.c                        |   
81 
 26 files changed, 4557 insertions(+), 191 deletions(-)


diff -Nru a/linux-2.6.11-xen-sparse/arch/xen/Kconfig 
b/linux-2.6.11-xen-sparse/arch/xen/Kconfig
--- a/linux-2.6.11-xen-sparse/arch/xen/Kconfig  2005-05-03 11:05:07 -04:00
+++ b/linux-2.6.11-xen-sparse/arch/xen/Kconfig  2005-05-03 11:05:07 -04:00
@@ -181,6 +181,12 @@
 
 source "arch/xen/Kconfig.drivers"
 
+if XEN_PRIVILEGED_GUEST
+menu "Power management options"
+source "drivers/acpi/Kconfig"
+endmenu
+endif
+
 source "fs/Kconfig"
 
 source "security/Kconfig"
diff -Nru a/linux-2.6.11-xen-sparse/arch/xen/configs/xen0_defconfig_x86_32 
b/linux-2.6.11-xen-sparse/arch/xen/configs/xen0_defconfig_x86_32
--- a/linux-2.6.11-xen-sparse/arch/xen/configs/xen0_defconfig_x86_32    
2005-05-03 11:05:07 -04:00
+++ b/linux-2.6.11-xen-sparse/arch/xen/configs/xen0_defconfig_x86_32    
2005-05-03 11:05:07 -04:00
@@ -133,12 +133,23 @@
 CONFIG_MTRR=y
 CONFIG_HAVE_DEC_LOCK=y
 # CONFIG_REGPARM is not set
+CONFIG_X86_LOCAL_APIC=y
+CONFIG_X86_IO_APIC=y
 
 #
 # Bus options (PCI, PCMCIA, EISA, MCA, ISA)
 #
+CONFIG_X86_UP_APIC=y
+CONFIG_X86_UP_IOAPIC=y
 CONFIG_PCI=y
+# CONFIG_PCI_GOBIOS is not set
+# CONFIG_PCI_GOMMCONFIG is not set
+# CONFIG_PCI_GODIRECT is not set
+CONFIG_PCI_GOANY=y
+CONFIG_PCI_BIOS=y
 CONFIG_PCI_DIRECT=y
+# CONFIG_PCIEPORTBUS is not set
+# CONFIG_PCI_MSI is not set
 CONFIG_PCI_LEGACY_PROC=y
 # CONFIG_PCI_NAMES is not set
 CONFIG_ISA=y
@@ -176,6 +187,8 @@
 # CONFIG_DEBUG_SPINLOCK_SLEEP is not set
 # CONFIG_FRAME_POINTER is not set
 # CONFIG_4KSTACKS is not set
+CONFIG_X86_FIND_SMP_CONFIG=y
+CONFIG_X86_MPPARSE=y
 CONFIG_GENERIC_HARDIRQS=y
 CONFIG_GENERIC_IRQ_PROBE=y
 CONFIG_X86_BIOS_REBOOT=y
@@ -842,6 +855,7 @@
 CONFIG_DRM_SIS=m
 # CONFIG_MWAVE is not set
 # CONFIG_RAW_DRIVER is not set
+# CONFIG_HPET is not set
 # CONFIG_HANGCHECK_TIMER is not set
 
 #
@@ -1006,6 +1020,37 @@
 # InfiniBand support
 #
 # CONFIG_INFINIBAND is not set
+
+#
+# Power management options
+#
+
+#
+# ACPI (Advanced Configuration and Power Interface) Support
+#
+CONFIG_ACPI=y
+CONFIG_ACPI_BOOT=y
+CONFIG_ACPI_INTERPRETER=y
+CONFIG_ACPI_AC=m
+CONFIG_ACPI_BATTERY=m
+CONFIG_ACPI_BUTTON=m
+CONFIG_ACPI_VIDEO=m
+CONFIG_ACPI_FAN=m
+CONFIG_ACPI_PROCESSOR=m
+CONFIG_ACPI_THERMAL=m
+CONFIG_ACPI_ASUS=m
+CONFIG_ACPI_IBM=m
+CONFIG_ACPI_TOSHIBA=m
+# CONFIG_ACPI_CUSTOM_DSDT is not set
+CONFIG_ACPI_BLACKLIST_YEAR=0
+# CONFIG_ACPI_DEBUG is not set
+CONFIG_ACPI_BUS=y
+CONFIG_ACPI_EC=y
+CONFIG_ACPI_POWER=y
+CONFIG_ACPI_PCI=y
+CONFIG_ACPI_SYSTEM=y
+# CONFIG_X86_PM_TIMER is not set
+# CONFIG_ACPI_CONTAINER is not set
 
 #
 # File systems
diff -Nru a/linux-2.6.11-xen-sparse/arch/xen/i386/Kconfig 
b/linux-2.6.11-xen-sparse/arch/xen/i386/Kconfig
--- a/linux-2.6.11-xen-sparse/arch/xen/i386/Kconfig     2005-05-03 11:05:07 
-04:00
+++ b/linux-2.6.11-xen-sparse/arch/xen/i386/Kconfig     2005-05-03 11:05:07 
-04:00
@@ -662,11 +662,15 @@
        generate incorrect output with certain kernel constructs when
        -mregparm=3 is used.
 
-
 config X86_LOCAL_APIC
        bool
-       depends on (X86_VISWS || SMP) && !X86_VOYAGER
-       default n
+       depends on !SMP && X86_UP_APIC
+       default y
+
+config X86_IO_APIC
+       bool
+       depends on !SMP && X86_UP_IOAPIC
+       default y
 
 if XEN_PHYSDEV_ACCESS
 
@@ -677,10 +681,45 @@
        depends on X86_VISWS
        default y
 
-#config X86_IO_APIC
-#      bool
-#      depends on SMP && !(X86_VISWS || X86_VOYAGER)
-#      default y
+config X86_LOCAL_APIC
+       bool
+       depends on (X86_VISWS || SMP) && !X86_VOYAGER
+       default y
+
+config X86_UP_APIC
+       bool "Local APIC support on uniprocessors" if !SMP
+       depends on !(X86_VISWS || X86_VOYAGER)
+       ---help---
+         A local APIC (Advanced Programmable Interrupt Controller) is an
+         integrated interrupt controller in the CPU. If you have a single-CPU
+         system which has a processor with a local APIC, you can say Y here to
+         enable and use it. If you say Y here even though your machine doesn't
+         have a local APIC, then the kernel will still run with no slowdown at
+         all. The local APIC supports CPU-generated self-interrupts (timer,
+         performance counters), and the NMI watchdog which detects hard
+         lockups.
+
+         If you have a system with several CPUs, you do not need to say Y
+         here: the local APIC will be used automatically.
+
+config X86_UP_IOAPIC
+       bool "IO-APIC support on uniprocessors"
+       depends on !SMP && X86_UP_APIC
+       help
+         An IO-APIC (I/O Advanced Programmable Interrupt Controller) is an
+         SMP-capable replacement for PC-style interrupt controllers. Most
+         SMP systems and a small number of uniprocessor systems have one.
+         If you have a single-CPU system with an IO-APIC, you can say Y here
+         to use it. If you say Y here even though your machine doesn't have
+         an IO-APIC, then the kernel will still run with no slowdown at all.
+
+         If you have a system with several CPUs, you do not need to say Y
+         here: the IO-APIC will be used automatically.
+
+config X86_IO_APIC
+       bool
+       depends on SMP && !(X86_VISWS || X86_VOYAGER)
+       default y
 
 config PCI
        bool "PCI support" if !X86_VISWS
@@ -697,52 +736,47 @@
          information about which PCI hardware does work under Linux and which
          doesn't.
 
-#choice
-#      prompt "PCI access mode"
-#      depends on PCI && !X86_VISWS
-#      default PCI_GOANY
-#      ---help---
-#        On PCI systems, the BIOS can be used to detect the PCI devices and
-#        determine their configuration. However, some old PCI motherboards
-#        have BIOS bugs and may crash if this is done. Also, some embedded
-#        PCI-based systems don't have any BIOS at all. Linux can also try to
-#        detect the PCI hardware directly without using the BIOS.
-#
-#        With this option, you can specify how Linux should detect the
-#        PCI devices. If you choose "BIOS", the BIOS will be used,
-#        if you choose "Direct", the BIOS won't be used, and if you
-#        choose "MMConfig", then PCI Express MMCONFIG will be used.
-#        If you choose "Any", the kernel will try MMCONFIG, then the
-#        direct access method and falls back to the BIOS if that doesn't
-#        work. If unsure, go with the default, which is "Any".
-#
-#config PCI_GOBIOS
-#      bool "BIOS"
-#
-#config PCI_GOMMCONFIG
-#      bool "MMConfig"
-#
-#config PCI_GODIRECT
-#      bool "Direct"
-#
-#config PCI_GOANY
-#      bool "Any"
-#
-#endchoice
-#
-#config PCI_BIOS
-#      bool
-#      depends on !X86_VISWS && PCI && (PCI_GOBIOS || PCI_GOANY)
-#      default y
-#
-#config PCI_DIRECT
-#      bool
-#      depends on PCI && ((PCI_GODIRECT || PCI_GOANY) || X86_VISWS)
-#      default y
+choice
+       prompt "PCI access mode"
+       depends on PCI && !X86_VISWS
+       default PCI_GOANY
+       ---help---
+         On PCI systems, the BIOS can be used to detect the PCI devices and
+         determine their configuration. However, some old PCI motherboards
+         have BIOS bugs and may crash if this is done. Also, some embedded
+         PCI-based systems don't have any BIOS at all. Linux can also try to
+         detect the PCI hardware directly without using the BIOS.
+
+         With this option, you can specify how Linux should detect the
+         PCI devices. If you choose "BIOS", the BIOS will be used,
+         if you choose "Direct", the BIOS won't be used, and if you
+         choose "MMConfig", then PCI Express MMCONFIG will be used.
+         If you choose "Any", the kernel will try MMCONFIG, then the
+         direct access method and falls back to the BIOS if that doesn't
+         work. If unsure, go with the default, which is "Any".
+
+config PCI_GOBIOS
+       bool "BIOS"
+
+config PCI_GOMMCONFIG
+       bool "MMConfig"
+
+config PCI_GODIRECT
+       bool "Direct"
+
+config PCI_GOANY
+       bool "Any"
+
+endchoice
+
+config PCI_BIOS

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] Move PCI device scanning to dom0. Enable ACPI in dom0. This should greatly, BitKeeper Bot <=