# HG changeset patch
# User cl349@xxxxxxxxxxxxxxxxxxxx
# Node ID f41f8d753b7a94a06ec77727ca1c0db557b49e1e
# Parent 7115d6c6c792b627fc2c561d71c765c5f0812062
# Parent 7032428bc8207ecbc409d33d9248a60e0dcbf5d7
merge?
diff -r 7115d6c6c792 -r f41f8d753b7a
linux-2.6-xen-sparse/arch/xen/i386/kernel/acpi/boot.c
--- a/linux-2.6-xen-sparse/arch/xen/i386/kernel/acpi/boot.c Wed Aug 31
08:43:31 2005
+++ b/linux-2.6-xen-sparse/arch/xen/i386/kernel/acpi/boot.c Wed Aug 31
09:32:52 2005
@@ -468,6 +468,18 @@
{
unsigned int irq;
unsigned int plat_gsi = gsi;
+
+#ifdef CONFIG_PCI
+ /*
+ * Make sure all (legacy) PCI IRQs are set as level-triggered.
+ */
+ if (acpi_irq_model == ACPI_IRQ_MODEL_PIC) {
+ extern void eisa_set_level_irq(unsigned int irq);
+
+ if (edge_level == ACPI_LEVEL_SENSITIVE)
+ eisa_set_level_irq(gsi);
+ }
+#endif
#ifdef CONFIG_X86_IO_APIC
if (acpi_irq_model == ACPI_IRQ_MODEL_IOAPIC) {
diff -r 7115d6c6c792 -r f41f8d753b7a tools/libxc/xc_load_aout9.c
--- a/tools/libxc/xc_load_aout9.c Wed Aug 31 08:43:31 2005
+++ b/tools/libxc/xc_load_aout9.c Wed Aug 31 09:32:52 2005
@@ -15,6 +15,8 @@
#define round_pgup(_p) (((_p)+(PAGE_SIZE-1))&PAGE_MASK)
#define round_pgdown(_p) ((_p)&PAGE_MASK)
+#define KZERO 0x80000000
+#define KOFFSET(_p) ((_p)&~KZERO)
static int parseaout9image(char *, unsigned long, struct domain_setup_info *);
static int loadaout9image(char *, unsigned long, int, u32, unsigned long *,
struct domain_setup_info *);
@@ -63,7 +65,7 @@
txtsz = round_pgup(ehdr.text);
end = start + txtsz + ehdr.data + ehdr.bss;
- dsi->v_start = start;
+ dsi->v_start = KZERO;
dsi->v_kernstart = start;
dsi->v_kernend = end;
dsi->v_kernentry = ehdr.entry;
@@ -83,19 +85,19 @@
struct domain_setup_info *dsi)
{
struct Exec ehdr;
- unsigned long txtsz;
+ unsigned long start, txtsz;
if (!get_header(image, image_size, &ehdr)) {
ERROR("Kernel image does not have a a.out9 header.");
return -EINVAL;
}
+ start = round_pgdown(ehdr.entry);
txtsz = round_pgup(ehdr.text);
copyout(xch, dom, parray,
- 0, image, sizeof ehdr + ehdr.text);
+ start, image, sizeof ehdr + ehdr.text);
copyout(xch, dom, parray,
- txtsz, image + sizeof ehdr + ehdr.text, ehdr.data);
- /* XXX zeroing of BSS needed? */
+ start+txtsz, image + sizeof ehdr + ehdr.text, ehdr.data);
/* XXX load symbols */
@@ -110,13 +112,14 @@
copyout(
int xch, u32 dom,
unsigned long *parray,
- unsigned long off,
+ unsigned long addr,
void *buf,
int sz)
{
- unsigned long pgoff, chunksz;
+ unsigned long pgoff, chunksz, off;
void *pg;
+ off = KOFFSET(addr);
while (sz > 0) {
pgoff = off & (PAGE_SIZE-1);
chunksz = sz;
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|