diff -NurpP linux-2.6.33-xbox0.11pre1/drivers/char/xenon_probe.c linux-2.6.33-xbox0.11pre2/drivers/char/xenon_probe.c --- linux-2.6.33-xbox0.11pre1/drivers/char/xenon_probe.c 2010-03-31 04:14:32.000000000 +0200 +++ linux-2.6.33-xbox0.11pre2/drivers/char/xenon_probe.c 2010-04-03 06:24:28.000000000 +0200 @@ -128,7 +176,7 @@ static ssize_t probe_read(struct file *f /* optimize reads in same longword */ unsigned long addr = ppa & ~3; int shift = ppa % 4; - probe_mem_t r = { .val = probe_map(readl(mapped + addr)) }; + probe_mem_t r = { .val = probe_map(readl_be(mapped + addr)) }; int len = 4 - shift; @@ -174,12 +222,12 @@ static ssize_t probe_write(struct file * /* handle partial write */ if (len != 4) - r.val = probe_map(readl(mapped + addr)); + r.val = probe_map(readl_be(mapped + addr)); if (copy_from_user(&r.p[shift], buf, len)) return -EFAULT; - writel(probe_rmap(r.val), mapped + addr); + writel_be(probe_rmap(r.val), mapped + addr); count -= len; buf += len; @@ -223,8 +561,8 @@ static int probe_ioctl(struct inode *ino if (copy_from_user(&iod, argp, sizeof(struct xenon_probe_ioctl))) return -EFAULT; - printk(KERN_INFO "probe_ioctl(%04x,%08llx)\n", - cmd, iod.v64); + printk(KERN_INFO "probe_ioctl(%04x,%08llx,%08llx)\n", + cmd, iod.addr, iod.v64); switch (cmd) {