1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
diff -Nur linux-2.6.36.orig/arch/mips/Kconfig linux-2.6.36/arch/mips/Kconfig
--- linux-2.6.36.orig/arch/mips/Kconfig 2010-10-20 22:30:22.000000000 +0200
+++ linux-2.6.36/arch/mips/Kconfig 2010-12-16 21:02:19.000000000 +0100
@@ -46,7 +46,6 @@
select CEVT_R4K
select CSRC_R4K
select IRQ_CPU
- select NO_EXCEPT_FILL
select SWAP_IO_SPACE
select SYS_HAS_CPU_MIPS32_R1
select SYS_HAS_EARLY_PRINTK
diff -Nur linux-2.6.36.orig/arch/mips/ar7/prom.c linux-2.6.36/arch/mips/ar7/prom.c
--- linux-2.6.36.orig/arch/mips/ar7/prom.c 2010-10-20 22:30:22.000000000 +0200
+++ linux-2.6.36/arch/mips/ar7/prom.c 2010-12-16 21:02:19.000000000 +0100
@@ -206,6 +206,14 @@
if (strstr(arcs_cmdline, "console="))
return;
+#ifdef CONFIG_KGDB
+ if (!strstr(prom_getcmdline(), "nokgdb")) {
+ strcat(prom_getcmdline(), " console=kgdb");
+ kgdb_enabled = 1;
+ return;
+ }
+#endif
+
s = prom_getenv("modetty0");
if (s) {
baud = simple_strtoul(s, &p, 10);
diff -Nur linux-2.6.36.orig/drivers/mtd/ar7part.c linux-2.6.36/drivers/mtd/ar7part.c
--- linux-2.6.36.orig/drivers/mtd/ar7part.c 2010-10-20 22:30:22.000000000 +0200
+++ linux-2.6.36/drivers/mtd/ar7part.c 2010-12-16 21:02:19.000000000 +0100
@@ -28,7 +28,7 @@
#include <linux/bootmem.h>
#include <linux/magic.h>
-#define AR7_PARTS 4
+#define AR7_PARTS 5
#define ROOT_OFFSET 0xe0000
#define LOADER_MAGIC1 le32_to_cpu(0xfeedfa42)
@@ -122,14 +122,19 @@
ar7_parts[2].name = "linux";
ar7_parts[2].offset = pre_size;
- ar7_parts[2].size = master->size - pre_size - post_size;
+ ar7_parts[2].size = master->size - pre_size - post_size - 2*master->erasesize;
ar7_parts[2].mask_flags = 0;
ar7_parts[3].name = "rootfs";
ar7_parts[3].offset = root_offset;
- ar7_parts[3].size = master->size - root_offset - post_size;
+ ar7_parts[3].size = master->size - root_offset - post_size - 2*master->erasesize;
ar7_parts[3].mask_flags = 0;
+ ar7_parts[4].name = "cfgfs";
+ ar7_parts[4].offset = master->size - 2*master->erasesize;
+ ar7_parts[4].size = 2*master->erasesize;
+ ar7_parts[4].mask_flags = 0;
+
*pparts = ar7_parts;
return AR7_PARTS;
}
diff -Nur linux-2.6.36.orig/drivers/mtd/maps/physmap.c linux-2.6.36/drivers/mtd/maps/physmap.c
--- linux-2.6.36.orig/drivers/mtd/maps/physmap.c 2010-10-20 22:30:22.000000000 +0200
+++ linux-2.6.36/drivers/mtd/maps/physmap.c 2010-12-16 21:02:19.000000000 +0100
@@ -79,7 +79,7 @@
"map_rom",
NULL };
#ifdef CONFIG_MTD_PARTITIONS
-static const char *part_probe_types[] = { "cmdlinepart", "RedBoot", NULL };
+static const char *part_probe_types[] = { "cmdlinepart", "RedBoot", "ar7part", NULL };
#endif
static int physmap_flash_probe(struct platform_device *dev)
diff -Nur linux-2.6.36.orig/drivers/serial/8250.c linux-2.6.36/drivers/serial/8250.c
--- linux-2.6.36.orig/drivers/serial/8250.c 2010-10-20 22:30:22.000000000 +0200
+++ linux-2.6.36/drivers/serial/8250.c 2010-12-16 21:02:19.000000000 +0100
@@ -2761,7 +2761,11 @@
{
struct uart_8250_port *up = (struct uart_8250_port *)port;
+#ifdef CONFIG_AR7
+ wait_for_xmitr(up, BOTH_EMPTY);
+#else
wait_for_xmitr(up, UART_LSR_THRE);
+#endif
serial_out(up, UART_TX, ch);
}
|