rpms/kernel/devel Makefile.config, 1.70.6.1, 1.70.6.2 config-generic, 1.238.6.33, 1.238.6.34 config-sparc64-generic, 1.21.6.5, 1.21.6.6 drm-intel-next.patch, 1.4.6.4, 1.4.6.5 drm-page-flip.patch, 1.2.6.2, 1.2.6.3 kernel.spec, 1.1294.2.48, 1.1294.2.49 xen.pvops.patch, 1.1.2.31, 1.1.2.32 config-sparc64-smp, 1.2.16.3, NONE

myoung myoung at fedoraproject.org
Thu Aug 13 18:13:16 UTC 2009


Author: myoung

Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv19882

Modified Files:
      Tag: private-myoung-dom0-branch
	Makefile.config config-generic config-sparc64-generic 
	drm-intel-next.patch drm-page-flip.patch kernel.spec 
	xen.pvops.patch 
Removed Files:
      Tag: private-myoung-dom0-branch
	config-sparc64-smp 
Log Message:
get latest update from rebase/master



Index: Makefile.config
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/Makefile.config,v
retrieving revision 1.70.6.1
retrieving revision 1.70.6.2
diff -u -p -r1.70.6.1 -r1.70.6.2
--- Makefile.config	5 Aug 2009 23:00:08 -0000	1.70.6.1
+++ Makefile.config	13 Aug 2009 18:13:03 -0000	1.70.6.2
@@ -10,7 +10,7 @@ CONFIGFILES	= \
 	$(CFG)-x86_64.config $(CFG)-x86_64-debug.config \
 	$(CFG)-s390x.config $(CFG)-arm.config \
 	$(CFG)-ppc.config $(CFG)-ppc-smp.config \
-	$(CFG)-sparc64.config $(CFG)-sparc64-smp.config \
+	$(CFG)-sparc64.config  \
 	$(CFG)-ppc64.config $(CFG)-ppc64-kdump.config $(CFG)-ppc64-debug.config \
 	$(CFG)-ia64.config
 
@@ -80,9 +80,6 @@ kernel-$(VERSION)-x86_64.config: /dev/nu
 kernel-$(VERSION)-x86_64-debug.config: /dev/null temp-x86_64-debug-generic
 	perl merge.pl $^ x86_64 > $@
 
-kernel-$(VERSION)-sparc64-smp.config: config-sparc64-smp temp-sparc64-generic
-	perl merge.pl $^ sparc64 > $@
-
 kernel-$(VERSION)-sparc64.config: /dev/null temp-sparc64-generic
 	perl merge.pl $^ sparc64 > $@
 


Index: config-generic
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/config-generic,v
retrieving revision 1.238.6.33
retrieving revision 1.238.6.34
diff -u -p -r1.238.6.33 -r1.238.6.34
--- config-generic	8 Aug 2009 18:06:03 -0000	1.238.6.33
+++ config-generic	13 Aug 2009 18:13:03 -0000	1.238.6.34
@@ -3987,7 +3987,10 @@ CONFIG_FCOE_FNIC=m
 
 CONFIG_NOP_USB_XCEIV=m
 
-# CONFIG_IMA is not set
+CONFIG_IMA=y
+CONFIG_IMA_MEASURE_PCR_IDX=10
+CONFIG_IMA_AUDIT=y
+CONFIG_IMA_LSM_RULES=y
 
 # CONFIG_PAGE_POISONING is not set
 


Index: config-sparc64-generic
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/config-sparc64-generic,v
retrieving revision 1.21.6.5
retrieving revision 1.21.6.6
diff -u -p -r1.21.6.5 -r1.21.6.6
--- config-sparc64-generic	10 Aug 2009 21:22:18 -0000	1.21.6.5
+++ config-sparc64-generic	13 Aug 2009 18:13:03 -0000	1.21.6.6
@@ -1,4 +1,4 @@
-# CONFIG_SMP is not set
+CONFIG_SMP=y
 CONFIG_SPARC=y
 CONFIG_SPARC64=y
 CONFIG_SECCOMP=y
@@ -199,5 +199,3 @@ CONFIG_LEDS_SUNFIRE=m
 CONFIG_TADPOLE_TS102_UCTRL=m
 
 CONFIG_RCU_FANOUT=64
-
-# CONFIG_KGDB is not set

drm-intel-next.patch:
 i915_dma.c         |   15 -
 i915_drv.h         |    4 
 i915_gem.c         |    4 
 i915_gem_debugfs.c |    2 
 i915_irq.c         |  235 +++++++++++-----
 i915_reg.h         |   45 +++
 i915_suspend.c     |    2 
 intel_bios.c       |   40 ++
 intel_bios.h       |   45 +++
 intel_crt.c        |   12 
 intel_display.c    |  759 +++++++++++++++++++++++++++++++++++------------------
 intel_dp.c         |  216 +++++++++++++--
 intel_drv.h        |    3 
 intel_hdmi.c       |   64 ----
 intel_lvds.c       |   12 
 intel_sdvo.c       |  254 ++++++++++++-----
 intel_tv.c         |   22 +
 17 files changed, 1221 insertions(+), 513 deletions(-)

Index: drm-intel-next.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/drm-intel-next.patch,v
retrieving revision 1.4.6.4
retrieving revision 1.4.6.5
diff -u -p -r1.4.6.4 -r1.4.6.5
--- drm-intel-next.patch	5 Aug 2009 23:00:10 -0000	1.4.6.4
+++ drm-intel-next.patch	13 Aug 2009 18:13:03 -0000	1.4.6.5
@@ -1,5 +1,59 @@
+diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
+index 8c47831..50d1f78 100644
+--- a/drivers/gpu/drm/i915/i915_dma.c
++++ b/drivers/gpu/drm/i915/i915_dma.c
+@@ -1186,6 +1186,13 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
+ 	if (ret)
+ 		goto out_iomapfree;
+ 
++	dev_priv->wq = create_workqueue("i915");
++	if (dev_priv->wq == NULL) {
++		DRM_ERROR("Failed to create our workqueue.\n");
++		ret = -ENOMEM;
++		goto out_iomapfree;
++	}
++
+ 	/* enable GEM by default */
+ 	dev_priv->has_gem = 1;
+ 
+@@ -1211,7 +1218,7 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
+ 	if (!I915_NEED_GFX_HWS(dev)) {
+ 		ret = i915_init_phys_hws(dev);
+ 		if (ret != 0)
+-			goto out_iomapfree;
++			goto out_workqueue_free;
+ 	}
+ 
+ 	i915_get_mem_freq(dev);
+@@ -1245,7 +1252,7 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
+ 		ret = i915_load_modeset_init(dev, prealloc_size, agp_size);
+ 		if (ret < 0) {
+ 			DRM_ERROR("failed to init modeset\n");
+-			goto out_rmmap;
++			goto out_workqueue_free;
+ 		}
+ 	}
+ 
+@@ -1256,6 +1263,8 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
+ 
+ 	return 0;
+ 
++out_workqueue_free:
++	destroy_workqueue(dev_priv->wq);
+ out_iomapfree:
+ 	io_mapping_free(dev_priv->mm.gtt_mapping);
+ out_rmmap:
+@@ -1269,6 +1278,8 @@ int i915_driver_unload(struct drm_device *dev)
+ {
+ 	struct drm_i915_private *dev_priv = dev->dev_private;
+ 
++	destroy_workqueue(dev_priv->wq);
++
+ 	io_mapping_free(dev_priv->mm.gtt_mapping);
+ 	if (dev_priv->mm.gtt_mtrr >= 0) {
+ 		mtrr_del(dev_priv->mm.gtt_mtrr, dev->agp->base,
 diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index d087528..5f3a259 100644
+index d087528..7537f57 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
 @@ -219,6 +219,7 @@ typedef struct drm_i915_private {
@@ -10,15 +64,16 @@ index d087528..5f3a259 100644
  	int lvds_ssc_freq;
  
  	struct drm_i915_fence_reg fence_regs[16]; /* assume 965 */
-@@ -229,6 +230,7 @@ typedef struct drm_i915_private {
+@@ -229,6 +230,8 @@ typedef struct drm_i915_private {
  
  	spinlock_t error_lock;
  	struct drm_i915_error_state *first_error;
 +	struct work_struct error_work;
++	struct workqueue_struct *wq;
  
  	/* Register state */
  	u8 saveLBB;
-@@ -888,6 +890,7 @@ extern int i915_wait_ring(struct drm_device * dev, int n, const char *caller);
+@@ -888,6 +891,7 @@ extern int i915_wait_ring(struct drm_device * dev, int n, const char *caller);
  						      IS_I915GM(dev)))
  #define SUPPORTS_INTEGRATED_HDMI(dev)	(IS_G4X(dev) || IS_IGDNG(dev))
  #define SUPPORTS_INTEGRATED_DP(dev)	(IS_G4X(dev) || IS_IGDNG(dev))
@@ -26,6 +81,28 @@ index d087528..5f3a259 100644
  #define I915_HAS_HOTPLUG(dev) (IS_I945G(dev) || IS_I945GM(dev) || IS_I965G(dev))
  /* dsparb controlled by hw only */
  #define DSPARB_HWCONTROL(dev) (IS_G4X(dev) || IS_IGDNG(dev))
+diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
+index 5bf4203..140bee1 100644
+--- a/drivers/gpu/drm/i915/i915_gem.c
++++ b/drivers/gpu/drm/i915/i915_gem.c
+@@ -1570,7 +1570,7 @@ i915_add_request(struct drm_device *dev, struct drm_file *file_priv,
+ 	}
+ 
+ 	if (was_empty && !dev_priv->mm.suspended)
+-		schedule_delayed_work(&dev_priv->mm.retire_work, HZ);
++		queue_delayed_work(dev_priv->wq, &dev_priv->mm.retire_work, HZ);
+ 	return seqno;
+ }
+ 
+@@ -1719,7 +1719,7 @@ i915_gem_retire_work_handler(struct work_struct *work)
+ 	i915_gem_retire_requests(dev);
+ 	if (!dev_priv->mm.suspended &&
+ 	    !list_empty(&dev_priv->mm.request_list))
+-		schedule_delayed_work(&dev_priv->mm.retire_work, HZ);
++		queue_delayed_work(dev_priv->wq, &dev_priv->mm.retire_work, HZ);
+ 	mutex_unlock(&dev->struct_mutex);
+ }
+ 
 diff --git a/drivers/gpu/drm/i915/i915_gem_debugfs.c b/drivers/gpu/drm/i915/i915_gem_debugfs.c
 index 9a44bfc..cb3b974 100644
 --- a/drivers/gpu/drm/i915/i915_gem_debugfs.c
@@ -40,7 +117,7 @@ index 9a44bfc..cb3b974 100644
  	seq_printf(m, "  PGTBL_ER: 0x%08x\n", error->pgtbl_er);
  	seq_printf(m, "  INSTPM: 0x%08x\n", error->instpm);
 diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
-index 7ba23a6..f340b3f 100644
+index 7ba23a6..83aee80 100644
 --- a/drivers/gpu/drm/i915/i915_irq.c
 +++ b/drivers/gpu/drm/i915/i915_irq.c
 @@ -290,6 +290,35 @@ irqreturn_t igdng_irq_handler(struct drm_device *dev)
@@ -211,7 +288,7 @@ index 7ba23a6..f340b3f 100644
 +		I915_WRITE(IIR, I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT);
 +	}
 +
-+	schedule_work(&dev_priv->error_work);
++	queue_work(dev_priv->wq, &dev_priv->error_work);
 +}
 +
  irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS)
@@ -227,7 +304,15 @@ index 7ba23a6..f340b3f 100644
  		/*
  		 * Clear the PIPE(A|B)STAT regs before the IIR
  		 */
-@@ -409,80 +566,6 @@ irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS)
+@@ -403,86 +560,13 @@ irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS)
+ 			DRM_DEBUG("hotplug event received, stat 0x%08x\n",
+ 				  hotplug_status);
+ 			if (hotplug_status & dev_priv->hotplug_supported_mask)
+-				schedule_work(&dev_priv->hotplug_work);
++				queue_work(dev_priv->wq,
++					   &dev_priv->hotplug_work);
+ 
+ 			I915_WRITE(PORT_HOTPLUG_STAT, hotplug_status);
  			I915_READ(PORT_HOTPLUG_STAT);
  		}
  
@@ -308,7 +393,7 @@ index 7ba23a6..f340b3f 100644
  		I915_WRITE(IIR, iir);
  		new_iir = I915_READ(IIR); /* Flush posted writes */
  
-@@ -830,6 +913,7 @@ void i915_driver_irq_preinstall(struct drm_device * dev)
+@@ -830,6 +914,7 @@ void i915_driver_irq_preinstall(struct drm_device * dev)
  	atomic_set(&dev_priv->irq_received, 0);
  
  	INIT_WORK(&dev_priv->hotplug_work, i915_hotplug_work_func);
@@ -412,6 +497,19 @@ index 6c08584..2955083 100644
 +#define PCH_DPD_AUX_CH_DATA5	0xe4324
 +
  #endif /* _I915_REG_H_ */
+diff --git a/drivers/gpu/drm/i915/i915_suspend.c b/drivers/gpu/drm/i915/i915_suspend.c
+index 9e1d16e..1d04e19 100644
+--- a/drivers/gpu/drm/i915/i915_suspend.c
++++ b/drivers/gpu/drm/i915/i915_suspend.c
+@@ -598,7 +598,7 @@ int i915_restore_state(struct drm_device *dev)
+ 
+ 	for (i = 0; i < 16; i++) {
+ 		I915_WRITE(SWF00 + (i << 2), dev_priv->saveSWF0[i]);
+-		I915_WRITE(SWF10 + (i << 2), dev_priv->saveSWF1[i+7]);
++		I915_WRITE(SWF10 + (i << 2), dev_priv->saveSWF1[i]);
+ 	}
+ 	for (i = 0; i < 3; i++)
+ 		I915_WRITE(SWF30 + (i << 2), dev_priv->saveSWF2[i]);
 diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
 index 7cc4471..300aee3 100644
 --- a/drivers/gpu/drm/i915/intel_bios.c

drm-page-flip.patch:
 b/drivers/gpu/drm/drm_crtc.c                          |  169 +++++++++++++++++-
 b/drivers/gpu/drm/drm_crtc_helper.c                   |   12 +
 b/drivers/gpu/drm/drm_drv.c                           |    1 
 b/drivers/gpu/drm/drm_fops.c                          |   68 +++++++
 b/drivers/gpu/drm/drm_irq.c                           |   43 ++++
 b/drivers/gpu/drm/i915/i915_drv.c                     |    1 
 b/drivers/gpu/drm/i915/intel_display.c                |   24 +-
 b/drivers/gpu/drm/radeon/radeon_display.c             |    3 
 b/include/drm/drm.h                                   |   25 ++
 b/include/drm/drmP.h                                  |   32 +++
 b/include/drm/drm_crtc.h                              |   27 ++
 b/include/drm/drm_crtc_helper.h                       |    4 
 b/include/drm/drm_mode.h                              |   16 +
 linux-2.6.30.i686/drivers/gpu/drm/nouveau/nv04_crtc.c |    2 
 linux-2.6.30.i686/drivers/gpu/drm/nouveau/nv50_crtc.c |    2 
 15 files changed, 415 insertions(+), 14 deletions(-)

Index: drm-page-flip.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/drm-page-flip.patch,v
retrieving revision 1.2.6.2
retrieving revision 1.2.6.3
diff -u -p -r1.2.6.2 -r1.2.6.3
--- drm-page-flip.patch	5 Aug 2009 23:00:15 -0000	1.2.6.2
+++ drm-page-flip.patch	13 Aug 2009 18:13:04 -0000	1.2.6.3
@@ -1,50 +1,32 @@
-From 2c6289cd75e125745e38dc563fa33301d05923a0 Mon Sep 17 00:00:00 2001
-From: =?utf-8?q?Kristian=20H=C3=B8gsberg?= <krh at hinata.local>
-Date: Mon, 13 Jul 2009 09:07:19 -0400
-Subject: [PATCH] Add modesetting pageflip ioctl and corresponding drm event
-MIME-Version: 1.0
-Content-Type: text/plain; charset=utf-8
-Content-Transfer-Encoding: 8bit
+commit f2884697ef0e0064a189d5baacf565d6742687f1
+Author: Kristian Høgsberg <krh at hinata.local>
+Date:   Mon Jul 13 09:07:19 2009 -0400
 
-This patch adds a vblank synced pageflip ioctl for to the modesetting
-family of ioctls.  The ioctl takes a crtc and an fb and schedules a
-pageflip to the new fb at the next coming vertical blank event.  This
-feature lets userspace implement tear-free updating of the screen contents
-with hw-guaranteed low latency page flipping.
-
-The ioctl is asynchronous in that it returns immediately and then later
-notifies the client by making an event available for reading on the drm fd.
-This lets applications add the drm fd to their main loop and handle other
-tasks while waiting for the flip to happen.  The event includes the time
-of the flip, the frame counter and a 64 bit opaque token provided by
-user space in the ioctl.
-
-Based on work and suggestions from
-	Jesse Barnes <jbarnes at virtuousgeek.org>,
-	Jakob Bornecrantz <wallbraker at gmail.com>,
-	Chris Wilson <chris at chris-wilson.co.uk>
-
-Signed-off-by: Kristian Høgsberg <krh at redhat.com>
-Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org>
----
- drivers/gpu/drm/drm_crtc.c              |  169 ++++++++++++++++++++++++++++++-
- drivers/gpu/drm/drm_crtc_helper.c       |   12 ++
- drivers/gpu/drm/drm_drv.c               |    1 +
- drivers/gpu/drm/drm_fops.c              |   68 ++++++++++++-
- drivers/gpu/drm/drm_irq.c               |   43 ++++++++
- drivers/gpu/drm/i915/i915_drv.c         |    1 +
- drivers/gpu/drm/i915/intel_display.c    |   24 +++--
- drivers/gpu/drm/radeon/atombios_crtc.c  |    1 -
- drivers/gpu/drm/radeon/radeon_display.c |    3 +-
- include/drm/drm.h                       |   25 +++++
- include/drm/drmP.h                      |   32 ++++++
- include/drm/drm_crtc.h                  |   27 +++++
- include/drm/drm_crtc_helper.h           |    4 +
- include/drm/drm_mode.h                  |   16 +++
- 14 files changed, 413 insertions(+), 13 deletions(-)
+    Add modesetting pageflip ioctl and corresponding drm event
+    
+    This patch adds a vblank synced pageflip ioctl for to the modesetting
+    family of ioctls.  The ioctl takes a crtc and an fb and schedules a
+    pageflip to the new fb at the next coming vertical blank event.  This
+    feature lets userspace implement tear-free updating of the screen contents
+    with hw-guaranteed low latency page flipping.
+    
+    The ioctl is asynchronous in that it returns immediately and then later
+    notifies the client by making an event available for reading on the drm fd.
+    This lets applications add the drm fd to their main loop and handle other
+    tasks while waiting for the flip to happen.  The event includes the time
+    of the flip, the frame counter and a 64 bit opaque token provided by
+    user space in the ioctl.
+    
+    Based on work and suggestions from
+    	Jesse Barnes <jbarnes at virtuousgeek.org>,
+    	Jakob Bornecrantz <wallbraker at gmail.com>,
+    	Chris Wilson <chris at chris-wilson.co.uk>
+    
+    Signed-off-by: Kristian Høgsberg <krh at redhat.com>
+    Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org>
 
 diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
-index 8fab789..32212e6 100644
+index 8fab789..f598ce0 100644
 --- a/drivers/gpu/drm/drm_crtc.c
 +++ b/drivers/gpu/drm/drm_crtc.c
 @@ -34,6 +34,8 @@
@@ -76,7 +58,7 @@ index 8fab789..32212e6 100644
 +	BUG_ON(crtc->pending_flip == NULL);
 +
 +	mutex_lock(&dev->struct_mutex);
-+	crtc->funcs->set_base(crtc, 0, 0, NULL);
++	crtc->funcs->set_base(crtc, crtc->x, crtc->y, NULL);
 +
 +	pending = crtc->pending_flip;
 +	crtc->pending_flip = NULL;
@@ -593,27 +575,15 @@ index 508838e..697c31a 100644
  };
  
  int intel_framebuffer_create(struct drm_device *dev,
-diff --git a/drivers/gpu/drm/radeon/atombios_crtc.c b/drivers/gpu/drm/radeon/atombios_crtc.c
-index c0080cc..501209d 100644
---- a/drivers/gpu/drm/radeon/atombios_crtc.c
-+++ b/drivers/gpu/drm/radeon/atombios_crtc.c
-@@ -535,7 +535,6 @@ static const struct drm_crtc_helper_funcs atombios_helper_funcs = {
- 	.dpms = atombios_crtc_dpms,
- 	.mode_fixup = atombios_crtc_mode_fixup,
- 	.mode_set = atombios_crtc_mode_set,
--	.mode_set_base = atombios_crtc_set_base,
- 	.prepare = atombios_crtc_prepare,
- 	.commit = atombios_crtc_commit,
- };
 diff --git a/drivers/gpu/drm/radeon/radeon_display.c b/drivers/gpu/drm/radeon/radeon_display.c
-index 3efcf1a..372ba35 100644
+index 3efcf1a..4d73f0b 100644
 --- a/drivers/gpu/drm/radeon/radeon_display.c
 +++ b/drivers/gpu/drm/radeon/radeon_display.c
 @@ -171,6 +171,7 @@ static const struct drm_crtc_funcs radeon_crtc_funcs = {
  	.gamma_set = radeon_crtc_gamma_set,
  	.set_config = drm_crtc_helper_set_config,
  	.destroy = radeon_crtc_destroy,
-+	.set_base = radeon_crtc_set_base,
++	.set_base = drm_crtc_helper_set_base,
  };
  
  static void radeon_crtc_init(struct drm_device *dev, int index)
@@ -874,9 +844,6 @@ index ae304cc..464b779 100644
 +};
 +
  #endif
--- 
-1.6.3.3
-
 diff -up linux-2.6.30.i686/drivers/gpu/drm/nouveau/nv04_crtc.c~ linux-2.6.30.i686/drivers/gpu/drm/nouveau/nv04_crtc.c
 --- linux-2.6.30.i686/drivers/gpu/drm/nouveau/nv04_crtc.c~	2009-07-24 19:38:36.000000000 -0400
 +++ linux-2.6.30.i686/drivers/gpu/drm/nouveau/nv04_crtc.c	2009-07-26 18:06:06.000000000 -0400


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.1294.2.48
retrieving revision 1.1294.2.49
diff -u -p -r1.1294.2.48 -r1.1294.2.49
--- kernel.spec	11 Aug 2009 18:55:10 -0000	1.1294.2.48
+++ kernel.spec	13 Aug 2009 18:13:04 -0000	1.1294.2.49
@@ -79,7 +79,7 @@ Summary: The Linux kernel
 #
 # standard kernel
 %define with_up        %{?_without_up:        0} %{?!_without_up:        1}
-# kernel-smp (only valid for ppc 32-bit, sparc64)
+# kernel-smp (only valid for ppc 32-bit)
 %define with_smp       %{?_without_smp:       0} %{?!_without_smp:       1}
 # kernel-kdump
 %define with_kdump     %{?_without_kdump:     0} %{?!_without_kdump:     1}
@@ -233,8 +233,8 @@ Summary: The Linux kernel
 
 # Overrides for generic default options
 
-# only ppc and sparc64 need separate smp kernels
-%ifnarch ppc sparc64 alphaev56
+# only ppc and alphav56 need separate smp kernels
+%ifnarch ppc alphaev56
 %define with_smp 0
 %endif
 
@@ -320,6 +320,7 @@ Summary: The Linux kernel
 %define make_target image
 %define kernel_image arch/sparc/boot/image
 %define image_install_path boot
+%define with_perftool 0
 %endif
 
 %ifarch ppc
@@ -432,7 +433,7 @@ Summary: The Linux kernel
 # Packages that need to be installed before the kernel is, because the %post
 # scripts use them.
 #
-%define kernel_prereq  fileutils, module-init-tools, initscripts >= 8.11.1-1, mkinitrd >= 6.0.61-1, kernel-firmware >= %{rpmversion}-%{pkg_release}, /sbin/new-kernel-pkg
+%define kernel_prereq  fileutils, module-init-tools, initscripts >= 8.11.1-1, mkinitrd >= 6.0.61-1, kernel-firmware >= %{rpmversion}-%{pkg_release}, /sbin/new-kernel-pkg, grubby >= 7.0.2-1
 
 #
 # This macro does requires, provides, conflicts, obsoletes for a kernel package.
@@ -472,7 +473,7 @@ ExclusiveArch: noarch %{all_x86} x86_64 
 ExclusiveOS: Linux
 
 %kernel_reqprovconf
-%ifarch x86_64
+%ifarch x86_64 sparc64
 Obsoletes: kernel-smp
 %endif
 
@@ -540,7 +541,6 @@ Source60: config-ia64-generic
 Source70: config-s390x
 
 Source90: config-sparc64-generic
-Source91: config-sparc64-smp
 
 Source100: config-arm
 
@@ -684,7 +684,7 @@ Patch1814: drm-nouveau.patch
 Patch1818: drm-i915-resume-force-mode.patch
 Patch1819: drm-intel-big-hammer.patch
 Patch1821: drm-page-flip.patch
-# anholt's tree as of 2009-08-03
+# anholt's tree as of 2009-08-12
 Patch1824: drm-intel-next.patch
 Patch1825: drm-intel-pm.patch
 Patch1826: drm-r600-kms.patch
@@ -1709,12 +1709,9 @@ ls $man9dir | grep -q '' || > $man9dir/B
 
 %if %{with_perf}
 # perf docs and shell wrapper.
-mkdir -p $RPM_BUILD_ROOT/usr/sbin
-cat <<EOF >>$RPM_BUILD_ROOT/usr/sbin/perf
-#!/bin/bash
-exec /usr/libexec/perf-\$(uname -r)
-EOF
-chmod 755 $RPM_BUILD_ROOT/usr/sbin/perf
+mkdir -p $RPM_BUILD_ROOT/usr/sbin/
+cp $RPM_SOURCE_DIR/perf $RPM_BUILD_ROOT/usr/sbin/perf
+chmod 0755 $RPM_BUILD_ROOT/usr/sbin/perf
 mkdir -p $RPM_BUILD_ROOT%{_datadir}/doc/perf
 %endif
 
@@ -1990,6 +1987,30 @@ fi
 
 %changelog
 * Tue Aug 11 2009 Michael Young <m.a.young at durham.ac.uk>
+- add another rebase/master update
+
+* Wed Aug 12 2009 Kyle McMartin <kyle at redhat.com>
+- fix perf.
+
+* Wed Aug 12 2009 Dennis Gilmore <dennis at ausil.us>
+- Obsolete kernel-smp on sparc64
+- Require grubby >= 7.0.2-1 since thats what introduces the dracut options we use
+
+* Wed Aug 12 2009 Kristian Høgsberg <krh at redhat.com>
+- Fix drm-page-flip.patch to not break radeon kms and to not reset
+  crtc offset into fb on flip.
+
+* Wed Aug 12 2009 Adam Jackson <ajax at redhat.com>
+- Update drm-intel-next patch
+
+* Tue Aug 11 2009 Dennis Gilmore <dennis at ausil.us> - 2.6.31-0.149.rc5.git3
+- disable building the -smp kernel on sparc64
+- disable building kernel-perf on sparc64 syscalls not supported
+
+* Tue Aug 11 2009 Eric Paris <eparis at redhat.com>
+- Enable config IMA
+
+* Tue Aug 11 2009 Michael Young <m.a.young at durham.ac.uk>
 - CONFIG_CC_STACKPROTECTOR was probably innocent but leave it off
   a bit longer just in case
 - add rebase/master update

xen.pvops.patch:
 arch/x86/Kconfig                           |    4 
 arch/x86/include/asm/agp.h                 |   15 
 arch/x86/include/asm/e820.h                |    2 
 arch/x86/include/asm/i387.h                |    1 
 arch/x86/include/asm/io.h                  |   15 
 arch/x86/include/asm/io_apic.h             |    7 
 arch/x86/include/asm/microcode.h           |    9 
 arch/x86/include/asm/paravirt.h            |  718 -------------
 arch/x86/include/asm/paravirt_types.h      |  722 +++++++++++++
 arch/x86/include/asm/pci.h                 |    8 
 arch/x86/include/asm/pci_x86.h             |    2 
 arch/x86/include/asm/pgtable.h             |    3 
 arch/x86/include/asm/processor.h           |    4 
 arch/x86/include/asm/tlbflush.h            |    6 
 arch/x86/include/asm/xen/hypercall.h       |   36 
 arch/x86/include/asm/xen/interface.h       |    8 
 arch/x86/include/asm/xen/interface_32.h    |    5 
 arch/x86/include/asm/xen/interface_64.h    |   13 
 arch/x86/include/asm/xen/iommu.h           |   12 
 arch/x86/include/asm/xen/page.h            |   16 
 arch/x86/include/asm/xen/pci.h             |   13 
 arch/x86/kernel/Makefile                   |    1 
 arch/x86/kernel/acpi/boot.c                |   18 
 arch/x86/kernel/acpi/sleep.c               |    2 
 arch/x86/kernel/apic/io_apic.c             |   37 
 arch/x86/kernel/cpu/mtrr/Makefile          |    1 
 arch/x86/kernel/cpu/mtrr/amd.c             |    6 
 arch/x86/kernel/cpu/mtrr/centaur.c         |    6 
 arch/x86/kernel/cpu/mtrr/cyrix.c           |    6 
 arch/x86/kernel/cpu/mtrr/generic.c         |   10 
 arch/x86/kernel/cpu/mtrr/main.c            |   19 
 arch/x86/kernel/cpu/mtrr/mtrr.h            |   11 
 arch/x86/kernel/cpu/mtrr/xen.c             |  104 +
 arch/x86/kernel/e820.c                     |   30 
 arch/x86/kernel/ioport.c                   |   29 
 arch/x86/kernel/microcode_core.c           |    5 
 arch/x86/kernel/microcode_xen.c            |  200 +++
 arch/x86/kernel/paravirt.c                 |    1 
 arch/x86/kernel/pci-dma.c                  |    3 
 arch/x86/kernel/pci-swiotlb.c              |   30 
 arch/x86/kernel/process.c                  |   27 
 arch/x86/kernel/process_32.c               |   27 
 arch/x86/kernel/process_64.c               |   33 
 arch/x86/kernel/setup.c                    |    4 
 arch/x86/kernel/traps.c                    |   33 
 arch/x86/mm/init_32.c                      |   42 
 arch/x86/mm/pat.c                          |    2 
 arch/x86/mm/pgtable.c                      |   10 
 arch/x86/mm/tlb.c                          |   35 
 arch/x86/pci/Makefile                      |    1 
 arch/x86/pci/common.c                      |   18 
 arch/x86/pci/i386.c                        |    3 
 arch/x86/pci/init.c                        |    6 
 arch/x86/pci/xen.c                         |   51 
 arch/x86/xen/Kconfig                       |   33 
 arch/x86/xen/Makefile                      |    4 
 arch/x86/xen/apic.c                        |   60 +
 arch/x86/xen/enlighten.c                   |   63 +
 arch/x86/xen/mmu.c                         |  455 ++++++++
 arch/x86/xen/pci-swiotlb.c                 |   53 +
 arch/x86/xen/pci.c                         |   86 +
 arch/x86/xen/setup.c                       |   50 
 arch/x86/xen/smp.c                         |    2 
 arch/x86/xen/time.c                        |    2 
 arch/x86/xen/vga.c                         |   67 +
 arch/x86/xen/xen-ops.h                     |   19 
 block/blk-core.c                           |    2 
 drivers/acpi/acpica/hwsleep.c              |   17 
 drivers/acpi/sleep.c                       |   19 
 drivers/block/Kconfig                      |    1 
 drivers/char/agp/intel-agp.c               |   17 
 drivers/char/hvc_xen.c                     |   99 +
 drivers/net/Kconfig                        |    1 
 drivers/pci/Makefile                       |    2 
 drivers/pci/pci.h                          |    2 
 drivers/pci/xen-iommu.c                    |  332 ++++++
 drivers/xen/Kconfig                        |   32 
 drivers/xen/Makefile                       |   18 
 drivers/xen/acpi.c                         |   23 
 drivers/xen/balloon.c                      |  152 ++
 drivers/xen/biomerge.c                     |   14 
 drivers/xen/blkback/Makefile               |    3 
 drivers/xen/blkback/blkback.c              |  658 ++++++++++++
 drivers/xen/blkback/common.h               |  137 ++
 drivers/xen/blkback/interface.c            |  182 +++
 drivers/xen/blkback/vbd.c                  |  118 ++
 drivers/xen/blkback/xenbus.c               |  542 ++++++++++
 drivers/xen/events.c                       |  315 +++++-
 drivers/xen/grant-table.c                  |  103 +
 drivers/xen/netback/Makefile               |    3 
 drivers/xen/netback/common.h               |  221 ++++
 drivers/xen/netback/interface.c            |  401 +++++++
 drivers/xen/netback/netback.c              | 1513 +++++++++++++++++++++++++++++
 drivers/xen/netback/xenbus.c               |  454 ++++++++
 drivers/xen/pci.c                          |  116 ++
 drivers/xen/xenbus/Makefile                |    5 
 drivers/xen/xenbus/xenbus_comms.c          |    1 
 drivers/xen/xenbus/xenbus_probe.c          |  380 +------
 drivers/xen/xenbus/xenbus_probe.h          |   29 
 drivers/xen/xenbus/xenbus_probe_backend.c  |  298 +++++
 drivers/xen/xenbus/xenbus_probe_frontend.c |  292 +++++
 drivers/xen/xenfs/Makefile                 |    3 
 drivers/xen/xenfs/privcmd.c                |  403 +++++++
 drivers/xen/xenfs/super.c                  |   98 +
 drivers/xen/xenfs/xenfs.h                  |    3 
 drivers/xen/xenfs/xenstored.c              |   67 +
 include/asm-generic/pci.h                  |    2 
 include/linux/interrupt.h                  |    1 
 include/linux/page-flags.h                 |   18 
 include/linux/pci.h                        |    6 
 include/xen/Kbuild                         |    1 
 include/xen/acpi.h                         |   23 
 include/xen/balloon.h                      |    8 
 include/xen/blkif.h                        |  122 ++
 include/xen/events.h                       |   27 
 include/xen/grant_table.h                  |   43 
 include/xen/interface/grant_table.h        |   22 
 include/xen/interface/memory.h             |   92 +
 include/xen/interface/physdev.h            |   21 
 include/xen/interface/platform.h           |  222 ++++
 include/xen/interface/xen.h                |   43 
 include/xen/privcmd.h                      |   80 +
 include/xen/swiotlb.h                      |   18 
 include/xen/xen-ops.h                      |   11 
 include/xen/xenbus.h                       |    2 
 kernel/irq/manage.c                        |    3 
 lib/swiotlb.c                              |    5 
 mm/page_alloc.c                            |   14 
 128 files changed, 9889 insertions(+), 1295 deletions(-)

Index: xen.pvops.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/Attic/xen.pvops.patch,v
retrieving revision 1.1.2.31
retrieving revision 1.1.2.32
diff -u -p -r1.1.2.31 -r1.1.2.32
--- xen.pvops.patch	11 Aug 2009 18:55:10 -0000	1.1.2.31
+++ xen.pvops.patch	13 Aug 2009 18:13:04 -0000	1.1.2.32
@@ -1920,7 +1920,7 @@ index 0000000..75df312
 +#endif
 +
 diff --git a/arch/x86/include/asm/xen/page.h b/arch/x86/include/asm/xen/page.h
-index 018a0a4..ebc174c 100644
+index 018a0a4..f334014 100644
 --- a/arch/x86/include/asm/xen/page.h
 +++ b/arch/x86/include/asm/xen/page.h
 @@ -5,6 +5,7 @@
@@ -1931,7 +1931,7 @@ index 018a0a4..ebc174c 100644
  
  #include <asm/uaccess.h>
  #include <asm/page.h>
-@@ -35,16 +36,25 @@ typedef struct xpaddr {
+@@ -35,6 +36,8 @@ typedef struct xpaddr {
  #define MAX_DOMAIN_PAGES						\
      ((unsigned long)((u64)CONFIG_XEN_MAX_DOMAIN_MEMORY * 1024 * 1024 * 1024 / PAGE_SIZE))
  
@@ -1940,25 +1940,7 @@ index 018a0a4..ebc174c 100644
  
  extern unsigned long get_phys_to_machine(unsigned long pfn);
  extern void set_phys_to_machine(unsigned long pfn, unsigned long mfn);
- 
- static inline unsigned long pfn_to_mfn(unsigned long pfn)
- {
-+	unsigned long mfn;
-+
- 	if (xen_feature(XENFEAT_auto_translated_physmap))
- 		return pfn;
- 
--	return get_phys_to_machine(pfn) & ~FOREIGN_FRAME_BIT;
-+	mfn = get_phys_to_machine(pfn);
-+
-+	if (unlikely(mfn == INVALID_P2M_ENTRY))
-+		return mfn;
-+
-+	return mfn & ~FOREIGN_FRAME_BIT;
- }
- 
- static inline int phys_to_machine_mapping_valid(unsigned long pfn)
-@@ -62,10 +72,8 @@ static inline unsigned long mfn_to_pfn(unsigned long mfn)
+@@ -62,10 +65,8 @@ static inline unsigned long mfn_to_pfn(unsigned long mfn)
  	if (xen_feature(XENFEAT_auto_translated_physmap))
  		return mfn;
  
@@ -1970,7 +1952,7 @@ index 018a0a4..ebc174c 100644
  
  	pfn = 0;
  	/*
-@@ -112,13 +120,9 @@ static inline xpaddr_t machine_to_phys(xmaddr_t machine)
+@@ -112,13 +113,9 @@ static inline xpaddr_t machine_to_phys(xmaddr_t machine)
   */
  static inline unsigned long mfn_to_local_pfn(unsigned long mfn)
  {
@@ -1986,23 +1968,7 @@ index 018a0a4..ebc174c 100644
  	return pfn;
  }
  
-@@ -143,6 +147,15 @@ static inline pte_t mfn_pte(unsigned long page_nr, pgprot_t pgprot)
- 	return pte;
- }
- 
-+static inline unsigned long pte_invalid_mfn(void)
-+{
-+	pte_t pte;
-+
-+	pte.pte = ((phys_addr_t)INVALID_P2M_ENTRY << PAGE_SHIFT);
-+
-+	return pte_mfn(pte);
-+}
-+
- static inline pteval_t pte_val_ma(pte_t pte)
- {
- 	return pte.pte;
-@@ -163,6 +176,7 @@ static inline pte_t __pte_ma(pteval_t x)
+@@ -163,6 +160,7 @@ static inline pte_t __pte_ma(pteval_t x)
  
  #define pgd_val_ma(x)	((x).pgd)
  
@@ -3760,7 +3726,7 @@ index 0a1700a..6ba04d4 100644
  
  	xen_raw_console_write("about to get started...\n");
 diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
-index 4ceb285..e23f89f 100644
+index 4ceb285..a654a49 100644
 --- a/arch/x86/xen/mmu.c
 +++ b/arch/x86/xen/mmu.c
 @@ -50,7 +50,9 @@
@@ -3958,27 +3924,14 @@ index 4ceb285..e23f89f 100644
  static void xen_flush_tlb_others(const struct cpumask *cpus,
  				 struct mm_struct *mm, unsigned long va)
  {
-@@ -1441,13 +1547,29 @@ static void *xen_kmap_atomic_pte(struct page *page, enum km_type type)
- }
- #endif
- 
--#ifdef CONFIG_X86_32
--static __init pte_t mask_rw_pte(pte_t *ptep, pte_t pte)
-+static __init pte_t filter_pte(pte_t *ptep, pte_t pte)
+@@ -1444,10 +1550,17 @@ static void *xen_kmap_atomic_pte(struct page *page, enum km_type type)
+ #ifdef CONFIG_X86_32
+ static __init pte_t mask_rw_pte(pte_t *ptep, pte_t pte)
  {
 -	/* If there's an existing pte, then don't allow _PAGE_RW to be set */
 -	if (pte_val_ma(*ptep) & _PAGE_PRESENT)
-+#ifdef CONFIG_X86_32
 +	pte_t oldpte = *ptep;
-+#endif
 +
-+	if ((pte_flags(pte) & _PAGE_PRESENT) &&
-+	    (pte_mfn(pte) == pte_invalid_mfn())) {
-+		/* Don't allow pre-balloned mappings to be set */
-+		pte = __pte_ma(0);
-+	}
-+
-+#ifdef CONFIG_X86_32
 +	if (pte_flags(oldpte) & _PAGE_PRESENT) {
 +		/* Don't allow existing IO mappings to be overridden */
 +		if (pte_flags(oldpte) & _PAGE_IOMAP)
@@ -3988,24 +3941,10 @@ index 4ceb285..e23f89f 100644
  		pte = __pte_ma(((pte_val_ma(*ptep) & _PAGE_RW) | ~_PAGE_RW) &
  			       pte_val_ma(pte));
 +	}
-+#endif
  
  	return pte;
  }
-@@ -1456,11 +1578,10 @@ static __init pte_t mask_rw_pte(pte_t *ptep, pte_t pte)
-    doesn't allow RO pagetable pages to be remapped RW */
- static __init void xen_set_pte_init(pte_t *ptep, pte_t pte)
- {
--	pte = mask_rw_pte(ptep, pte);
-+	pte = filter_pte(ptep, pte);
- 
- 	xen_set_pte(ptep, pte);
- }
--#endif
- 
- static void pin_pagetable_pfn(unsigned cmd, unsigned long pfn)
- {
-@@ -1616,6 +1737,7 @@ static void *m2v(phys_addr_t maddr)
+@@ -1616,6 +1729,7 @@ static void *m2v(phys_addr_t maddr)
  	return __ka(m2p(maddr));
  }
  
@@ -4013,7 +3952,7 @@ index 4ceb285..e23f89f 100644
  static void set_page_prot(void *addr, pgprot_t prot)
  {
  	unsigned long pfn = __pa(addr) >> PAGE_SHIFT;
-@@ -1671,6 +1793,20 @@ static __init void xen_map_identity_early(pmd_t *pmd, unsigned long max_pfn)
+@@ -1671,6 +1785,20 @@ static __init void xen_map_identity_early(pmd_t *pmd, unsigned long max_pfn)
  	set_page_prot(pmd, PAGE_KERNEL_RO);
  }
  
@@ -4034,7 +3973,7 @@ index 4ceb285..e23f89f 100644
  #ifdef CONFIG_X86_64
  static void convert_pfn_mfn(void *v)
  {
-@@ -1762,6 +1898,7 @@ __init pgd_t *xen_setup_kernel_pagetable(pgd_t *pgd,
+@@ -1762,6 +1890,7 @@ __init pgd_t *xen_setup_kernel_pagetable(pgd_t *pgd,
  					 unsigned long max_pfn)
  {
  	pmd_t *kernel_pmd;
@@ -4042,7 +3981,7 @@ index 4ceb285..e23f89f 100644
  
  	max_pfn_mapped = PFN_DOWN(__pa(xen_start_info->pt_base) +
  				  xen_start_info->nr_pt_frames * PAGE_SIZE +
-@@ -1773,6 +1910,20 @@ __init pgd_t *xen_setup_kernel_pagetable(pgd_t *pgd,
+@@ -1773,6 +1902,20 @@ __init pgd_t *xen_setup_kernel_pagetable(pgd_t *pgd,
  	xen_map_identity_early(level2_kernel_pgt, max_pfn);
  
  	memcpy(swapper_pg_dir, pgd, sizeof(pgd_t) * PTRS_PER_PGD);
@@ -4063,7 +4002,7 @@ index 4ceb285..e23f89f 100644
  	set_pgd(&swapper_pg_dir[KERNEL_PGD_BOUNDARY],
  			__pgd(__pa(level2_kernel_pgt) | _PAGE_PRESENT));
  
-@@ -1824,9 +1975,25 @@ static void xen_set_fixmap(unsigned idx, phys_addr_t phys, pgprot_t prot)
+@@ -1824,9 +1967,25 @@ static void xen_set_fixmap(unsigned idx, phys_addr_t phys, pgprot_t prot)
  		pte = pfn_pte(phys, prot);
  		break;
  
@@ -4090,7 +4029,7 @@ index 4ceb285..e23f89f 100644
  	}
  
  	__native_set_fixmap(idx, pte);
-@@ -1841,6 +2008,29 @@ static void xen_set_fixmap(unsigned idx, phys_addr_t phys, pgprot_t prot)
+@@ -1841,6 +2000,29 @@ static void xen_set_fixmap(unsigned idx, phys_addr_t phys, pgprot_t prot)
  #endif
  }
  
@@ -4120,19 +4059,7 @@ index 4ceb285..e23f89f 100644
  __init void xen_post_allocator_init(void)
  {
  	pv_mmu_ops.set_pte = xen_set_pte;
-@@ -1906,11 +2096,7 @@ const struct pv_mmu_ops xen_mmu_ops __initdata = {
- 	.kmap_atomic_pte = xen_kmap_atomic_pte,
- #endif
- 
--#ifdef CONFIG_X86_64
--	.set_pte = xen_set_pte,
--#else
- 	.set_pte = xen_set_pte_init,
--#endif
- 	.set_pte_at = xen_set_pte_at,
- 	.set_pmd = xen_set_pmd_hyper,
- 
-@@ -1955,6 +2141,271 @@ const struct pv_mmu_ops xen_mmu_ops __initdata = {
+@@ -1955,6 +2137,271 @@ const struct pv_mmu_ops xen_mmu_ops __initdata = {
  };
  
  
@@ -4556,7 +4483,7 @@ index 0000000..07b59fe
 +	}
 +}
 diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
-index ad0047f..c0304a1 100644
+index ad0047f..2439456 100644
 --- a/arch/x86/xen/setup.c
 +++ b/arch/x86/xen/setup.c
 @@ -19,6 +19,7 @@
@@ -4567,19 +4494,15 @@ index ad0047f..c0304a1 100644
  #include <xen/interface/physdev.h>
  #include <xen/features.h>
  
-@@ -36,21 +37,63 @@ extern void xen_syscall32_target(void);
+@@ -36,21 +37,62 @@ extern void xen_syscall32_target(void);
  /**
   * machine_specific_memory_setup - Hook for machine specific memory setup.
   **/
 -
  char * __init xen_memory_setup(void)
  {
--	unsigned long max_pfn = xen_start_info->nr_pages;
--
--	max_pfn = min(MAX_DOMAIN_PAGES, max_pfn);
-+	unsigned long nrpages = min(xen_start_info->nr_pages, MAX_DOMAIN_PAGES);
-+	unsigned long long mem_limit = PFN_PHYS((u64)MAX_DOMAIN_PAGES);
-+	unsigned long long mem_max = 0;
+ 	unsigned long max_pfn = xen_start_info->nr_pages;
++	unsigned long long mem_end;
 +	int rc;
 +	struct xen_memory_map memmap;
 +	/*
@@ -4591,6 +4514,9 @@ index ad0047f..c0304a1 100644
 +		XENMEM_machine_memory_map :
 +		XENMEM_memory_map;
 +	int i;
+ 
+ 	max_pfn = min(MAX_DOMAIN_PAGES, max_pfn);
++	mem_end = PFN_PHYS((u64)max_pfn);
 +
 +	memmap.nr_entries = E820MAX;
 +	set_xen_guest_handle(memmap.buffer, map);
@@ -4599,7 +4525,7 @@ index ad0047f..c0304a1 100644
 +	if (rc == -ENOSYS) {
 +		memmap.nr_entries = 1;
 +		map[0].addr = 0ULL;
-+		map[0].size = xen_start_info->nr_pages;
++		map[0].size = mem_end;
 +		/* 8MB slack (to balance backend allocations). */
 +		map[0].size += 8ULL << 20;
 +		map[0].type = E820_RAM;
@@ -4613,15 +4539,12 @@ index ad0047f..c0304a1 100644
 +	for (i = 0; i < memmap.nr_entries; i++) {
 +		unsigned long long end = map[i].addr + map[i].size;
 +		if (map[i].type == E820_RAM) {
-+			if (map[i].addr > mem_limit)
++			if (map[i].addr > mem_end)
 +				continue;
-+			if (end > mem_limit) {
-+				/* Truncate region to mem_limit. */
-+				map[i].size -= end - mem_limit;
-+				end = mem_limit;
++			if (end > mem_end) {
++				/* Truncate region to max_mem. */
++				map[i].size -= end - mem_end;
 +			}
-+			if (end > mem_max)
-+				mem_max = end;
 +		}
 +		if (map[i].size > 0)
 +			e820_add_region(map[i].addr, map[i].size, map[i].type);
@@ -4637,19 +4560,7 @@ index ad0047f..c0304a1 100644
  	 */
  	e820_add_region(ISA_START_ADDRESS, ISA_END_ADDRESS - ISA_START_ADDRESS,
  			E820_RESERVED);
-@@ -65,6 +108,11 @@ char * __init xen_memory_setup(void)
- 		      __pa(xen_start_info->pt_base),
- 			"XEN START INFO");
- 
-+	/*
-+	 * Reserve extra memory for the balloon driver.
-+	 */
-+	reserve_early(nrpages * PAGE_SIZE, mem_max, "XEN BALLOON");
-+
- 	sanitize_e820_map(e820.map, ARRAY_SIZE(e820.map), &e820.nr_map);
- 
- 	return "Xen";
-@@ -188,7 +236,5 @@ void __init xen_arch_setup(void)
+@@ -188,7 +230,5 @@ void __init xen_arch_setup(void)
  
  	pm_idle = xen_idle;
  
@@ -5624,7 +5535,7 @@ index 0000000..e6d3d0e
 +	return HYPERVISOR_dom0_op(&op);
 +}
 diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c
-index f5bbd9e..168e61f 100644
+index f5bbd9e..939721e 100644
 --- a/drivers/xen/balloon.c
 +++ b/drivers/xen/balloon.c
 @@ -43,6 +43,7 @@
@@ -5786,17 +5697,7 @@ index f5bbd9e..168e61f 100644
  
  	init_timer(&balloon_timer);
  	balloon_timer.data = 0;
-@@ -442,8 +417,7 @@ static int __init balloon_init(void)
- 	/* Initialise the balloon with excess memory space. */
- 	for (pfn = xen_start_info->nr_pages; pfn < max_pfn; pfn++) {
- 		page = pfn_to_page(pfn);
--		if (!PageReserved(page))
--			balloon_append(page);
-+		balloon_append(page);
- 	}
- 
- 	target_watch.callback = watch_target;
-@@ -464,6 +438,101 @@ static void balloon_exit(void)
+@@ -464,6 +439,101 @@ static void balloon_exit(void)
  
  module_exit(balloon_exit);
  
@@ -5898,7 +5799,7 @@ index f5bbd9e..168e61f 100644
  #define BALLOON_SHOW(name, format, args...)				\
  	static ssize_t show_##name(struct sys_device *dev,		\
  				   struct sysdev_attribute *attr,	\
-@@ -476,9 +545,6 @@ module_exit(balloon_exit);
+@@ -476,9 +546,6 @@ module_exit(balloon_exit);
  BALLOON_SHOW(current_kb, "%lu\n", PAGES2KB(balloon_stats.current_pages));
  BALLOON_SHOW(low_kb, "%lu\n", PAGES2KB(balloon_stats.balloon_low));
  BALLOON_SHOW(high_kb, "%lu\n", PAGES2KB(balloon_stats.balloon_high));
@@ -5908,7 +5809,7 @@ index f5bbd9e..168e61f 100644
  BALLOON_SHOW(driver_kb, "%lu\n", PAGES2KB(balloon_stats.driver_pages));
  
  static ssize_t show_target_kb(struct sys_device *dev, struct sysdev_attribute *attr,
-@@ -548,7 +614,6 @@ static struct attribute *balloon_info_attrs[] = {
+@@ -548,7 +615,6 @@ static struct attribute *balloon_info_attrs[] = {
  	&attr_current_kb.attr,
  	&attr_low_kb.attr,
  	&attr_high_kb.attr,


--- config-sparc64-smp DELETED ---




More information about the fedora-extras-commits mailing list