diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2010-11-25 00:25:19 +0100 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2010-11-25 00:25:19 +0100 |
commit | 7ccb96805242101d2aa3e7a7fe095625549bfc12 (patch) | |
tree | a82cfe9d180f31c6c8f1370ddbbda79b3e243f7e | |
parent | f998221406653b1192796a2ed37d1791d64df9a7 (diff) |
make intel driver work on ibm x40
- add kernel support for AGP/DRM/KMS
- update intel driver
- fix MesaLib (add the correct driver)
-rw-r--r-- | package/MesaLib/Makefile | 23 | ||||
-rw-r--r-- | package/libdrm/Makefile | 4 | ||||
-rw-r--r-- | package/xf86-video-intel/Makefile | 8 | ||||
-rw-r--r-- | package/xf86-video-intel/patches/patch-configure | 32 | ||||
-rw-r--r-- | package/xf86-video-intel/patches/patch-src_i830_h | 109 | ||||
-rw-r--r-- | package/xf86-video-intel/patches/patch-uxa_uxa-priv_h | 11 | ||||
-rw-r--r-- | package/xinit/patches/patch-xinitrc_cpp | 11 | ||||
-rw-r--r-- | target/Config.in | 7 | ||||
-rw-r--r-- | target/linux/config/Config.in.graphics | 35 | ||||
-rw-r--r-- | target/linux/patches/2.6.36/drm-kconfig.patch | 34 | ||||
-rw-r--r-- | target/x86/kernel.config | 20 |
11 files changed, 124 insertions, 170 deletions
diff --git a/package/MesaLib/Makefile b/package/MesaLib/Makefile index 12692b86b..e62b08f33 100644 --- a/package/MesaLib/Makefile +++ b/package/MesaLib/Makefile @@ -5,11 +5,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:= MesaLib PKG_VERSION:= 7.8.2 -PKG_RELEASE:= 1 +PKG_RELEASE:= 2 PKG_MD5SUM:= c89b63d253605ed40e8ac370d25a833c PKG_DESCR:= MESA library PKG_SECTION:= libs -PKG_DEPENDS:= libxdamage libxfixes libdrm +PKG_DEPENDS:= libxdamage libxfixes libdrm libxxf86vm PKG_BUILDDEP:= libXdamage libXfixes libXxf86vm libdrm PKG_BUILDDEP+= dri2proto glproto expat PKG_URL:= http://www.mesa3d.org/ @@ -32,22 +32,15 @@ $(eval $(call PKG_template,MESALIB,mesalib,$(PKG_VERSION)-${PKG_RELEASE},${PKG_D $(eval $(call PKG_template,GLXINFO,glxinfo,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_GLXINFO},${PKGSC_GLXINFO})) $(eval $(call PKG_template,GLXGEARS,glxgears,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_GLXGEARS},${PKGSC_GLXGEARS})) -ifeq (${ADK_LINUX_X86_IBMX40},y) -DRI_DRIVERS:=i810 -endif - -# Lemote's SMI712 is not directly supported by Mesa, -# and at least some SIS driver fails to build when -# keeping the driver auto-selection intact. -ifeq (${ADK_LINUX_MIPS64_LEMOTE},y) -DRI_DRIVERS:=swrast +ifeq (${ADK_HARDWARE_IBMX40},y) +DRI_DRIVERS:=i915 endif CONFIGURE_ARGS+= --disable-static \ --disable-gallium \ --disable-glw \ --with-driver=dri \ - --with-dri-drivers=${DRI_DRIVERS} \ + --with-dri-drivers=${DRI_DRIVERS},swrast \ --with-demos=xdemos XAKE_FLAGS+= HOST_CC=${HOSTCC} @@ -70,10 +63,12 @@ post-install: $(INSTALL_DIR) $(IDIR_MESALIB)/usr/lib/dri $(CP) $(WRKINST)/usr/lib/libGL*.so* \ $(IDIR_MESALIB)/usr/lib -ifeq (${ADK_LINUX_MIPS64_LEMOTE},y) - ${CP} $(WRKINST)/usr/lib/dri/swrast_dri.so \ +ifeq (${ADK_HARDWARE_IBMX40},y) + ${CP} $(WRKINST)/usr/lib/dri/i915_dri.so \ ${IDIR_MESALIB}/usr/lib/dri/ endif + ${CP} $(WRKINST)/usr/lib/dri/swrast_dri.so \ + ${IDIR_MESALIB}/usr/lib/dri/ ${INSTALL_DIR} ${IDIR_GLXINFO}/usr/bin ${INSTALL_BIN} ${WRKBUILD}/progs/xdemos/glxinfo \ ${IDIR_GLXINFO}/usr/bin/ diff --git a/package/libdrm/Makefile b/package/libdrm/Makefile index a55e6468e..87230cfd2 100644 --- a/package/libdrm/Makefile +++ b/package/libdrm/Makefile @@ -4,9 +4,9 @@ include $(TOPDIR)/rules.mk PKG_NAME:= libdrm -PKG_VERSION:= 2.4.20 +PKG_VERSION:= 2.4.22 PKG_RELEASE:= 1 -PKG_MD5SUM:= dcbf9aa0497c84c7e4af15adb0021955 +PKG_MD5SUM:= baf6e005001c8cf739b499bcf2ca9dfb PKG_DESCR:= DRM library PKG_SECTION:= libs PKG_BUILDDEP:= libpthread-stubs diff --git a/package/xf86-video-intel/Makefile b/package/xf86-video-intel/Makefile index fc634f708..9eaaceb3e 100644 --- a/package/xf86-video-intel/Makefile +++ b/package/xf86-video-intel/Makefile @@ -4,14 +4,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:= xf86-video-intel -PKG_VERSION:= 2.9.1 +PKG_VERSION:= 2.13.0 PKG_RELEASE:= 1 -PKG_MD5SUM:= b1926dc68cc10209fc2200729fb6162b +PKG_MD5SUM:= df7e3644a34e97ead09f083ab48d4457 PKG_DESCR:= X11 driver for Intel VGA chip PKG_SECTION:= x11/drivers PKG_DEPENDS:= xorg-server libdrm PKG_BUILDDEP:= xorg-server libdrm -PKG_SITES:= http://www.x.org/releases/X11R7.5/src/driver/ +PKG_SITES:= http://xorg.freedesktop.org/archive/individual/driver/ include $(TOPDIR)/mk/package.mk @@ -21,7 +21,7 @@ CONFIGURE_ARGS+= --enable-dri post-install: ${INSTALL_DIR} ${IDIR_XF86_VIDEO_INTEL}/usr/lib/xorg/modules/drivers - ${CP} ${WRKINST}/usr/lib/xorg/modules/drivers/intel_drv.so \ + ${CP} ${WRKINST}/usr/lib/xorg/modules/drivers/*.so \ ${IDIR_XF86_VIDEO_INTEL}/usr/lib/xorg/modules/drivers/ include ${TOPDIR}/mk/pkg-bottom.mk diff --git a/package/xf86-video-intel/patches/patch-configure b/package/xf86-video-intel/patches/patch-configure index ac5f5031c..fe5ca4e86 100644 --- a/package/xf86-video-intel/patches/patch-configure +++ b/package/xf86-video-intel/patches/patch-configure @@ -1,42 +1,32 @@ ---- xf86-video-intel-2.9.1.orig/configure 2009-10-26 12:53:35.000000000 +0100 -+++ xf86-video-intel-2.9.1/configure 2010-04-21 19:57:36.000000000 +0200 -@@ -12283,9 +12283,6 @@ if test x$DRI != xno; then +--- xf86-video-intel-2.13.0.orig/configure 2010-09-30 17:46:13.000000000 +0200 ++++ xf86-video-intel-2.13.0/configure 2010-11-24 22:05:13.100685362 +0100 +@@ -11623,9 +11623,6 @@ if test x$DRI != xno; then $as_echo_n "checking for ${sdkdir}/dri.h... " >&6; } - if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + if eval "test \"\${$as_ac_File+set}\"" = set; then : $as_echo_n "(cached) " >&6 -else - test "$cross_compiling" = yes && -- as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 +- as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "${sdkdir}/dri.h"; then eval "$as_ac_File=yes" else -@@ -12307,9 +12304,6 @@ fi +@@ -11646,9 +11643,6 @@ fi $as_echo_n "checking for ${sdkdir}/sarea.h... " >&6; } - if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + if eval "test \"\${$as_ac_File+set}\"" = set; then : $as_echo_n "(cached) " >&6 -else - test "$cross_compiling" = yes && -- as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 +- as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "${sdkdir}/sarea.h"; then eval "$as_ac_File=yes" else -@@ -12331,9 +12325,6 @@ fi +@@ -11669,9 +11663,6 @@ fi $as_echo_n "checking for ${sdkdir}/dristruct.h... " >&6; } - if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + if eval "test \"\${$as_ac_File+set}\"" = set; then : $as_echo_n "(cached) " >&6 -else - test "$cross_compiling" = yes && -- as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 +- as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "${sdkdir}/dristruct.h"; then eval "$as_ac_File=yes" else -@@ -12927,9 +12918,6 @@ else - $as_echo_n "checking for $XORG_SGML_PATH/X11/defs.ent... " >&6; } - if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 --else -- test "$cross_compiling" = yes && -- as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 - if test -r "$XORG_SGML_PATH/X11/defs.ent"; then - eval "$as_ac_File=yes" - else diff --git a/package/xf86-video-intel/patches/patch-src_i830_h b/package/xf86-video-intel/patches/patch-src_i830_h deleted file mode 100644 index c4ed17cf8..000000000 --- a/package/xf86-video-intel/patches/patch-src_i830_h +++ /dev/null @@ -1,109 +0,0 @@ ---- xf86-video-intel-2.9.1.orig/src/i830.h 2009-10-26 12:48:05.000000000 +0100 -+++ xf86-video-intel-2.9.1/src/i830.h 2010-04-19 20:20:51.000000000 +0200 -@@ -61,6 +61,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN - #include "xorg-server.h" - #include <pciaccess.h> - -+#ifdef XF86DRI - #include "xf86drm.h" - #include "sarea.h" - #define _XF86DRI_SERVER_ -@@ -69,16 +70,19 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN - #include "i830_dri.h" - #include "intel_bufmgr.h" - #include "i915_drm.h" -+#endif - - #include "uxa.h" - Bool i830_uxa_init(ScreenPtr pScreen); - void i830_uxa_create_screen_resources(ScreenPtr pScreen); - void i830_uxa_block_handler (ScreenPtr pScreen); -+#ifdef XF86DRI - Bool i830_get_aperture_space(ScrnInfoPtr pScrn, drm_intel_bo **bo_table, - int num_bos); - - dri_bo *i830_get_pixmap_bo (PixmapPtr pixmap); - void i830_set_pixmap_bo(PixmapPtr pixmap, dri_bo *bo); -+#endif - - typedef struct _I830OutputRec I830OutputRec, *I830OutputPtr; - -@@ -168,7 +172,9 @@ struct _i830_memory { - i830_memory *prev; - /** @} */ - -+#ifdef XF86DRI - dri_bo *bo; -+#endif - uint32_t alignment; - uint32_t gem_name; - Bool lifetime_fixed_offset; -@@ -370,7 +376,9 @@ typedef struct _I830Rec { - /** Offset in the ring for the next DWORD emit */ - uint32_t ring_next; - -+#ifdef XF86DRI - dri_bufmgr *bufmgr; -+#endif - - uint8_t *batch_ptr; - /** Byte offset in batch_ptr for the next dword to be emitted. */ -@@ -379,8 +387,10 @@ typedef struct _I830Rec { - unsigned int batch_emit_start; - /** Number of bytes to be emitted in the current BEGIN_BATCH. */ - uint32_t batch_emitting; -+#ifdef XF86DRI - dri_bo *batch_bo; - dri_bo *last_batch_bo; -+#endif - /** Whether we're in a section of code that can't tolerate flushing */ - Bool in_batch_atomic; - /** Ending batch_used that was verified by i830_start_batch_atomic() */ -@@ -451,6 +461,7 @@ typedef struct _I830Rec { - ScreenBlockHandlerProcPtr BlockHandler; - Bool overlayOn; - -+#ifdef XF86DRI - struct { - drm_intel_bo *gen4_vs_bo; - drm_intel_bo *gen4_sf_bo; -@@ -461,6 +472,7 @@ typedef struct _I830Rec { - drm_intel_bo *gen4_sampler_bo; - drm_intel_bo *gen4_sip_kernel_bo; - } video; -+#endif - - /* Render accel state */ - float scale_units[2][2]; -@@ -687,6 +699,7 @@ i830_pipe_a_require_activate (ScrnInfoPt - void - i830_pipe_a_require_deactivate (ScrnInfoPtr scrn); - -+#ifdef XF86DRI - Bool I830DRI2ScreenInit(ScreenPtr pScreen); - void I830DRI2CloseScreen(ScreenPtr pScreen); - -@@ -696,6 +709,7 @@ extern void drmmode_closefb(ScrnInfoPtr - extern int drmmode_output_dpms_status(xf86OutputPtr output); - void - drmmode_crtc_set_cursor_bo(xf86CrtcPtr crtc, dri_bo *cursor); -+#endif - - extern Bool i830_crtc_on(xf86CrtcPtr crtc); - extern int i830_crtc_to_pipe(xf86CrtcPtr crtc); -@@ -882,6 +896,7 @@ Bool i830_pixmap_tiled(PixmapPtr p); - if (pitch > KB(8)) I830FALLBACK("pitch exceeds 3d limit 8K\n");\ - } while(0) - -+#ifdef XF86DRI - /** - * Little wrapper around drm_intel_bo_reloc to return the initial value you - * should stuff into the relocation entry. -@@ -913,6 +928,7 @@ intel_bo_alloc_for_data(ScrnInfoPtr scrn - - return bo; - } -+#endif - - extern const int I830PatternROP[16]; - extern const int I830CopyROP[16]; diff --git a/package/xf86-video-intel/patches/patch-uxa_uxa-priv_h b/package/xf86-video-intel/patches/patch-uxa_uxa-priv_h deleted file mode 100644 index 205367b55..000000000 --- a/package/xf86-video-intel/patches/patch-uxa_uxa-priv_h +++ /dev/null @@ -1,11 +0,0 @@ ---- xf86-video-intel-2.9.1.orig/uxa/uxa-priv.h 2009-10-26 12:48:05.000000000 +0100 -+++ xf86-video-intel-2.9.1/uxa/uxa-priv.h 2010-04-16 20:13:57.000000000 +0200 -@@ -46,7 +46,7 @@ - #include <X11/extensions/shm.h> - #else - #define _XSHM_SERVER_ --#include <X11/extensions/shmstr.h> -+#include <xorg/shmint.h> - #endif - #endif - #include "scrnintstr.h" diff --git a/package/xinit/patches/patch-xinitrc_cpp b/package/xinit/patches/patch-xinitrc_cpp new file mode 100644 index 000000000..123d52a8f --- /dev/null +++ b/package/xinit/patches/patch-xinitrc_cpp @@ -0,0 +1,11 @@ +--- xinit-1.2.1.orig/xinitrc.cpp 2009-11-23 23:49:24.000000000 +0100 ++++ xinit-1.2.1/xinitrc.cpp 2010-11-24 21:55:37.540685561 +0100 +@@ -95,8 +95,4 @@ fi + + #endif + +-TWM & +-XCLOCK -geometry 50x50-1+1 & +-XTERM -geometry 80x50+494+51 & +-XTERM -geometry 80x20+494-0 & + exec XTERM -geometry 80x66+0+0 -name login diff --git a/target/Config.in b/target/Config.in index a28f4bb29..704c7a561 100644 --- a/target/Config.in +++ b/target/Config.in @@ -137,9 +137,16 @@ config ADK_x86_64 config ADK_x86 tristate +config ADK_ibmx40 + boolean + +config ADK_shuttle + boolean + config ADK_HW string default "ibmx40" if ADK_ibmx40 + default "shuttle" if ADK_shuttle config ADK_TARGET string diff --git a/target/linux/config/Config.in.graphics b/target/linux/config/Config.in.graphics index 0bd468de1..bd737fc70 100644 --- a/target/linux/config/Config.in.graphics +++ b/target/linux/config/Config.in.graphics @@ -9,6 +9,26 @@ config ADK_KERNEL_FRAMEBUFFER_CONSOLE config ADK_KERNEL_FB_GEODE boolean default n + +config ADK_KERNEL_DRM + boolean + default n + +config ADK_KERNEL_DRM_I915 + boolean + default n + +config ADK_KERNEL_DRM_I915_KMS + boolean + default n + +config ADK_KERNEL_AGP + boolean + default n + +config ADK_KERNEL_AGP_INTEL + boolean + default n menu "Graphic devices support" @@ -22,5 +42,20 @@ config ADK_KERNEL_FB_GEODE_LX default n help Framebuffer support for ALIX boards. + +config ADK_HARDWARE_GRAPHICS_INTEL + prompt "graphics-intel.................. support for intel graphic cards (AGP/DRM/KMS)" + boolean + select ADK_KERNEL_FB + select ADK_KERNEL_DRM + select ADK_KERNEL_AGP + select ADK_KERNEL_AGP_INTEL + select ADK_KERNEL_FRAMEBUFFER_CONSOLE + select ADK_KERNEL_DRM_I915_KMS + select ADK_KERNEL_DRM_I915 + default y if ADK_HARDWARE_IBMX40 + default n + help + DRM support for intel chipsets. endmenu diff --git a/target/linux/patches/2.6.36/drm-kconfig.patch b/target/linux/patches/2.6.36/drm-kconfig.patch new file mode 100644 index 000000000..aad193c97 --- /dev/null +++ b/target/linux/patches/2.6.36/drm-kconfig.patch @@ -0,0 +1,34 @@ +diff -Nur linux-2.6.36.orig/drivers/gpu/drm/Kconfig linux-2.6.36/drivers/gpu/drm/Kconfig +--- linux-2.6.36.orig/drivers/gpu/drm/Kconfig 2010-10-20 22:30:22.000000000 +0200 ++++ linux-2.6.36/drivers/gpu/drm/Kconfig 2010-11-24 23:08:39.707247343 +0100 +@@ -79,21 +79,6 @@ + selected, the module will be called i810. AGP support is required + for this driver to work. + +-choice +- prompt "Intel 830M, 845G, 852GM, 855GM, 865G" +- depends on DRM && AGP && AGP_INTEL +- optional +- +-config DRM_I830 +- tristate "i830 driver" +- help +- Choose this option if you have a system that has Intel 830M, 845G, +- 852GM, 855GM or 865G integrated graphics. If M is selected, the +- module will be called i830. AGP support is required for this driver +- to work. This driver is used by the older X releases X.org 6.7 and +- XFree86 4.3. If unsure, build this and i915 as modules and the X server +- will load the correct one. +- + config DRM_I915 + tristate "i915 driver" + depends on AGP_INTEL +@@ -127,8 +112,6 @@ + the driver to bind to PCI devices, which precludes loading things + like intelfb. + +-endchoice +- + config DRM_MGA + tristate "Matrox g200/g400" + depends on DRM && PCI diff --git a/target/x86/kernel.config b/target/x86/kernel.config index b7e4514b8..80b42f0f6 100644 --- a/target/x86/kernel.config +++ b/target/x86/kernel.config @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: 2.6.36 -# Thu Nov 18 19:58:19 2010 +# Wed Nov 24 20:35:48 2010 # # CONFIG_64BIT is not set CONFIG_X86_32=y @@ -129,7 +129,7 @@ CONFIG_HAVE_PERF_EVENTS=y CONFIG_PERF_EVENTS=y # CONFIG_PERF_COUNTERS is not set # CONFIG_VM_EVENT_COUNTERS is not set -# CONFIG_PCI_QUIRKS is not set +CONFIG_PCI_QUIRKS=y # CONFIG_COMPAT_BRK is not set CONFIG_SLAB=y # CONFIG_SLUB is not set @@ -285,12 +285,12 @@ CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y CONFIG_VM86=y # CONFIG_TOSHIBA is not set # CONFIG_I8K is not set -# CONFIG_X86_REBOOTFIXUPS is not set +CONFIG_X86_REBOOTFIXUPS=y # CONFIG_MICROCODE is not set # CONFIG_X86_MSR is not set # CONFIG_X86_CPUID is not set -CONFIG_NOHIGHMEM=y -# CONFIG_HIGHMEM4G is not set +# CONFIG_NOHIGHMEM is not set +CONFIG_HIGHMEM4G=y # CONFIG_HIGHMEM64G is not set CONFIG_VMSPLIT_3G=y # CONFIG_VMSPLIT_3G_OPT is not set @@ -298,7 +298,7 @@ CONFIG_VMSPLIT_3G=y # CONFIG_VMSPLIT_2G_OPT is not set # CONFIG_VMSPLIT_1G is not set CONFIG_PAGE_OFFSET=0xC0000000 -# CONFIG_X86_PAE is not set +CONFIG_HIGHMEM=y # CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set CONFIG_NEED_NODE_MEMMAP_SIZE=y CONFIG_ARCH_FLATMEM_ENABLE=y @@ -311,6 +311,7 @@ CONFIG_SPARSEMEM_MANUAL=y CONFIG_SPARSEMEM=y CONFIG_HAVE_MEMORY_PRESENT=y CONFIG_SPARSEMEM_STATIC=y +# CONFIG_MEMORY_HOTPLUG is not set CONFIG_SPLIT_PTLOCK_CPUS=4 # CONFIG_PHYS_ADDR_T_64BIT is not set CONFIG_ZONE_DMA_FLAG=1 @@ -318,13 +319,12 @@ CONFIG_BOUNCE=y CONFIG_VIRT_TO_BUS=y # CONFIG_KSM is not set CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +# CONFIG_HIGHPTE is not set # CONFIG_X86_CHECK_BIOS_CORRUPTION is not set # CONFIG_X86_RESERVE_LOW_64K is not set # CONFIG_MATH_EMULATION is not set CONFIG_MTRR=y -CONFIG_MTRR_SANITIZER=y -CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0 -CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1 +# CONFIG_MTRR_SANITIZER is not set # CONFIG_X86_PAT is not set # CONFIG_SECCOMP is not set # CONFIG_CC_STACKPROTECTOR is not set @@ -335,6 +335,7 @@ CONFIG_HZ_250=y CONFIG_HZ=250 # CONFIG_SCHED_HRTICK is not set # CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set CONFIG_PHYSICAL_START=0x200000 # CONFIG_RELOCATABLE is not set CONFIG_PHYSICAL_ALIGN=0x200000 @@ -342,6 +343,7 @@ CONFIG_PHYSICAL_ALIGN=0x200000 CONFIG_CMDLINE_BOOL=y CONFIG_CMDLINE="console=tty0 console=ttyS0,115200n8" # CONFIG_CMDLINE_OVERRIDE is not set +CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y # # Power management and ACPI options |