diff options
Diffstat (limited to 'arch')
26 files changed, 320 insertions, 521 deletions
diff --git a/arch/blackfin/kernel/gptimers.c b/arch/blackfin/kernel/gptimers.c index e698554895a7..3a3e9615b002 100644 --- a/arch/blackfin/kernel/gptimers.c +++ b/arch/blackfin/kernel/gptimers.c | |||
| @@ -10,8 +10,8 @@ | |||
| 10 | 10 | ||
| 11 | #include <linux/kernel.h> | 11 | #include <linux/kernel.h> |
| 12 | #include <linux/module.h> | 12 | #include <linux/module.h> |
| 13 | #include <linux/io.h> | ||
| 13 | 14 | ||
| 14 | #include <asm/io.h> | ||
| 15 | #include <asm/blackfin.h> | 15 | #include <asm/blackfin.h> |
| 16 | #include <asm/gptimers.h> | 16 | #include <asm/gptimers.h> |
| 17 | 17 | ||
diff --git a/arch/blackfin/lib/outs.S b/arch/blackfin/lib/outs.S index 3daf96035bf6..4685b7aa0080 100644 --- a/arch/blackfin/lib/outs.S +++ b/arch/blackfin/lib/outs.S | |||
| @@ -76,4 +76,4 @@ ENTRY(_outsw_8) | |||
| 76 | R0 = R0 + R1; | 76 | R0 = R0 + R1; |
| 77 | .Lword8_loop_e: W[P0] = R0; | 77 | .Lword8_loop_e: W[P0] = R0; |
| 78 | RTS; | 78 | RTS; |
| 79 | ENDPROC(_outsw) | 79 | ENDPROC(_outsw_8) |
diff --git a/arch/blackfin/mach-bf527/boards/ezkit.c b/arch/blackfin/mach-bf527/boards/ezkit.c index bb6d58c931de..fa4f4e833e84 100644 --- a/arch/blackfin/mach-bf527/boards/ezkit.c +++ b/arch/blackfin/mach-bf527/boards/ezkit.c | |||
| @@ -647,10 +647,10 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { | |||
| 647 | { | 647 | { |
| 648 | .modalias = "ad7877", | 648 | .modalias = "ad7877", |
| 649 | .platform_data = &bfin_ad7877_ts_info, | 649 | .platform_data = &bfin_ad7877_ts_info, |
| 650 | .irq = IRQ_PF6, | 650 | .irq = IRQ_PF8, |
| 651 | .max_speed_hz = 12500000, /* max spi clock (SCK) speed in HZ */ | 651 | .max_speed_hz = 12500000, /* max spi clock (SCK) speed in HZ */ |
| 652 | .bus_num = 0, | 652 | .bus_num = 0, |
| 653 | .chip_select = 1, | 653 | .chip_select = 2, |
| 654 | .controller_data = &spi_ad7877_chip_info, | 654 | .controller_data = &spi_ad7877_chip_info, |
| 655 | }, | 655 | }, |
| 656 | #endif | 656 | #endif |
diff --git a/arch/blackfin/mach-bf537/boards/Makefile b/arch/blackfin/mach-bf537/boards/Makefile index 87e450f29e37..c94f7a5b8211 100644 --- a/arch/blackfin/mach-bf537/boards/Makefile +++ b/arch/blackfin/mach-bf537/boards/Makefile | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # | 3 | # |
| 4 | 4 | ||
| 5 | obj-$(CONFIG_GENERIC_BF537_BOARD) += generic_board.o | 5 | obj-$(CONFIG_GENERIC_BF537_BOARD) += generic_board.o |
| 6 | obj-$(CONFIG_BFIN537_STAMP) += stamp.o led.o | 6 | obj-$(CONFIG_BFIN537_STAMP) += stamp.o |
| 7 | obj-$(CONFIG_BFIN537_BLUETECHNIX_CM) += cm_bf537.o | 7 | obj-$(CONFIG_BFIN537_BLUETECHNIX_CM) += cm_bf537.o |
| 8 | obj-$(CONFIG_PNAV10) += pnav10.o | 8 | obj-$(CONFIG_PNAV10) += pnav10.o |
| 9 | obj-$(CONFIG_CAMSIG_MINOTAUR) += minotaur.o | 9 | obj-$(CONFIG_CAMSIG_MINOTAUR) += minotaur.o |
diff --git a/arch/blackfin/mach-bf537/boards/led.S b/arch/blackfin/mach-bf537/boards/led.S deleted file mode 100644 index 4e9ea4283e5f..000000000000 --- a/arch/blackfin/mach-bf537/boards/led.S +++ /dev/null | |||
| @@ -1,183 +0,0 @@ | |||
| 1 | /**************************************************** | ||
| 2 | * LED1 ---- PF6 LED2 ---- PF7 * | ||
| 3 | * LED3 ---- PF8 LED4 ---- PF9 * | ||
| 4 | * LED5 ---- PF10 LED6 ---- PF11 * | ||
| 5 | ****************************************************/ | ||
| 6 | |||
| 7 | #include <linux/linkage.h> | ||
| 8 | #include <asm/blackfin.h> | ||
| 9 | |||
| 10 | /* All functions in this file save the registers they uses. | ||
| 11 | So there is no need to save any registers before calling them. */ | ||
| 12 | |||
| 13 | .text; | ||
| 14 | |||
| 15 | /* Initialize LEDs. */ | ||
| 16 | |||
| 17 | ENTRY(_led_init) | ||
| 18 | LINK 12; | ||
| 19 | [--SP] = P0; | ||
| 20 | [--SP] = R0; | ||
| 21 | [--SP] = R1; | ||
| 22 | [--SP] = R2; | ||
| 23 | R1 = PF6|PF7|PF8|PF9|PF10|PF11 (Z); | ||
| 24 | R2 = ~R1; | ||
| 25 | |||
| 26 | P0.H = hi(PORTF_FER); | ||
| 27 | P0.L = lo(PORTF_FER); | ||
| 28 | R0 = W[P0](Z); | ||
| 29 | SSYNC; | ||
| 30 | R0 = R0 & R2; | ||
| 31 | W[P0] = R0.L; | ||
| 32 | SSYNC; | ||
| 33 | |||
| 34 | P0.H = hi(PORTFIO_DIR); | ||
| 35 | P0.L = lo(PORTFIO_DIR); | ||
| 36 | R0 = W[P0](Z); | ||
| 37 | SSYNC; | ||
| 38 | R0 = R0 | R1; | ||
| 39 | W[P0] = R0.L; | ||
| 40 | SSYNC; | ||
| 41 | |||
| 42 | P0.H = hi(PORTFIO_INEN); | ||
| 43 | P0.L = lo(PORTFIO_INEN); | ||
| 44 | R0 = W[P0](Z); | ||
| 45 | SSYNC; | ||
| 46 | R0 = R0 & R2; | ||
| 47 | W[P0] = R0.L; | ||
| 48 | SSYNC; | ||
| 49 | |||
| 50 | R2 = [SP++]; | ||
| 51 | R1 = [SP++]; | ||
| 52 | R0 = [SP++]; | ||
| 53 | P0 = [SP++]; | ||
| 54 | UNLINK; | ||
| 55 | RTS; | ||
| 56 | .size _led_init, .-_led_init | ||
| 57 | |||
| 58 | /* Set one LED on. Leave other LEDs unchanged. | ||
| 59 | It expects the LED number passed through R0. */ | ||
| 60 | |||
| 61 | ENTRY(_led_on) | ||
| 62 | LINK 12; | ||
| 63 | [--SP] = P0; | ||
| 64 | [--SP] = R1; | ||
| 65 | CALL _led_init; | ||
| 66 | R1 = 1; | ||
| 67 | R0 += 5; | ||
| 68 | R1 <<= R0; | ||
| 69 | P0.H = hi(PORTFIO); | ||
| 70 | P0.L = lo(PORTFIO); | ||
| 71 | R0 = W[P0](Z); | ||
| 72 | SSYNC; | ||
| 73 | R0 = R0 | R1; | ||
| 74 | W[P0] = R0.L; | ||
| 75 | SSYNC; | ||
| 76 | R1 = [SP++]; | ||
| 77 | P0 = [SP++]; | ||
| 78 | UNLINK; | ||
| 79 | RTS; | ||
| 80 | .size _led_on, .-_led_on | ||
| 81 | |||
| 82 | /* Set one LED off. Leave other LEDs unchanged. */ | ||
| 83 | |||
| 84 | ENTRY(_led_off) | ||
| 85 | LINK 12; | ||
| 86 | [--SP] = P0; | ||
| 87 | [--SP] = R1; | ||
| 88 | CALL _led_init; | ||
| 89 | R1 = 1; | ||
| 90 | R0 += 5; | ||
| 91 | R1 <<= R0; | ||
| 92 | R1 = ~R1; | ||
| 93 | P0.H = hi(PORTFIO); | ||
| 94 | P0.L = lo(PORTFIO); | ||
| 95 | R0 = W[P0](Z); | ||
| 96 | SSYNC; | ||
| 97 | R0 = R0 & R1; | ||
| 98 | W[P0] = R0.L; | ||
| 99 | SSYNC; | ||
| 100 | R1 = [SP++]; | ||
| 101 | P0 = [SP++]; | ||
| 102 | UNLINK; | ||
| 103 | RTS; | ||
| 104 | .size _led_off, .-_led_off | ||
| 105 | |||
| 106 | /* Toggle one LED. Leave other LEDs unchanged. */ | ||
| 107 | |||
| 108 | ENTRY(_led_toggle) | ||
| 109 | LINK 12; | ||
| 110 | [--SP] = P0; | ||
| 111 | [--SP] = R1; | ||
| 112 | CALL _led_init; | ||
| 113 | R1 = 1; | ||
| 114 | R0 += 5; | ||
| 115 | R1 <<= R0; | ||
| 116 | P0.H = hi(PORTFIO); | ||
| 117 | P0.L = lo(PORTFIO); | ||
| 118 | R0 = W[P0](Z); | ||
| 119 | SSYNC; | ||
| 120 | R0 = R0 ^ R1; | ||
| 121 | W[P0] = R0.L; | ||
| 122 | SSYNC; | ||
| 123 | R1 = [SP++]; | ||
| 124 | P0 = [SP++]; | ||
| 125 | UNLINK; | ||
| 126 | RTS; | ||
| 127 | .size _led_toggle, .-_led_toggle | ||
| 128 | |||
| 129 | /* Display the number using LEDs in binary format. */ | ||
| 130 | |||
| 131 | ENTRY(_led_disp_num) | ||
| 132 | LINK 12; | ||
| 133 | [--SP] = P0; | ||
| 134 | [--SP] = R1; | ||
| 135 | [--SP] = R2; | ||
| 136 | CALL _led_init; | ||
| 137 | R1 = 0x3f(X); | ||
| 138 | R0 = R0 & R1; | ||
| 139 | R2 = 6(X); | ||
| 140 | R0 <<= R2; | ||
| 141 | R1 <<= R2; | ||
| 142 | P0.H = hi(PORTFIO); | ||
| 143 | P0.L = lo(PORTFIO); | ||
| 144 | R2 = W[P0](Z); | ||
| 145 | SSYNC; | ||
| 146 | R1 = ~R1; | ||
| 147 | R2 = R2 & R1; | ||
| 148 | R2 = R2 | R0; | ||
| 149 | W[P0] = R2.L; | ||
| 150 | SSYNC; | ||
| 151 | R2 = [SP++]; | ||
| 152 | R1 = [SP++]; | ||
| 153 | P0 = [SP++]; | ||
| 154 | UNLINK; | ||
| 155 | RTS; | ||
| 156 | .size _led_disp_num, .-_led_disp_num | ||
| 157 | |||
| 158 | /* Toggle the number using LEDs in binary format. */ | ||
| 159 | |||
| 160 | ENTRY(_led_toggle_num) | ||
| 161 | LINK 12; | ||
| 162 | [--SP] = P0; | ||
| 163 | [--SP] = R1; | ||
| 164 | [--SP] = R2; | ||
| 165 | CALL _led_init; | ||
| 166 | R1 = 0x3f(X); | ||
| 167 | R0 = R0 & R1; | ||
| 168 | R1 = 6(X); | ||
| 169 | R0 <<= R1; | ||
| 170 | P0.H = hi(PORTFIO); | ||
| 171 | P0.L = lo(PORTFIO); | ||
| 172 | R1 = W[P0](Z); | ||
| 173 | SSYNC; | ||
| 174 | R1 = R1 ^ R0; | ||
| 175 | W[P0] = R1.L; | ||
| 176 | SSYNC; | ||
| 177 | R2 = [SP++]; | ||
| 178 | R1 = [SP++]; | ||
| 179 | P0 = [SP++]; | ||
| 180 | UNLINK; | ||
| 181 | RTS; | ||
| 182 | .size _led_toggle_num, .-_led_toggle_num | ||
| 183 | |||
diff --git a/arch/blackfin/mach-bf548/boards/Makefile b/arch/blackfin/mach-bf548/boards/Makefile index eed161dd7845..319ef54c4221 100644 --- a/arch/blackfin/mach-bf548/boards/Makefile +++ b/arch/blackfin/mach-bf548/boards/Makefile | |||
| @@ -2,5 +2,5 @@ | |||
| 2 | # arch/blackfin/mach-bf548/boards/Makefile | 2 | # arch/blackfin/mach-bf548/boards/Makefile |
| 3 | # | 3 | # |
| 4 | 4 | ||
| 5 | obj-$(CONFIG_BFIN548_EZKIT) += ezkit.o led.o | 5 | obj-$(CONFIG_BFIN548_EZKIT) += ezkit.o |
| 6 | obj-$(CONFIG_BFIN548_BLUETECHNIX_CM) += cm_bf548.o | 6 | obj-$(CONFIG_BFIN548_BLUETECHNIX_CM) += cm_bf548.o |
diff --git a/arch/blackfin/mach-bf548/boards/cm_bf548.c b/arch/blackfin/mach-bf548/boards/cm_bf548.c index 3b74f96d3590..4f4ae8787edf 100644 --- a/arch/blackfin/mach-bf548/boards/cm_bf548.c +++ b/arch/blackfin/mach-bf548/boards/cm_bf548.c | |||
| @@ -684,7 +684,7 @@ static struct platform_device *cm_bf548_devices[] __initdata = { | |||
| 684 | 684 | ||
| 685 | static int __init cm_bf548_init(void) | 685 | static int __init cm_bf548_init(void) |
| 686 | { | 686 | { |
| 687 | printk(KERN_INFO "%s(): registering device resources\n", __FUNCTION__); | 687 | printk(KERN_INFO "%s(): registering device resources\n", __func__); |
| 688 | platform_add_devices(cm_bf548_devices, ARRAY_SIZE(cm_bf548_devices)); | 688 | platform_add_devices(cm_bf548_devices, ARRAY_SIZE(cm_bf548_devices)); |
| 689 | 689 | ||
| 690 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | 690 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) |
diff --git a/arch/blackfin/mach-bf548/boards/led.S b/arch/blackfin/mach-bf548/boards/led.S deleted file mode 100644 index f47daf3770d0..000000000000 --- a/arch/blackfin/mach-bf548/boards/led.S +++ /dev/null | |||
| @@ -1,172 +0,0 @@ | |||
| 1 | /**************************************************** | ||
| 2 | * LED1 ---- PG6 LED2 ---- PG7 * | ||
| 3 | * LED3 ---- PG8 LED4 ---- PG9 * | ||
| 4 | * LED5 ---- PG10 LED6 ---- PG11 * | ||
| 5 | ****************************************************/ | ||
| 6 | |||
| 7 | #include <linux/linkage.h> | ||
| 8 | #include <asm/blackfin.h> | ||
| 9 | |||
| 10 | /* All functions in this file save the registers they uses. | ||
| 11 | So there is no need to save any registers before calling them. */ | ||
| 12 | |||
| 13 | .text; | ||
| 14 | |||
| 15 | /* Initialize LEDs. */ | ||
| 16 | |||
| 17 | ENTRY(_led_init) | ||
| 18 | LINK 0; | ||
| 19 | [--SP] = P0; | ||
| 20 | [--SP] = R0; | ||
| 21 | [--SP] = R1; | ||
| 22 | [--SP] = R2; | ||
| 23 | R1 = (PG6|PG7|PG8|PG9|PG10|PG11)(Z); | ||
| 24 | R2 = ~R1; | ||
| 25 | |||
| 26 | P0.H = hi(PORTG_FER); | ||
| 27 | P0.L = lo(PORTG_FER); | ||
| 28 | R0 = W[P0](Z); | ||
| 29 | SSYNC; | ||
| 30 | R0 = R0 & R2; | ||
| 31 | W[P0] = R0.L; | ||
| 32 | SSYNC; | ||
| 33 | |||
| 34 | P0.H = hi(PORTG_DIR_SET); | ||
| 35 | P0.L = lo(PORTG_DIR_SET); | ||
| 36 | W[P0] = R1.L; | ||
| 37 | SSYNC; | ||
| 38 | |||
| 39 | P0.H = hi(PORTG_INEN); | ||
| 40 | P0.L = lo(PORTG_INEN); | ||
| 41 | R0 = W[P0](Z); | ||
| 42 | SSYNC; | ||
| 43 | R0 = R0 & R2; | ||
| 44 | W[P0] = R0.L; | ||
| 45 | SSYNC; | ||
| 46 | |||
| 47 | R2 = [SP++]; | ||
| 48 | R1 = [SP++]; | ||
| 49 | R0 = [SP++]; | ||
| 50 | P0 = [SP++]; | ||
| 51 | RTS; | ||
| 52 | .size _led_init, .-_led_init | ||
| 53 | |||
| 54 | /* Set one LED on. Leave other LEDs unchanged. | ||
| 55 | It expects the LED number passed through R0. */ | ||
| 56 | |||
| 57 | ENTRY(_led_on) | ||
| 58 | LINK 0; | ||
| 59 | [--SP] = P0; | ||
| 60 | [--SP] = R1; | ||
| 61 | CALL _led_init; | ||
| 62 | R1 = 1; | ||
| 63 | R0 += 5; | ||
| 64 | R1 <<= R0; | ||
| 65 | P0.H = hi(PORTG_SET); | ||
| 66 | P0.L = lo(PORTG_SET); | ||
| 67 | W[P0] = R1.L; | ||
| 68 | SSYNC; | ||
| 69 | R1 = [SP++]; | ||
| 70 | P0 = [SP++]; | ||
| 71 | UNLINK; | ||
| 72 | RTS; | ||
| 73 | .size _led_on, .-_led_on | ||
| 74 | |||
| 75 | /* Set one LED off. Leave other LEDs unchanged. */ | ||
| 76 | |||
| 77 | ENTRY(_led_off) | ||
| 78 | LINK 0; | ||
| 79 | [--SP] = P0; | ||
| 80 | [--SP] = R1; | ||
| 81 | CALL _led_init; | ||
| 82 | R1 = 1; | ||
| 83 | R0 += 5; | ||
| 84 | R1 <<= R0; | ||
| 85 | P0.H = hi(PORTG_CLEAR); | ||
| 86 | P0.L = lo(PORTG_CLEAR); | ||
| 87 | W[P0] = R1.L; | ||
| 88 | SSYNC; | ||
| 89 | R1 = [SP++]; | ||
| 90 | P0 = [SP++]; | ||
| 91 | UNLINK; | ||
| 92 | RTS; | ||
| 93 | .size _led_off, .-_led_off | ||
| 94 | |||
| 95 | /* Toggle one LED. Leave other LEDs unchanged. */ | ||
| 96 | |||
| 97 | ENTRY(_led_toggle) | ||
| 98 | LINK 0; | ||
| 99 | [--SP] = P0; | ||
| 100 | [--SP] = R1; | ||
| 101 | CALL _led_init; | ||
| 102 | R1 = 1; | ||
| 103 | R0 += 5; | ||
| 104 | R1 <<= R0; | ||
| 105 | P0.H = hi(PORTG); | ||
| 106 | P0.L = lo(PORTG); | ||
| 107 | R0 = W[P0](Z); | ||
| 108 | SSYNC; | ||
| 109 | R0 = R0 ^ R1; | ||
| 110 | W[P0] = R0.L; | ||
| 111 | SSYNC; | ||
| 112 | R1 = [SP++]; | ||
| 113 | P0 = [SP++]; | ||
| 114 | UNLINK; | ||
| 115 | RTS; | ||
| 116 | .size _led_toggle, .-_led_toggle | ||
| 117 | |||
| 118 | /* Display the number using LEDs in binary format. */ | ||
| 119 | |||
| 120 | ENTRY(_led_disp_num) | ||
| 121 | LINK 0; | ||
| 122 | [--SP] = P0; | ||
| 123 | [--SP] = R1; | ||
| 124 | [--SP] = R2; | ||
| 125 | CALL _led_init; | ||
| 126 | R1 = 0x3f(X); | ||
| 127 | R0 = R0 & R1; | ||
| 128 | R2 = 6(X); | ||
| 129 | R0 <<= R2; | ||
| 130 | R1 <<= R2; | ||
| 131 | P0.H = hi(PORTG); | ||
| 132 | P0.L = lo(PORTG); | ||
| 133 | R2 = W[P0](Z); | ||
| 134 | SSYNC; | ||
| 135 | R1 = ~R1; | ||
| 136 | R2 = R2 & R1; | ||
| 137 | R2 = R2 | R0; | ||
| 138 | W[P0] = R2.L; | ||
| 139 | SSYNC; | ||
| 140 | R2 = [SP++]; | ||
| 141 | R1 = [SP++]; | ||
| 142 | P0 = [SP++]; | ||
| 143 | UNLINK; | ||
| 144 | RTS; | ||
| 145 | .size _led_disp_num, .-_led_disp_num | ||
| 146 | |||
| 147 | /* Toggle the number using LEDs in binary format. */ | ||
| 148 | |||
| 149 | ENTRY(_led_toggle_num) | ||
| 150 | LINK 0; | ||
| 151 | [--SP] = P0; | ||
| 152 | [--SP] = R1; | ||
| 153 | [--SP] = R2; | ||
| 154 | CALL _led_init; | ||
| 155 | R1 = 0x3f(X); | ||
| 156 | R0 = R0 & R1; | ||
| 157 | R1 = 6(X); | ||
| 158 | R0 <<= R1; | ||
| 159 | P0.H = hi(PORTG); | ||
| 160 | P0.L = lo(PORTG); | ||
| 161 | R1 = W[P0](Z); | ||
| 162 | SSYNC; | ||
| 163 | R1 = R1 ^ R0; | ||
| 164 | W[P0] = R1.L; | ||
| 165 | SSYNC; | ||
| 166 | R2 = [SP++]; | ||
| 167 | R1 = [SP++]; | ||
| 168 | P0 = [SP++]; | ||
| 169 | UNLINK; | ||
| 170 | RTS; | ||
| 171 | .size _led_toggle_num, .-_led_toggle_num | ||
| 172 | |||
diff --git a/arch/ia64/kernel/ivt.S b/arch/ia64/kernel/ivt.S index 6678c49daba3..80b44ea052d7 100644 --- a/arch/ia64/kernel/ivt.S +++ b/arch/ia64/kernel/ivt.S | |||
| @@ -1076,48 +1076,6 @@ END(ia64_syscall_setup) | |||
| 1076 | DBG_FAULT(15) | 1076 | DBG_FAULT(15) |
| 1077 | FAULT(15) | 1077 | FAULT(15) |
| 1078 | 1078 | ||
| 1079 | /* | ||
| 1080 | * Squatting in this space ... | ||
| 1081 | * | ||
| 1082 | * This special case dispatcher for illegal operation faults allows preserved | ||
| 1083 | * registers to be modified through a callback function (asm only) that is handed | ||
| 1084 | * back from the fault handler in r8. Up to three arguments can be passed to the | ||
| 1085 | * callback function by returning an aggregate with the callback as its first | ||
| 1086 | * element, followed by the arguments. | ||
| 1087 | */ | ||
| 1088 | ENTRY(dispatch_illegal_op_fault) | ||
| 1089 | .prologue | ||
| 1090 | .body | ||
| 1091 | SAVE_MIN_WITH_COVER | ||
| 1092 | ssm psr.ic | PSR_DEFAULT_BITS | ||
| 1093 | ;; | ||
| 1094 | srlz.i // guarantee that interruption collection is on | ||
| 1095 | ;; | ||
| 1096 | (p15) ssm psr.i // restore psr.i | ||
| 1097 | adds r3=8,r2 // set up second base pointer for SAVE_REST | ||
| 1098 | ;; | ||
| 1099 | alloc r14=ar.pfs,0,0,1,0 // must be first in insn group | ||
| 1100 | mov out0=ar.ec | ||
| 1101 | ;; | ||
| 1102 | SAVE_REST | ||
| 1103 | PT_REGS_UNWIND_INFO(0) | ||
| 1104 | ;; | ||
| 1105 | br.call.sptk.many rp=ia64_illegal_op_fault | ||
| 1106 | .ret0: ;; | ||
| 1107 | alloc r14=ar.pfs,0,0,3,0 // must be first in insn group | ||
| 1108 | mov out0=r9 | ||
| 1109 | mov out1=r10 | ||
| 1110 | mov out2=r11 | ||
| 1111 | movl r15=ia64_leave_kernel | ||
| 1112 | ;; | ||
| 1113 | mov rp=r15 | ||
| 1114 | mov b6=r8 | ||
| 1115 | ;; | ||
| 1116 | cmp.ne p6,p0=0,r8 | ||
| 1117 | (p6) br.call.dpnt.many b6=b6 // call returns to ia64_leave_kernel | ||
| 1118 | br.sptk.many ia64_leave_kernel | ||
| 1119 | END(dispatch_illegal_op_fault) | ||
| 1120 | |||
| 1121 | .org ia64_ivt+0x4000 | 1079 | .org ia64_ivt+0x4000 |
| 1122 | ///////////////////////////////////////////////////////////////////////////////////////// | 1080 | ///////////////////////////////////////////////////////////////////////////////////////// |
| 1123 | // 0x4000 Entry 16 (size 64 bundles) Reserved | 1081 | // 0x4000 Entry 16 (size 64 bundles) Reserved |
| @@ -1715,6 +1673,48 @@ END(ia32_interrupt) | |||
| 1715 | DBG_FAULT(67) | 1673 | DBG_FAULT(67) |
| 1716 | FAULT(67) | 1674 | FAULT(67) |
| 1717 | 1675 | ||
| 1676 | /* | ||
| 1677 | * Squatting in this space ... | ||
| 1678 | * | ||
| 1679 | * This special case dispatcher for illegal operation faults allows preserved | ||
| 1680 | * registers to be modified through a callback function (asm only) that is handed | ||
| 1681 | * back from the fault handler in r8. Up to three arguments can be passed to the | ||
| 1682 | * callback function by returning an aggregate with the callback as its first | ||
| 1683 | * element, followed by the arguments. | ||
| 1684 | */ | ||
| 1685 | ENTRY(dispatch_illegal_op_fault) | ||
| 1686 | .prologue | ||
| 1687 | .body | ||
| 1688 | SAVE_MIN_WITH_COVER | ||
| 1689 | ssm psr.ic | PSR_DEFAULT_BITS | ||
| 1690 | ;; | ||
| 1691 | srlz.i // guarantee that interruption collection is on | ||
| 1692 | ;; | ||
| 1693 | (p15) ssm psr.i // restore psr.i | ||
| 1694 | adds r3=8,r2 // set up second base pointer for SAVE_REST | ||
| 1695 | ;; | ||
| 1696 | alloc r14=ar.pfs,0,0,1,0 // must be first in insn group | ||
| 1697 | mov out0=ar.ec | ||
| 1698 | ;; | ||
| 1699 | SAVE_REST | ||
| 1700 | PT_REGS_UNWIND_INFO(0) | ||
| 1701 | ;; | ||
| 1702 | br.call.sptk.many rp=ia64_illegal_op_fault | ||
| 1703 | .ret0: ;; | ||
| 1704 | alloc r14=ar.pfs,0,0,3,0 // must be first in insn group | ||
| 1705 | mov out0=r9 | ||
| 1706 | mov out1=r10 | ||
| 1707 | mov out2=r11 | ||
| 1708 | movl r15=ia64_leave_kernel | ||
| 1709 | ;; | ||
| 1710 | mov rp=r15 | ||
| 1711 | mov b6=r8 | ||
| 1712 | ;; | ||
| 1713 | cmp.ne p6,p0=0,r8 | ||
| 1714 | (p6) br.call.dpnt.many b6=b6 // call returns to ia64_leave_kernel | ||
| 1715 | br.sptk.many ia64_leave_kernel | ||
| 1716 | END(dispatch_illegal_op_fault) | ||
| 1717 | |||
| 1718 | #ifdef CONFIG_IA32_SUPPORT | 1718 | #ifdef CONFIG_IA32_SUPPORT |
| 1719 | 1719 | ||
| 1720 | /* | 1720 | /* |
diff --git a/arch/ia64/kernel/minstate.h b/arch/ia64/kernel/minstate.h index 7c548ac52bbc..74b6d670aaef 100644 --- a/arch/ia64/kernel/minstate.h +++ b/arch/ia64/kernel/minstate.h | |||
| @@ -15,6 +15,9 @@ | |||
| 15 | #define ACCOUNT_SYS_ENTER | 15 | #define ACCOUNT_SYS_ENTER |
| 16 | #endif | 16 | #endif |
| 17 | 17 | ||
| 18 | .section ".data.patch.rse", "a" | ||
| 19 | .previous | ||
| 20 | |||
| 18 | /* | 21 | /* |
| 19 | * DO_SAVE_MIN switches to the kernel stacks (if necessary) and saves | 22 | * DO_SAVE_MIN switches to the kernel stacks (if necessary) and saves |
| 20 | * the minimum state necessary that allows us to turn psr.ic back | 23 | * the minimum state necessary that allows us to turn psr.ic back |
| @@ -40,7 +43,7 @@ | |||
| 40 | * Note that psr.ic is NOT turned on by this macro. This is so that | 43 | * Note that psr.ic is NOT turned on by this macro. This is so that |
| 41 | * we can pass interruption state as arguments to a handler. | 44 | * we can pass interruption state as arguments to a handler. |
| 42 | */ | 45 | */ |
| 43 | #define DO_SAVE_MIN(COVER,SAVE_IFS,EXTRA) \ | 46 | #define DO_SAVE_MIN(COVER,SAVE_IFS,EXTRA,WORKAROUND) \ |
| 44 | mov r16=IA64_KR(CURRENT); /* M */ \ | 47 | mov r16=IA64_KR(CURRENT); /* M */ \ |
| 45 | mov r27=ar.rsc; /* M */ \ | 48 | mov r27=ar.rsc; /* M */ \ |
| 46 | mov r20=r1; /* A */ \ | 49 | mov r20=r1; /* A */ \ |
| @@ -87,6 +90,7 @@ | |||
| 87 | tbit.nz p15,p0=r29,IA64_PSR_I_BIT; \ | 90 | tbit.nz p15,p0=r29,IA64_PSR_I_BIT; \ |
| 88 | mov r29=b0 \ | 91 | mov r29=b0 \ |
| 89 | ;; \ | 92 | ;; \ |
| 93 | WORKAROUND; \ | ||
| 90 | adds r16=PT(R8),r1; /* initialize first base pointer */ \ | 94 | adds r16=PT(R8),r1; /* initialize first base pointer */ \ |
| 91 | adds r17=PT(R9),r1; /* initialize second base pointer */ \ | 95 | adds r17=PT(R9),r1; /* initialize second base pointer */ \ |
| 92 | (pKStk) mov r18=r0; /* make sure r18 isn't NaT */ \ | 96 | (pKStk) mov r18=r0; /* make sure r18 isn't NaT */ \ |
| @@ -206,6 +210,40 @@ | |||
| 206 | st8 [r25]=r10; /* ar.ssd */ \ | 210 | st8 [r25]=r10; /* ar.ssd */ \ |
| 207 | ;; | 211 | ;; |
| 208 | 212 | ||
| 209 | #define SAVE_MIN_WITH_COVER DO_SAVE_MIN(cover, mov r30=cr.ifs,) | 213 | #define RSE_WORKAROUND \ |
| 210 | #define SAVE_MIN_WITH_COVER_R19 DO_SAVE_MIN(cover, mov r30=cr.ifs, mov r15=r19) | 214 | (pUStk) extr.u r17=r18,3,6; \ |
| 211 | #define SAVE_MIN DO_SAVE_MIN( , mov r30=r0, ) | 215 | (pUStk) sub r16=r18,r22; \ |
| 216 | [1:](pKStk) br.cond.sptk.many 1f; \ | ||
| 217 | .xdata4 ".data.patch.rse",1b-. \ | ||
| 218 | ;; \ | ||
| 219 | cmp.ge p6,p7 = 33,r17; \ | ||
| 220 | ;; \ | ||
| 221 | (p6) mov r17=0x310; \ | ||
| 222 | (p7) mov r17=0x308; \ | ||
| 223 | ;; \ | ||
| 224 | cmp.leu p1,p0=r16,r17; \ | ||
| 225 | (p1) br.cond.sptk.many 1f; \ | ||
| 226 | dep.z r17=r26,0,62; \ | ||
| 227 | movl r16=2f; \ | ||
| 228 | ;; \ | ||
| 229 | mov ar.pfs=r17; \ | ||
| 230 | dep r27=r0,r27,16,14; \ | ||
| 231 | mov b0=r16; \ | ||
| 232 | ;; \ | ||
| 233 | br.ret.sptk b0; \ | ||
| 234 | ;; \ | ||
| 235 | 2: \ | ||
| 236 | mov ar.rsc=r0 \ | ||
| 237 | ;; \ | ||
| 238 | flushrs; \ | ||
| 239 | ;; \ | ||
| 240 | mov ar.bspstore=r22 \ | ||
| 241 | ;; \ | ||
| 242 | mov r18=ar.bsp; \ | ||
| 243 | ;; \ | ||
| 244 | 1: \ | ||
| 245 | .pred.rel "mutex", pKStk, pUStk | ||
| 246 | |||
| 247 | #define SAVE_MIN_WITH_COVER DO_SAVE_MIN(cover, mov r30=cr.ifs, , RSE_WORKAROUND) | ||
| 248 | #define SAVE_MIN_WITH_COVER_R19 DO_SAVE_MIN(cover, mov r30=cr.ifs, mov r15=r19, RSE_WORKAROUND) | ||
| 249 | #define SAVE_MIN DO_SAVE_MIN( , mov r30=r0, , ) | ||
diff --git a/arch/ia64/kernel/patch.c b/arch/ia64/kernel/patch.c index e0dca8743dbb..b83b2c516008 100644 --- a/arch/ia64/kernel/patch.c +++ b/arch/ia64/kernel/patch.c | |||
| @@ -115,6 +115,29 @@ ia64_patch_vtop (unsigned long start, unsigned long end) | |||
| 115 | ia64_srlz_i(); | 115 | ia64_srlz_i(); |
| 116 | } | 116 | } |
| 117 | 117 | ||
| 118 | /* | ||
| 119 | * Disable the RSE workaround by turning the conditional branch | ||
| 120 | * that we tagged in each place the workaround was used into an | ||
| 121 | * unconditional branch. | ||
| 122 | */ | ||
| 123 | void __init | ||
| 124 | ia64_patch_rse (unsigned long start, unsigned long end) | ||
| 125 | { | ||
| 126 | s32 *offp = (s32 *) start; | ||
| 127 | u64 ip, *b; | ||
| 128 | |||
| 129 | while (offp < (s32 *) end) { | ||
| 130 | ip = (u64) offp + *offp; | ||
| 131 | |||
| 132 | b = (u64 *)(ip & -16); | ||
| 133 | b[1] &= ~0xf800000L; | ||
| 134 | ia64_fc((void *) ip); | ||
| 135 | ++offp; | ||
| 136 | } | ||
| 137 | ia64_sync_i(); | ||
| 138 | ia64_srlz_i(); | ||
| 139 | } | ||
| 140 | |||
| 118 | void __init | 141 | void __init |
| 119 | ia64_patch_mckinley_e9 (unsigned long start, unsigned long end) | 142 | ia64_patch_mckinley_e9 (unsigned long start, unsigned long end) |
| 120 | { | 143 | { |
diff --git a/arch/ia64/kernel/setup.c b/arch/ia64/kernel/setup.c index e9596cd0cdab..f48a809c686d 100644 --- a/arch/ia64/kernel/setup.c +++ b/arch/ia64/kernel/setup.c | |||
| @@ -560,6 +560,17 @@ setup_arch (char **cmdline_p) | |||
| 560 | /* process SAL system table: */ | 560 | /* process SAL system table: */ |
| 561 | ia64_sal_init(__va(efi.sal_systab)); | 561 | ia64_sal_init(__va(efi.sal_systab)); |
| 562 | 562 | ||
| 563 | #ifdef CONFIG_ITANIUM | ||
| 564 | ia64_patch_rse((u64) __start___rse_patchlist, (u64) __end___rse_patchlist); | ||
| 565 | #else | ||
| 566 | { | ||
| 567 | u64 num_phys_stacked; | ||
| 568 | |||
| 569 | if (ia64_pal_rse_info(&num_phys_stacked, 0) == 0 && num_phys_stacked > 96) | ||
| 570 | ia64_patch_rse((u64) __start___rse_patchlist, (u64) __end___rse_patchlist); | ||
| 571 | } | ||
| 572 | #endif | ||
| 573 | |||
| 563 | #ifdef CONFIG_SMP | 574 | #ifdef CONFIG_SMP |
| 564 | cpu_physical_id(0) = hard_smp_processor_id(); | 575 | cpu_physical_id(0) = hard_smp_processor_id(); |
| 565 | #endif | 576 | #endif |
diff --git a/arch/ia64/kernel/vmlinux.lds.S b/arch/ia64/kernel/vmlinux.lds.S index 80622acc95de..5929ab10a289 100644 --- a/arch/ia64/kernel/vmlinux.lds.S +++ b/arch/ia64/kernel/vmlinux.lds.S | |||
| @@ -156,6 +156,13 @@ SECTIONS | |||
| 156 | __end___vtop_patchlist = .; | 156 | __end___vtop_patchlist = .; |
| 157 | } | 157 | } |
| 158 | 158 | ||
| 159 | .data.patch.rse : AT(ADDR(.data.patch.rse) - LOAD_OFFSET) | ||
| 160 | { | ||
| 161 | __start___rse_patchlist = .; | ||
| 162 | *(.data.patch.rse) | ||
| 163 | __end___rse_patchlist = .; | ||
| 164 | } | ||
| 165 | |||
| 159 | .data.patch.mckinley_e9 : AT(ADDR(.data.patch.mckinley_e9) - LOAD_OFFSET) | 166 | .data.patch.mckinley_e9 : AT(ADDR(.data.patch.mckinley_e9) - LOAD_OFFSET) |
| 160 | { | 167 | { |
| 161 | __start___mckinley_e9_bundles = .; | 168 | __start___mckinley_e9_bundles = .; |
diff --git a/arch/powerpc/boot/dts/mpc8610_hpcd.dts b/arch/powerpc/boot/dts/mpc8610_hpcd.dts index 08a780d89807..fa9b6bbeb5af 100644 --- a/arch/powerpc/boot/dts/mpc8610_hpcd.dts +++ b/arch/powerpc/boot/dts/mpc8610_hpcd.dts | |||
| @@ -251,14 +251,14 @@ | |||
| 251 | dma@c300 { | 251 | dma@c300 { |
| 252 | #address-cells = <1>; | 252 | #address-cells = <1>; |
| 253 | #size-cells = <1>; | 253 | #size-cells = <1>; |
| 254 | compatible = "fsl,mpc8610-dma", "fsl,mpc8540-dma"; | 254 | compatible = "fsl,mpc8610-dma", "fsl,eloplus-dma"; |
| 255 | cell-index = <1>; | 255 | cell-index = <1>; |
| 256 | reg = <0xc300 0x4>; /* DMA general status register */ | 256 | reg = <0xc300 0x4>; /* DMA general status register */ |
| 257 | ranges = <0x0 0xc100 0x200>; | 257 | ranges = <0x0 0xc100 0x200>; |
| 258 | 258 | ||
| 259 | dma-channel@0 { | 259 | dma-channel@0 { |
| 260 | compatible = "fsl,mpc8610-dma-channel", | 260 | compatible = "fsl,mpc8610-dma-channel", |
| 261 | "fsl,mpc8540-dma-channel"; | 261 | "fsl,eloplus-dma-channel"; |
| 262 | cell-index = <0>; | 262 | cell-index = <0>; |
| 263 | reg = <0x0 0x80>; | 263 | reg = <0x0 0x80>; |
| 264 | interrupt-parent = <&mpic>; | 264 | interrupt-parent = <&mpic>; |
| @@ -266,7 +266,7 @@ | |||
| 266 | }; | 266 | }; |
| 267 | dma-channel@1 { | 267 | dma-channel@1 { |
| 268 | compatible = "fsl,mpc8610-dma-channel", | 268 | compatible = "fsl,mpc8610-dma-channel", |
| 269 | "fsl,mpc8540-dma-channel"; | 269 | "fsl,eloplus-dma-channel"; |
| 270 | cell-index = <1>; | 270 | cell-index = <1>; |
| 271 | reg = <0x80 0x80>; | 271 | reg = <0x80 0x80>; |
| 272 | interrupt-parent = <&mpic>; | 272 | interrupt-parent = <&mpic>; |
| @@ -274,7 +274,7 @@ | |||
| 274 | }; | 274 | }; |
| 275 | dma-channel@2 { | 275 | dma-channel@2 { |
| 276 | compatible = "fsl,mpc8610-dma-channel", | 276 | compatible = "fsl,mpc8610-dma-channel", |
| 277 | "fsl,mpc8540-dma-channel"; | 277 | "fsl,eloplus-dma-channel"; |
| 278 | cell-index = <2>; | 278 | cell-index = <2>; |
| 279 | reg = <0x100 0x80>; | 279 | reg = <0x100 0x80>; |
| 280 | interrupt-parent = <&mpic>; | 280 | interrupt-parent = <&mpic>; |
| @@ -282,7 +282,7 @@ | |||
| 282 | }; | 282 | }; |
| 283 | dma-channel@3 { | 283 | dma-channel@3 { |
| 284 | compatible = "fsl,mpc8610-dma-channel", | 284 | compatible = "fsl,mpc8610-dma-channel", |
| 285 | "fsl,mpc8540-dma-channel"; | 285 | "fsl,eloplus-dma-channel"; |
| 286 | cell-index = <3>; | 286 | cell-index = <3>; |
| 287 | reg = <0x180 0x80>; | 287 | reg = <0x180 0x80>; |
| 288 | interrupt-parent = <&mpic>; | 288 | interrupt-parent = <&mpic>; |
diff --git a/arch/powerpc/configs/pasemi_defconfig b/arch/powerpc/configs/pasemi_defconfig index 09f306248f2e..199e5f59d7a6 100644 --- a/arch/powerpc/configs/pasemi_defconfig +++ b/arch/powerpc/configs/pasemi_defconfig | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | # | 1 | # |
| 2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
| 3 | # Linux kernel version: 2.6.25-rc6 | 3 | # Linux kernel version: 2.6.26-rc3 |
| 4 | # Tue Mar 25 10:25:48 2008 | 4 | # Tue May 27 16:08:06 2008 |
| 5 | # | 5 | # |
| 6 | CONFIG_PPC64=y | 6 | CONFIG_PPC64=y |
| 7 | 7 | ||
| @@ -29,6 +29,9 @@ CONFIG_GENERIC_CLOCKEVENTS=y | |||
| 29 | CONFIG_GENERIC_HARDIRQS=y | 29 | CONFIG_GENERIC_HARDIRQS=y |
| 30 | CONFIG_HAVE_SETUP_PER_CPU_AREA=y | 30 | CONFIG_HAVE_SETUP_PER_CPU_AREA=y |
| 31 | CONFIG_IRQ_PER_CPU=y | 31 | CONFIG_IRQ_PER_CPU=y |
| 32 | CONFIG_STACKTRACE_SUPPORT=y | ||
| 33 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
| 34 | CONFIG_LOCKDEP_SUPPORT=y | ||
| 32 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 35 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y |
| 33 | CONFIG_ARCH_HAS_ILOG2_U32=y | 36 | CONFIG_ARCH_HAS_ILOG2_U32=y |
| 34 | CONFIG_ARCH_HAS_ILOG2_U64=y | 37 | CONFIG_ARCH_HAS_ILOG2_U64=y |
| @@ -87,6 +90,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
| 87 | CONFIG_SYSCTL=y | 90 | CONFIG_SYSCTL=y |
| 88 | # CONFIG_EMBEDDED is not set | 91 | # CONFIG_EMBEDDED is not set |
| 89 | CONFIG_SYSCTL_SYSCALL=y | 92 | CONFIG_SYSCTL_SYSCALL=y |
| 93 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
| 90 | CONFIG_KALLSYMS=y | 94 | CONFIG_KALLSYMS=y |
| 91 | # CONFIG_KALLSYMS_ALL is not set | 95 | # CONFIG_KALLSYMS_ALL is not set |
| 92 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 96 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
| @@ -115,12 +119,14 @@ CONFIG_HAVE_OPROFILE=y | |||
| 115 | # CONFIG_KPROBES is not set | 119 | # CONFIG_KPROBES is not set |
| 116 | CONFIG_HAVE_KPROBES=y | 120 | CONFIG_HAVE_KPROBES=y |
| 117 | CONFIG_HAVE_KRETPROBES=y | 121 | CONFIG_HAVE_KRETPROBES=y |
| 122 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
| 118 | CONFIG_PROC_PAGE_MONITOR=y | 123 | CONFIG_PROC_PAGE_MONITOR=y |
| 119 | CONFIG_SLABINFO=y | 124 | CONFIG_SLABINFO=y |
| 120 | CONFIG_RT_MUTEXES=y | 125 | CONFIG_RT_MUTEXES=y |
| 121 | # CONFIG_TINY_SHMEM is not set | 126 | # CONFIG_TINY_SHMEM is not set |
| 122 | CONFIG_BASE_SMALL=0 | 127 | CONFIG_BASE_SMALL=0 |
| 123 | CONFIG_MODULES=y | 128 | CONFIG_MODULES=y |
| 129 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
| 124 | CONFIG_MODULE_UNLOAD=y | 130 | CONFIG_MODULE_UNLOAD=y |
| 125 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 131 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
| 126 | # CONFIG_MODVERSIONS is not set | 132 | # CONFIG_MODVERSIONS is not set |
| @@ -167,11 +173,11 @@ CONFIG_PPC_PASEMI=y | |||
| 167 | CONFIG_PPC_PASEMI_IOMMU=y | 173 | CONFIG_PPC_PASEMI_IOMMU=y |
| 168 | # CONFIG_PPC_PASEMI_IOMMU_DMA_FORCE is not set | 174 | # CONFIG_PPC_PASEMI_IOMMU_DMA_FORCE is not set |
| 169 | CONFIG_PPC_PASEMI_MDIO=y | 175 | CONFIG_PPC_PASEMI_MDIO=y |
| 170 | # CONFIG_PPC_CELLEB is not set | ||
| 171 | # CONFIG_PPC_PS3 is not set | 176 | # CONFIG_PPC_PS3 is not set |
| 172 | # CONFIG_PPC_CELL is not set | 177 | # CONFIG_PPC_CELL is not set |
| 173 | # CONFIG_PPC_CELL_NATIVE is not set | 178 | # CONFIG_PPC_CELL_NATIVE is not set |
| 174 | # CONFIG_PPC_IBM_CELL_BLADE is not set | 179 | # CONFIG_PPC_IBM_CELL_BLADE is not set |
| 180 | # CONFIG_PPC_CELLEB is not set | ||
| 175 | # CONFIG_PQ2ADS is not set | 181 | # CONFIG_PQ2ADS is not set |
| 176 | CONFIG_PPC_NATIVE=y | 182 | CONFIG_PPC_NATIVE=y |
| 177 | # CONFIG_IPIC is not set | 183 | # CONFIG_IPIC is not set |
| @@ -192,6 +198,7 @@ CONFIG_CPU_FREQ_DEBUG=y | |||
| 192 | CONFIG_CPU_FREQ_STAT=y | 198 | CONFIG_CPU_FREQ_STAT=y |
| 193 | # CONFIG_CPU_FREQ_STAT_DETAILS is not set | 199 | # CONFIG_CPU_FREQ_STAT_DETAILS is not set |
| 194 | CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y | 200 | CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y |
| 201 | # CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set | ||
| 195 | # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set | 202 | # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set |
| 196 | # CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set | 203 | # CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set |
| 197 | # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set | 204 | # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set |
| @@ -226,7 +233,6 @@ CONFIG_PREEMPT_NONE=y | |||
| 226 | CONFIG_BINFMT_ELF=y | 233 | CONFIG_BINFMT_ELF=y |
| 227 | CONFIG_COMPAT_BINFMT_ELF=y | 234 | CONFIG_COMPAT_BINFMT_ELF=y |
| 228 | # CONFIG_BINFMT_MISC is not set | 235 | # CONFIG_BINFMT_MISC is not set |
| 229 | CONFIG_FORCE_MAX_ZONEORDER=9 | ||
| 230 | CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y | 236 | CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y |
| 231 | CONFIG_IOMMU_VMERGE=y | 237 | CONFIG_IOMMU_VMERGE=y |
| 232 | CONFIG_IOMMU_HELPER=y | 238 | CONFIG_IOMMU_HELPER=y |
| @@ -249,12 +255,14 @@ CONFIG_FLATMEM=y | |||
| 249 | CONFIG_FLAT_NODE_MEM_MAP=y | 255 | CONFIG_FLAT_NODE_MEM_MAP=y |
| 250 | # CONFIG_SPARSEMEM_STATIC is not set | 256 | # CONFIG_SPARSEMEM_STATIC is not set |
| 251 | CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y | 257 | CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y |
| 258 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
| 252 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 259 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
| 253 | CONFIG_RESOURCES_64BIT=y | 260 | CONFIG_RESOURCES_64BIT=y |
| 254 | CONFIG_ZONE_DMA_FLAG=1 | 261 | CONFIG_ZONE_DMA_FLAG=1 |
| 255 | CONFIG_BOUNCE=y | 262 | CONFIG_BOUNCE=y |
| 256 | CONFIG_PPC_HAS_HASH_64K=y | 263 | CONFIG_PPC_HAS_HASH_64K=y |
| 257 | CONFIG_PPC_64K_PAGES=y | 264 | CONFIG_PPC_64K_PAGES=y |
| 265 | CONFIG_FORCE_MAX_ZONEORDER=9 | ||
| 258 | # CONFIG_PPC_SUBPAGE_PROT is not set | 266 | # CONFIG_PPC_SUBPAGE_PROT is not set |
| 259 | # CONFIG_SCHED_SMT is not set | 267 | # CONFIG_SCHED_SMT is not set |
| 260 | CONFIG_PROC_DEVICETREE=y | 268 | CONFIG_PROC_DEVICETREE=y |
| @@ -290,9 +298,12 @@ CONFIG_CARDBUS=y | |||
| 290 | # CONFIG_YENTA is not set | 298 | # CONFIG_YENTA is not set |
| 291 | # CONFIG_PD6729 is not set | 299 | # CONFIG_PD6729 is not set |
| 292 | # CONFIG_I82092 is not set | 300 | # CONFIG_I82092 is not set |
| 293 | # CONFIG_ELECTRA_CF is not set | 301 | CONFIG_ELECTRA_CF=y |
| 294 | # CONFIG_HOTPLUG_PCI is not set | 302 | # CONFIG_HOTPLUG_PCI is not set |
| 303 | # CONFIG_HAS_RAPIDIO is not set | ||
| 304 | CONFIG_PAGE_OFFSET=0xc000000000000000 | ||
| 295 | CONFIG_KERNEL_START=0xc000000000000000 | 305 | CONFIG_KERNEL_START=0xc000000000000000 |
| 306 | CONFIG_PHYSICAL_START=0x00000000 | ||
| 296 | 307 | ||
| 297 | # | 308 | # |
| 298 | # Networking | 309 | # Networking |
| @@ -341,8 +352,6 @@ CONFIG_TCP_CONG_CUBIC=y | |||
| 341 | CONFIG_DEFAULT_TCP_CONG="cubic" | 352 | CONFIG_DEFAULT_TCP_CONG="cubic" |
| 342 | # CONFIG_TCP_MD5SIG is not set | 353 | # CONFIG_TCP_MD5SIG is not set |
| 343 | # CONFIG_IPV6 is not set | 354 | # CONFIG_IPV6 is not set |
| 344 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 345 | # CONFIG_INET6_TUNNEL is not set | ||
| 346 | # CONFIG_NETWORK_SECMARK is not set | 355 | # CONFIG_NETWORK_SECMARK is not set |
| 347 | # CONFIG_NETFILTER is not set | 356 | # CONFIG_NETFILTER is not set |
| 348 | # CONFIG_IP_DCCP is not set | 357 | # CONFIG_IP_DCCP is not set |
| @@ -473,6 +482,7 @@ CONFIG_MTD_NAND_PASEMI=y | |||
| 473 | # | 482 | # |
| 474 | # CONFIG_MTD_UBI is not set | 483 | # CONFIG_MTD_UBI is not set |
| 475 | CONFIG_OF_DEVICE=y | 484 | CONFIG_OF_DEVICE=y |
| 485 | CONFIG_OF_I2C=y | ||
| 476 | # CONFIG_PARPORT is not set | 486 | # CONFIG_PARPORT is not set |
| 477 | CONFIG_BLK_DEV=y | 487 | CONFIG_BLK_DEV=y |
| 478 | # CONFIG_BLK_DEV_FD is not set | 488 | # CONFIG_BLK_DEV_FD is not set |
| @@ -520,7 +530,6 @@ CONFIG_IDE_PROC_FS=y | |||
| 520 | # | 530 | # |
| 521 | # IDE chipset support/bugfixes | 531 | # IDE chipset support/bugfixes |
| 522 | # | 532 | # |
| 523 | # CONFIG_IDE_GENERIC is not set | ||
| 524 | # CONFIG_BLK_DEV_PLATFORM is not set | 533 | # CONFIG_BLK_DEV_PLATFORM is not set |
| 525 | 534 | ||
| 526 | # | 535 | # |
| @@ -554,7 +563,7 @@ CONFIG_IDE_PROC_FS=y | |||
| 554 | # CONFIG_BLK_DEV_VIA82CXXX is not set | 563 | # CONFIG_BLK_DEV_VIA82CXXX is not set |
| 555 | # CONFIG_BLK_DEV_TC86C001 is not set | 564 | # CONFIG_BLK_DEV_TC86C001 is not set |
| 556 | # CONFIG_BLK_DEV_IDEDMA is not set | 565 | # CONFIG_BLK_DEV_IDEDMA is not set |
| 557 | CONFIG_IDE_ARCH_OBSOLETE_INIT=y | 566 | # CONFIG_BLK_DEV_HD_ONLY is not set |
| 558 | # CONFIG_BLK_DEV_HD is not set | 567 | # CONFIG_BLK_DEV_HD is not set |
| 559 | 568 | ||
| 560 | # | 569 | # |
| @@ -632,7 +641,10 @@ CONFIG_SCSI_LOWLEVEL=y | |||
| 632 | # CONFIG_SCSI_LOWLEVEL_PCMCIA is not set | 641 | # CONFIG_SCSI_LOWLEVEL_PCMCIA is not set |
| 633 | CONFIG_ATA=y | 642 | CONFIG_ATA=y |
| 634 | # CONFIG_ATA_NONSTANDARD is not set | 643 | # CONFIG_ATA_NONSTANDARD is not set |
| 644 | CONFIG_SATA_PMP=y | ||
| 635 | # CONFIG_SATA_AHCI is not set | 645 | # CONFIG_SATA_AHCI is not set |
| 646 | CONFIG_SATA_SIL24=y | ||
| 647 | CONFIG_ATA_SFF=y | ||
| 636 | # CONFIG_SATA_SVW is not set | 648 | # CONFIG_SATA_SVW is not set |
| 637 | # CONFIG_ATA_PIIX is not set | 649 | # CONFIG_ATA_PIIX is not set |
| 638 | CONFIG_SATA_MV=y | 650 | CONFIG_SATA_MV=y |
| @@ -642,7 +654,6 @@ CONFIG_SATA_MV=y | |||
| 642 | # CONFIG_SATA_PROMISE is not set | 654 | # CONFIG_SATA_PROMISE is not set |
| 643 | # CONFIG_SATA_SX4 is not set | 655 | # CONFIG_SATA_SX4 is not set |
| 644 | # CONFIG_SATA_SIL is not set | 656 | # CONFIG_SATA_SIL is not set |
| 645 | CONFIG_SATA_SIL24=y | ||
| 646 | # CONFIG_SATA_SIS is not set | 657 | # CONFIG_SATA_SIS is not set |
| 647 | # CONFIG_SATA_ULI is not set | 658 | # CONFIG_SATA_ULI is not set |
| 648 | # CONFIG_SATA_VIA is not set | 659 | # CONFIG_SATA_VIA is not set |
| @@ -689,6 +700,7 @@ CONFIG_PATA_PCMCIA=y | |||
| 689 | # CONFIG_PATA_WINBOND is not set | 700 | # CONFIG_PATA_WINBOND is not set |
| 690 | CONFIG_PATA_PLATFORM=y | 701 | CONFIG_PATA_PLATFORM=y |
| 691 | CONFIG_PATA_OF_PLATFORM=y | 702 | CONFIG_PATA_OF_PLATFORM=y |
| 703 | # CONFIG_PATA_SCH is not set | ||
| 692 | CONFIG_MD=y | 704 | CONFIG_MD=y |
| 693 | CONFIG_BLK_DEV_MD=y | 705 | CONFIG_BLK_DEV_MD=y |
| 694 | CONFIG_MD_LINEAR=y | 706 | CONFIG_MD_LINEAR=y |
| @@ -791,7 +803,6 @@ CONFIG_E1000_NAPI=y | |||
| 791 | # CONFIG_SIS190 is not set | 803 | # CONFIG_SIS190 is not set |
| 792 | # CONFIG_SKGE is not set | 804 | # CONFIG_SKGE is not set |
| 793 | # CONFIG_SKY2 is not set | 805 | # CONFIG_SKY2 is not set |
| 794 | # CONFIG_SK98LIN is not set | ||
| 795 | # CONFIG_VIA_VELOCITY is not set | 806 | # CONFIG_VIA_VELOCITY is not set |
| 796 | CONFIG_TIGON3=y | 807 | CONFIG_TIGON3=y |
| 797 | # CONFIG_BNX2 is not set | 808 | # CONFIG_BNX2 is not set |
| @@ -810,6 +821,7 @@ CONFIG_PASEMI_MAC=y | |||
| 810 | # CONFIG_MLX4_CORE is not set | 821 | # CONFIG_MLX4_CORE is not set |
| 811 | # CONFIG_TEHUTI is not set | 822 | # CONFIG_TEHUTI is not set |
| 812 | # CONFIG_BNX2X is not set | 823 | # CONFIG_BNX2X is not set |
| 824 | # CONFIG_SFC is not set | ||
| 813 | # CONFIG_TR is not set | 825 | # CONFIG_TR is not set |
| 814 | 826 | ||
| 815 | # | 827 | # |
| @@ -817,6 +829,7 @@ CONFIG_PASEMI_MAC=y | |||
| 817 | # | 829 | # |
| 818 | # CONFIG_WLAN_PRE80211 is not set | 830 | # CONFIG_WLAN_PRE80211 is not set |
| 819 | # CONFIG_WLAN_80211 is not set | 831 | # CONFIG_WLAN_80211 is not set |
| 832 | # CONFIG_IWLWIFI_LEDS is not set | ||
| 820 | 833 | ||
| 821 | # | 834 | # |
| 822 | # USB Network Adapters | 835 | # USB Network Adapters |
| @@ -890,6 +903,7 @@ CONFIG_VT=y | |||
| 890 | CONFIG_VT_CONSOLE=y | 903 | CONFIG_VT_CONSOLE=y |
| 891 | CONFIG_HW_CONSOLE=y | 904 | CONFIG_HW_CONSOLE=y |
| 892 | # CONFIG_VT_HW_CONSOLE_BINDING is not set | 905 | # CONFIG_VT_HW_CONSOLE_BINDING is not set |
| 906 | CONFIG_DEVKMEM=y | ||
| 893 | # CONFIG_SERIAL_NONSTANDARD is not set | 907 | # CONFIG_SERIAL_NONSTANDARD is not set |
| 894 | # CONFIG_NOZOMI is not set | 908 | # CONFIG_NOZOMI is not set |
| 895 | 909 | ||
| @@ -917,7 +931,6 @@ CONFIG_LEGACY_PTY_COUNT=4 | |||
| 917 | # CONFIG_IPMI_HANDLER is not set | 931 | # CONFIG_IPMI_HANDLER is not set |
| 918 | CONFIG_HW_RANDOM=y | 932 | CONFIG_HW_RANDOM=y |
| 919 | CONFIG_HW_RANDOM_PASEMI=y | 933 | CONFIG_HW_RANDOM_PASEMI=y |
| 920 | # CONFIG_GEN_RTC is not set | ||
| 921 | # CONFIG_R3964 is not set | 934 | # CONFIG_R3964 is not set |
| 922 | # CONFIG_APPLICOM is not set | 935 | # CONFIG_APPLICOM is not set |
| 923 | 936 | ||
| @@ -936,13 +949,7 @@ CONFIG_DEVPORT=y | |||
| 936 | CONFIG_I2C=y | 949 | CONFIG_I2C=y |
| 937 | CONFIG_I2C_BOARDINFO=y | 950 | CONFIG_I2C_BOARDINFO=y |
| 938 | CONFIG_I2C_CHARDEV=y | 951 | CONFIG_I2C_CHARDEV=y |
| 939 | |||
| 940 | # | ||
| 941 | # I2C Algorithms | ||
| 942 | # | ||
| 943 | CONFIG_I2C_ALGOBIT=y | 952 | CONFIG_I2C_ALGOBIT=y |
| 944 | CONFIG_I2C_ALGOPCF=y | ||
| 945 | CONFIG_I2C_ALGOPCA=y | ||
| 946 | 953 | ||
| 947 | # | 954 | # |
| 948 | # I2C Hardware Bus support | 955 | # I2C Hardware Bus support |
| @@ -971,6 +978,7 @@ CONFIG_I2C_PASEMI=y | |||
| 971 | # CONFIG_I2C_VIA is not set | 978 | # CONFIG_I2C_VIA is not set |
| 972 | # CONFIG_I2C_VIAPRO is not set | 979 | # CONFIG_I2C_VIAPRO is not set |
| 973 | # CONFIG_I2C_VOODOO3 is not set | 980 | # CONFIG_I2C_VOODOO3 is not set |
| 981 | # CONFIG_I2C_PCA_PLATFORM is not set | ||
| 974 | 982 | ||
| 975 | # | 983 | # |
| 976 | # Miscellaneous I2C Chip support | 984 | # Miscellaneous I2C Chip support |
| @@ -980,19 +988,13 @@ CONFIG_SENSORS_EEPROM=y | |||
| 980 | # CONFIG_SENSORS_PCF8574 is not set | 988 | # CONFIG_SENSORS_PCF8574 is not set |
| 981 | # CONFIG_PCF8575 is not set | 989 | # CONFIG_PCF8575 is not set |
| 982 | # CONFIG_SENSORS_PCF8591 is not set | 990 | # CONFIG_SENSORS_PCF8591 is not set |
| 983 | # CONFIG_TPS65010 is not set | ||
| 984 | # CONFIG_SENSORS_MAX6875 is not set | 991 | # CONFIG_SENSORS_MAX6875 is not set |
| 985 | # CONFIG_SENSORS_TSL2550 is not set | 992 | # CONFIG_SENSORS_TSL2550 is not set |
| 986 | # CONFIG_I2C_DEBUG_CORE is not set | 993 | # CONFIG_I2C_DEBUG_CORE is not set |
| 987 | # CONFIG_I2C_DEBUG_ALGO is not set | 994 | # CONFIG_I2C_DEBUG_ALGO is not set |
| 988 | # CONFIG_I2C_DEBUG_BUS is not set | 995 | # CONFIG_I2C_DEBUG_BUS is not set |
| 989 | # CONFIG_I2C_DEBUG_CHIP is not set | 996 | # CONFIG_I2C_DEBUG_CHIP is not set |
| 990 | |||
| 991 | # | ||
| 992 | # SPI support | ||
| 993 | # | ||
| 994 | # CONFIG_SPI is not set | 997 | # CONFIG_SPI is not set |
| 995 | # CONFIG_SPI_MASTER is not set | ||
| 996 | # CONFIG_W1 is not set | 998 | # CONFIG_W1 is not set |
| 997 | # CONFIG_POWER_SUPPLY is not set | 999 | # CONFIG_POWER_SUPPLY is not set |
| 998 | CONFIG_HWMON=y | 1000 | CONFIG_HWMON=y |
| @@ -1062,12 +1064,22 @@ CONFIG_SSB_POSSIBLE=y | |||
| 1062 | # Multifunction device drivers | 1064 | # Multifunction device drivers |
| 1063 | # | 1065 | # |
| 1064 | # CONFIG_MFD_SM501 is not set | 1066 | # CONFIG_MFD_SM501 is not set |
| 1067 | # CONFIG_HTC_PASIC3 is not set | ||
| 1065 | 1068 | ||
| 1066 | # | 1069 | # |
| 1067 | # Multimedia devices | 1070 | # Multimedia devices |
| 1068 | # | 1071 | # |
| 1072 | |||
| 1073 | # | ||
| 1074 | # Multimedia core support | ||
| 1075 | # | ||
| 1069 | # CONFIG_VIDEO_DEV is not set | 1076 | # CONFIG_VIDEO_DEV is not set |
| 1070 | # CONFIG_DVB_CORE is not set | 1077 | # CONFIG_DVB_CORE is not set |
| 1078 | # CONFIG_VIDEO_MEDIA is not set | ||
| 1079 | |||
| 1080 | # | ||
| 1081 | # Multimedia drivers | ||
| 1082 | # | ||
| 1071 | CONFIG_DAB=y | 1083 | CONFIG_DAB=y |
| 1072 | # CONFIG_USB_DABUSB is not set | 1084 | # CONFIG_USB_DABUSB is not set |
| 1073 | 1085 | ||
| @@ -1094,8 +1106,8 @@ CONFIG_FB_CFB_IMAGEBLIT=y | |||
| 1094 | # CONFIG_FB_SYS_FILLRECT is not set | 1106 | # CONFIG_FB_SYS_FILLRECT is not set |
| 1095 | # CONFIG_FB_SYS_COPYAREA is not set | 1107 | # CONFIG_FB_SYS_COPYAREA is not set |
| 1096 | # CONFIG_FB_SYS_IMAGEBLIT is not set | 1108 | # CONFIG_FB_SYS_IMAGEBLIT is not set |
| 1109 | # CONFIG_FB_FOREIGN_ENDIAN is not set | ||
| 1097 | # CONFIG_FB_SYS_FOPS is not set | 1110 | # CONFIG_FB_SYS_FOPS is not set |
| 1098 | CONFIG_FB_DEFERRED_IO=y | ||
| 1099 | # CONFIG_FB_SVGALIB is not set | 1111 | # CONFIG_FB_SVGALIB is not set |
| 1100 | CONFIG_FB_MACMODES=y | 1112 | CONFIG_FB_MACMODES=y |
| 1101 | CONFIG_FB_BACKLIGHT=y | 1113 | CONFIG_FB_BACKLIGHT=y |
| @@ -1213,6 +1225,7 @@ CONFIG_SND_VERBOSE_PROCFS=y | |||
| 1213 | # CONFIG_SND_AU8810 is not set | 1225 | # CONFIG_SND_AU8810 is not set |
| 1214 | # CONFIG_SND_AU8820 is not set | 1226 | # CONFIG_SND_AU8820 is not set |
| 1215 | # CONFIG_SND_AU8830 is not set | 1227 | # CONFIG_SND_AU8830 is not set |
| 1228 | # CONFIG_SND_AW2 is not set | ||
| 1216 | # CONFIG_SND_AZT3328 is not set | 1229 | # CONFIG_SND_AZT3328 is not set |
| 1217 | # CONFIG_SND_BT87X is not set | 1230 | # CONFIG_SND_BT87X is not set |
| 1218 | # CONFIG_SND_CA0106 is not set | 1231 | # CONFIG_SND_CA0106 is not set |
| @@ -1292,11 +1305,11 @@ CONFIG_SND_USB_USX2Y=y | |||
| 1292 | # CONFIG_SND_SOC is not set | 1305 | # CONFIG_SND_SOC is not set |
| 1293 | 1306 | ||
| 1294 | # | 1307 | # |
| 1295 | # SoC Audio support for SuperH | 1308 | # ALSA SoC audio for Freescale SOCs |
| 1296 | # | 1309 | # |
| 1297 | 1310 | ||
| 1298 | # | 1311 | # |
| 1299 | # ALSA SoC audio for Freescale SOCs | 1312 | # SoC Audio for the Texas Instruments OMAP |
| 1300 | # | 1313 | # |
| 1301 | 1314 | ||
| 1302 | # | 1315 | # |
| @@ -1334,11 +1347,13 @@ CONFIG_USB_DEVICEFS=y | |||
| 1334 | # | 1347 | # |
| 1335 | # USB Host Controller Drivers | 1348 | # USB Host Controller Drivers |
| 1336 | # | 1349 | # |
| 1350 | # CONFIG_USB_C67X00_HCD is not set | ||
| 1337 | CONFIG_USB_EHCI_HCD=y | 1351 | CONFIG_USB_EHCI_HCD=y |
| 1338 | # CONFIG_USB_EHCI_ROOT_HUB_TT is not set | 1352 | # CONFIG_USB_EHCI_ROOT_HUB_TT is not set |
| 1339 | # CONFIG_USB_EHCI_TT_NEWSCHED is not set | 1353 | # CONFIG_USB_EHCI_TT_NEWSCHED is not set |
| 1340 | CONFIG_USB_EHCI_HCD_PPC_OF=y | 1354 | CONFIG_USB_EHCI_HCD_PPC_OF=y |
| 1341 | # CONFIG_USB_ISP116X_HCD is not set | 1355 | # CONFIG_USB_ISP116X_HCD is not set |
| 1356 | # CONFIG_USB_ISP1760_HCD is not set | ||
| 1342 | CONFIG_USB_OHCI_HCD=y | 1357 | CONFIG_USB_OHCI_HCD=y |
| 1343 | # CONFIG_USB_OHCI_HCD_PPC_OF is not set | 1358 | # CONFIG_USB_OHCI_HCD_PPC_OF is not set |
| 1344 | # CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set | 1359 | # CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set |
| @@ -1354,6 +1369,7 @@ CONFIG_USB_SL811_HCD=y | |||
| 1354 | # | 1369 | # |
| 1355 | # CONFIG_USB_ACM is not set | 1370 | # CONFIG_USB_ACM is not set |
| 1356 | # CONFIG_USB_PRINTER is not set | 1371 | # CONFIG_USB_PRINTER is not set |
| 1372 | # CONFIG_USB_WDM is not set | ||
| 1357 | 1373 | ||
| 1358 | # | 1374 | # |
| 1359 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 1375 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
| @@ -1375,6 +1391,7 @@ CONFIG_USB_STORAGE=y | |||
| 1375 | # CONFIG_USB_STORAGE_ALAUDA is not set | 1391 | # CONFIG_USB_STORAGE_ALAUDA is not set |
| 1376 | # CONFIG_USB_STORAGE_ONETOUCH is not set | 1392 | # CONFIG_USB_STORAGE_ONETOUCH is not set |
| 1377 | # CONFIG_USB_STORAGE_KARMA is not set | 1393 | # CONFIG_USB_STORAGE_KARMA is not set |
| 1394 | # CONFIG_USB_STORAGE_CYPRESS_ATACB is not set | ||
| 1378 | CONFIG_USB_LIBUSUAL=y | 1395 | CONFIG_USB_LIBUSUAL=y |
| 1379 | 1396 | ||
| 1380 | # | 1397 | # |
| @@ -1416,6 +1433,7 @@ CONFIG_USB_LIBUSUAL=y | |||
| 1416 | # CONFIG_MMC is not set | 1433 | # CONFIG_MMC is not set |
| 1417 | # CONFIG_MEMSTICK is not set | 1434 | # CONFIG_MEMSTICK is not set |
| 1418 | # CONFIG_NEW_LEDS is not set | 1435 | # CONFIG_NEW_LEDS is not set |
| 1436 | # CONFIG_ACCESSIBILITY is not set | ||
| 1419 | # CONFIG_INFINIBAND is not set | 1437 | # CONFIG_INFINIBAND is not set |
| 1420 | CONFIG_EDAC=y | 1438 | CONFIG_EDAC=y |
| 1421 | 1439 | ||
| @@ -1475,10 +1493,6 @@ CONFIG_RTC_DRV_DS1307=y | |||
| 1475 | # on-CPU RTC drivers | 1493 | # on-CPU RTC drivers |
| 1476 | # | 1494 | # |
| 1477 | # CONFIG_DMADEVICES is not set | 1495 | # CONFIG_DMADEVICES is not set |
| 1478 | |||
| 1479 | # | ||
| 1480 | # Userspace I/O | ||
| 1481 | # | ||
| 1482 | # CONFIG_UIO is not set | 1496 | # CONFIG_UIO is not set |
| 1483 | 1497 | ||
| 1484 | # | 1498 | # |
| @@ -1576,12 +1590,10 @@ CONFIG_NFS_FS=y | |||
| 1576 | CONFIG_NFS_V3=y | 1590 | CONFIG_NFS_V3=y |
| 1577 | # CONFIG_NFS_V3_ACL is not set | 1591 | # CONFIG_NFS_V3_ACL is not set |
| 1578 | # CONFIG_NFS_V4 is not set | 1592 | # CONFIG_NFS_V4 is not set |
| 1579 | # CONFIG_NFS_DIRECTIO is not set | ||
| 1580 | CONFIG_NFSD=y | 1593 | CONFIG_NFSD=y |
| 1581 | CONFIG_NFSD_V3=y | 1594 | CONFIG_NFSD_V3=y |
| 1582 | # CONFIG_NFSD_V3_ACL is not set | 1595 | # CONFIG_NFSD_V3_ACL is not set |
| 1583 | CONFIG_NFSD_V4=y | 1596 | CONFIG_NFSD_V4=y |
| 1584 | CONFIG_NFSD_TCP=y | ||
| 1585 | CONFIG_ROOT_NFS=y | 1597 | CONFIG_ROOT_NFS=y |
| 1586 | CONFIG_LOCKD=y | 1598 | CONFIG_LOCKD=y |
| 1587 | CONFIG_LOCKD_V4=y | 1599 | CONFIG_LOCKD_V4=y |
| @@ -1665,9 +1677,10 @@ CONFIG_NLS_ISO8859_1=y | |||
| 1665 | # Library routines | 1677 | # Library routines |
| 1666 | # | 1678 | # |
| 1667 | CONFIG_BITREVERSE=y | 1679 | CONFIG_BITREVERSE=y |
| 1680 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
| 1668 | CONFIG_CRC_CCITT=y | 1681 | CONFIG_CRC_CCITT=y |
| 1669 | # CONFIG_CRC16 is not set | 1682 | # CONFIG_CRC16 is not set |
| 1670 | # CONFIG_CRC_ITU_T is not set | 1683 | CONFIG_CRC_ITU_T=y |
| 1671 | CONFIG_CRC32=y | 1684 | CONFIG_CRC32=y |
| 1672 | # CONFIG_CRC7 is not set | 1685 | # CONFIG_CRC7 is not set |
| 1673 | CONFIG_LIBCRC32C=m | 1686 | CONFIG_LIBCRC32C=m |
| @@ -1677,6 +1690,7 @@ CONFIG_PLIST=y | |||
| 1677 | CONFIG_HAS_IOMEM=y | 1690 | CONFIG_HAS_IOMEM=y |
| 1678 | CONFIG_HAS_IOPORT=y | 1691 | CONFIG_HAS_IOPORT=y |
| 1679 | CONFIG_HAS_DMA=y | 1692 | CONFIG_HAS_DMA=y |
| 1693 | CONFIG_HAVE_LMB=y | ||
| 1680 | 1694 | ||
| 1681 | # | 1695 | # |
| 1682 | # Kernel hacking | 1696 | # Kernel hacking |
| @@ -1684,6 +1698,7 @@ CONFIG_HAS_DMA=y | |||
| 1684 | # CONFIG_PRINTK_TIME is not set | 1698 | # CONFIG_PRINTK_TIME is not set |
| 1685 | CONFIG_ENABLE_WARN_DEPRECATED=y | 1699 | CONFIG_ENABLE_WARN_DEPRECATED=y |
| 1686 | CONFIG_ENABLE_MUST_CHECK=y | 1700 | CONFIG_ENABLE_MUST_CHECK=y |
| 1701 | CONFIG_FRAME_WARN=2048 | ||
| 1687 | CONFIG_MAGIC_SYSRQ=y | 1702 | CONFIG_MAGIC_SYSRQ=y |
| 1688 | # CONFIG_UNUSED_SYMBOLS is not set | 1703 | # CONFIG_UNUSED_SYMBOLS is not set |
| 1689 | # CONFIG_DEBUG_FS is not set | 1704 | # CONFIG_DEBUG_FS is not set |
| @@ -1694,18 +1709,23 @@ CONFIG_DETECT_SOFTLOCKUP=y | |||
| 1694 | # CONFIG_SCHED_DEBUG is not set | 1709 | # CONFIG_SCHED_DEBUG is not set |
| 1695 | # CONFIG_SCHEDSTATS is not set | 1710 | # CONFIG_SCHEDSTATS is not set |
| 1696 | # CONFIG_TIMER_STATS is not set | 1711 | # CONFIG_TIMER_STATS is not set |
| 1712 | # CONFIG_DEBUG_OBJECTS is not set | ||
| 1697 | # CONFIG_SLUB_DEBUG_ON is not set | 1713 | # CONFIG_SLUB_DEBUG_ON is not set |
| 1698 | # CONFIG_SLUB_STATS is not set | 1714 | # CONFIG_SLUB_STATS is not set |
| 1699 | # CONFIG_DEBUG_RT_MUTEXES is not set | 1715 | # CONFIG_DEBUG_RT_MUTEXES is not set |
| 1700 | # CONFIG_RT_MUTEX_TESTER is not set | 1716 | # CONFIG_RT_MUTEX_TESTER is not set |
| 1701 | # CONFIG_DEBUG_SPINLOCK is not set | 1717 | # CONFIG_DEBUG_SPINLOCK is not set |
| 1702 | # CONFIG_DEBUG_MUTEXES is not set | 1718 | # CONFIG_DEBUG_MUTEXES is not set |
| 1719 | # CONFIG_DEBUG_LOCK_ALLOC is not set | ||
| 1720 | # CONFIG_PROVE_LOCKING is not set | ||
| 1721 | # CONFIG_LOCK_STAT is not set | ||
| 1703 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 1722 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
| 1704 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | 1723 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set |
| 1705 | # CONFIG_DEBUG_KOBJECT is not set | 1724 | # CONFIG_DEBUG_KOBJECT is not set |
| 1706 | CONFIG_DEBUG_BUGVERBOSE=y | 1725 | CONFIG_DEBUG_BUGVERBOSE=y |
| 1707 | # CONFIG_DEBUG_INFO is not set | 1726 | # CONFIG_DEBUG_INFO is not set |
| 1708 | # CONFIG_DEBUG_VM is not set | 1727 | # CONFIG_DEBUG_VM is not set |
| 1728 | # CONFIG_DEBUG_WRITECOUNT is not set | ||
| 1709 | # CONFIG_DEBUG_LIST is not set | 1729 | # CONFIG_DEBUG_LIST is not set |
| 1710 | # CONFIG_DEBUG_SG is not set | 1730 | # CONFIG_DEBUG_SG is not set |
| 1711 | # CONFIG_BOOT_PRINTK_DELAY is not set | 1731 | # CONFIG_BOOT_PRINTK_DELAY is not set |
| @@ -1735,53 +1755,83 @@ CONFIG_ASYNC_CORE=y | |||
| 1735 | CONFIG_ASYNC_MEMCPY=y | 1755 | CONFIG_ASYNC_MEMCPY=y |
| 1736 | CONFIG_ASYNC_XOR=y | 1756 | CONFIG_ASYNC_XOR=y |
| 1737 | CONFIG_CRYPTO=y | 1757 | CONFIG_CRYPTO=y |
| 1758 | |||
| 1759 | # | ||
| 1760 | # Crypto core or helper | ||
| 1761 | # | ||
| 1738 | CONFIG_CRYPTO_ALGAPI=y | 1762 | CONFIG_CRYPTO_ALGAPI=y |
| 1739 | CONFIG_CRYPTO_AEAD=y | 1763 | CONFIG_CRYPTO_AEAD=y |
| 1740 | CONFIG_CRYPTO_BLKCIPHER=y | 1764 | CONFIG_CRYPTO_BLKCIPHER=y |
| 1741 | # CONFIG_CRYPTO_SEQIV is not set | ||
| 1742 | CONFIG_CRYPTO_HASH=y | 1765 | CONFIG_CRYPTO_HASH=y |
| 1743 | CONFIG_CRYPTO_MANAGER=y | 1766 | CONFIG_CRYPTO_MANAGER=y |
| 1767 | # CONFIG_CRYPTO_GF128MUL is not set | ||
| 1768 | # CONFIG_CRYPTO_NULL is not set | ||
| 1769 | # CONFIG_CRYPTO_CRYPTD is not set | ||
| 1770 | CONFIG_CRYPTO_AUTHENC=y | ||
| 1771 | # CONFIG_CRYPTO_TEST is not set | ||
| 1772 | |||
| 1773 | # | ||
| 1774 | # Authenticated Encryption with Associated Data | ||
| 1775 | # | ||
| 1776 | # CONFIG_CRYPTO_CCM is not set | ||
| 1777 | # CONFIG_CRYPTO_GCM is not set | ||
| 1778 | # CONFIG_CRYPTO_SEQIV is not set | ||
| 1779 | |||
| 1780 | # | ||
| 1781 | # Block modes | ||
| 1782 | # | ||
| 1783 | CONFIG_CRYPTO_CBC=y | ||
| 1784 | # CONFIG_CRYPTO_CTR is not set | ||
| 1785 | # CONFIG_CRYPTO_CTS is not set | ||
| 1786 | # CONFIG_CRYPTO_ECB is not set | ||
| 1787 | # CONFIG_CRYPTO_LRW is not set | ||
| 1788 | # CONFIG_CRYPTO_PCBC is not set | ||
| 1789 | # CONFIG_CRYPTO_XTS is not set | ||
| 1790 | |||
| 1791 | # | ||
| 1792 | # Hash modes | ||
| 1793 | # | ||
| 1744 | CONFIG_CRYPTO_HMAC=y | 1794 | CONFIG_CRYPTO_HMAC=y |
| 1745 | # CONFIG_CRYPTO_XCBC is not set | 1795 | # CONFIG_CRYPTO_XCBC is not set |
| 1746 | # CONFIG_CRYPTO_NULL is not set | 1796 | |
| 1797 | # | ||
| 1798 | # Digest | ||
| 1799 | # | ||
| 1800 | # CONFIG_CRYPTO_CRC32C is not set | ||
| 1747 | CONFIG_CRYPTO_MD4=y | 1801 | CONFIG_CRYPTO_MD4=y |
| 1748 | CONFIG_CRYPTO_MD5=y | 1802 | CONFIG_CRYPTO_MD5=y |
| 1803 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
| 1749 | CONFIG_CRYPTO_SHA1=y | 1804 | CONFIG_CRYPTO_SHA1=y |
| 1750 | CONFIG_CRYPTO_SHA256=y | 1805 | CONFIG_CRYPTO_SHA256=y |
| 1751 | CONFIG_CRYPTO_SHA512=y | 1806 | CONFIG_CRYPTO_SHA512=y |
| 1752 | # CONFIG_CRYPTO_WP512 is not set | ||
| 1753 | # CONFIG_CRYPTO_TGR192 is not set | 1807 | # CONFIG_CRYPTO_TGR192 is not set |
| 1754 | # CONFIG_CRYPTO_GF128MUL is not set | 1808 | # CONFIG_CRYPTO_WP512 is not set |
| 1755 | # CONFIG_CRYPTO_ECB is not set | 1809 | |
| 1756 | CONFIG_CRYPTO_CBC=y | 1810 | # |
| 1757 | # CONFIG_CRYPTO_PCBC is not set | 1811 | # Ciphers |
| 1758 | # CONFIG_CRYPTO_LRW is not set | 1812 | # |
| 1759 | # CONFIG_CRYPTO_XTS is not set | ||
| 1760 | # CONFIG_CRYPTO_CTR is not set | ||
| 1761 | # CONFIG_CRYPTO_GCM is not set | ||
| 1762 | # CONFIG_CRYPTO_CCM is not set | ||
| 1763 | # CONFIG_CRYPTO_CRYPTD is not set | ||
| 1764 | CONFIG_CRYPTO_DES=y | ||
| 1765 | # CONFIG_CRYPTO_FCRYPT is not set | ||
| 1766 | CONFIG_CRYPTO_BLOWFISH=y | ||
| 1767 | # CONFIG_CRYPTO_TWOFISH is not set | ||
| 1768 | # CONFIG_CRYPTO_SERPENT is not set | ||
| 1769 | CONFIG_CRYPTO_AES=y | 1813 | CONFIG_CRYPTO_AES=y |
| 1814 | # CONFIG_CRYPTO_ANUBIS is not set | ||
| 1815 | # CONFIG_CRYPTO_ARC4 is not set | ||
| 1816 | CONFIG_CRYPTO_BLOWFISH=y | ||
| 1817 | # CONFIG_CRYPTO_CAMELLIA is not set | ||
| 1770 | # CONFIG_CRYPTO_CAST5 is not set | 1818 | # CONFIG_CRYPTO_CAST5 is not set |
| 1771 | # CONFIG_CRYPTO_CAST6 is not set | 1819 | # CONFIG_CRYPTO_CAST6 is not set |
| 1772 | # CONFIG_CRYPTO_TEA is not set | 1820 | CONFIG_CRYPTO_DES=y |
| 1773 | # CONFIG_CRYPTO_ARC4 is not set | 1821 | # CONFIG_CRYPTO_FCRYPT is not set |
| 1774 | # CONFIG_CRYPTO_KHAZAD is not set | 1822 | # CONFIG_CRYPTO_KHAZAD is not set |
| 1775 | # CONFIG_CRYPTO_ANUBIS is not set | ||
| 1776 | # CONFIG_CRYPTO_SEED is not set | ||
| 1777 | # CONFIG_CRYPTO_SALSA20 is not set | 1823 | # CONFIG_CRYPTO_SALSA20 is not set |
| 1824 | # CONFIG_CRYPTO_SEED is not set | ||
| 1825 | # CONFIG_CRYPTO_SERPENT is not set | ||
| 1826 | # CONFIG_CRYPTO_TEA is not set | ||
| 1827 | # CONFIG_CRYPTO_TWOFISH is not set | ||
| 1828 | |||
| 1829 | # | ||
| 1830 | # Compression | ||
| 1831 | # | ||
| 1778 | # CONFIG_CRYPTO_DEFLATE is not set | 1832 | # CONFIG_CRYPTO_DEFLATE is not set |
| 1779 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
| 1780 | # CONFIG_CRYPTO_CRC32C is not set | ||
| 1781 | # CONFIG_CRYPTO_CAMELLIA is not set | ||
| 1782 | # CONFIG_CRYPTO_TEST is not set | ||
| 1783 | CONFIG_CRYPTO_AUTHENC=y | ||
| 1784 | # CONFIG_CRYPTO_LZO is not set | 1833 | # CONFIG_CRYPTO_LZO is not set |
| 1785 | CONFIG_CRYPTO_HW=y | 1834 | CONFIG_CRYPTO_HW=y |
| 1786 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set | 1835 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set |
| 1787 | # CONFIG_PPC_CLOCK is not set | 1836 | # CONFIG_PPC_CLOCK is not set |
| 1837 | # CONFIG_VIRTUALIZATION is not set | ||
diff --git a/arch/powerpc/platforms/52xx/mpc52xx_gpio.c b/arch/powerpc/platforms/52xx/mpc52xx_gpio.c index 48da5dfe4856..8a455ebce98d 100644 --- a/arch/powerpc/platforms/52xx/mpc52xx_gpio.c +++ b/arch/powerpc/platforms/52xx/mpc52xx_gpio.c | |||
| @@ -100,7 +100,7 @@ static int mpc52xx_wkup_gpio_dir_in(struct gpio_chip *gc, unsigned int gpio) | |||
| 100 | struct of_mm_gpio_chip *mm_gc = to_of_mm_gpio_chip(gc); | 100 | struct of_mm_gpio_chip *mm_gc = to_of_mm_gpio_chip(gc); |
| 101 | struct mpc52xx_gpiochip *chip = container_of(mm_gc, | 101 | struct mpc52xx_gpiochip *chip = container_of(mm_gc, |
| 102 | struct mpc52xx_gpiochip, mmchip); | 102 | struct mpc52xx_gpiochip, mmchip); |
| 103 | struct mpc52xx_gpio_wkup *regs = mm_gc->regs; | 103 | struct mpc52xx_gpio_wkup __iomem *regs = mm_gc->regs; |
| 104 | unsigned long flags; | 104 | unsigned long flags; |
| 105 | 105 | ||
| 106 | spin_lock_irqsave(&gpio_lock, flags); | 106 | spin_lock_irqsave(&gpio_lock, flags); |
| @@ -122,7 +122,7 @@ static int | |||
| 122 | mpc52xx_wkup_gpio_dir_out(struct gpio_chip *gc, unsigned int gpio, int val) | 122 | mpc52xx_wkup_gpio_dir_out(struct gpio_chip *gc, unsigned int gpio, int val) |
| 123 | { | 123 | { |
| 124 | struct of_mm_gpio_chip *mm_gc = to_of_mm_gpio_chip(gc); | 124 | struct of_mm_gpio_chip *mm_gc = to_of_mm_gpio_chip(gc); |
| 125 | struct mpc52xx_gpio_wkup *regs = mm_gc->regs; | 125 | struct mpc52xx_gpio_wkup __iomem *regs = mm_gc->regs; |
| 126 | struct mpc52xx_gpiochip *chip = container_of(mm_gc, | 126 | struct mpc52xx_gpiochip *chip = container_of(mm_gc, |
| 127 | struct mpc52xx_gpiochip, mmchip); | 127 | struct mpc52xx_gpiochip, mmchip); |
| 128 | unsigned long flags; | 128 | unsigned long flags; |
| @@ -150,7 +150,7 @@ static int __devinit mpc52xx_wkup_gpiochip_probe(struct of_device *ofdev, | |||
| 150 | const struct of_device_id *match) | 150 | const struct of_device_id *match) |
| 151 | { | 151 | { |
| 152 | struct mpc52xx_gpiochip *chip; | 152 | struct mpc52xx_gpiochip *chip; |
| 153 | struct mpc52xx_gpio_wkup *regs; | 153 | struct mpc52xx_gpio_wkup __iomem *regs; |
| 154 | struct of_gpio_chip *ofchip; | 154 | struct of_gpio_chip *ofchip; |
| 155 | int ret; | 155 | int ret; |
| 156 | 156 | ||
| @@ -260,7 +260,7 @@ static int mpc52xx_simple_gpio_dir_in(struct gpio_chip *gc, unsigned int gpio) | |||
| 260 | struct of_mm_gpio_chip *mm_gc = to_of_mm_gpio_chip(gc); | 260 | struct of_mm_gpio_chip *mm_gc = to_of_mm_gpio_chip(gc); |
| 261 | struct mpc52xx_gpiochip *chip = container_of(mm_gc, | 261 | struct mpc52xx_gpiochip *chip = container_of(mm_gc, |
| 262 | struct mpc52xx_gpiochip, mmchip); | 262 | struct mpc52xx_gpiochip, mmchip); |
| 263 | struct mpc52xx_gpio *regs = mm_gc->regs; | 263 | struct mpc52xx_gpio __iomem *regs = mm_gc->regs; |
| 264 | unsigned long flags; | 264 | unsigned long flags; |
| 265 | 265 | ||
| 266 | spin_lock_irqsave(&gpio_lock, flags); | 266 | spin_lock_irqsave(&gpio_lock, flags); |
| @@ -284,7 +284,7 @@ mpc52xx_simple_gpio_dir_out(struct gpio_chip *gc, unsigned int gpio, int val) | |||
| 284 | struct of_mm_gpio_chip *mm_gc = to_of_mm_gpio_chip(gc); | 284 | struct of_mm_gpio_chip *mm_gc = to_of_mm_gpio_chip(gc); |
| 285 | struct mpc52xx_gpiochip *chip = container_of(mm_gc, | 285 | struct mpc52xx_gpiochip *chip = container_of(mm_gc, |
| 286 | struct mpc52xx_gpiochip, mmchip); | 286 | struct mpc52xx_gpiochip, mmchip); |
| 287 | struct mpc52xx_gpio *regs = mm_gc->regs; | 287 | struct mpc52xx_gpio __iomem *regs = mm_gc->regs; |
| 288 | unsigned long flags; | 288 | unsigned long flags; |
| 289 | 289 | ||
| 290 | spin_lock_irqsave(&gpio_lock, flags); | 290 | spin_lock_irqsave(&gpio_lock, flags); |
| @@ -312,7 +312,7 @@ static int __devinit mpc52xx_simple_gpiochip_probe(struct of_device *ofdev, | |||
| 312 | { | 312 | { |
| 313 | struct mpc52xx_gpiochip *chip; | 313 | struct mpc52xx_gpiochip *chip; |
| 314 | struct of_gpio_chip *ofchip; | 314 | struct of_gpio_chip *ofchip; |
| 315 | struct mpc52xx_gpio *regs; | 315 | struct mpc52xx_gpio __iomem *regs; |
| 316 | int ret; | 316 | int ret; |
| 317 | 317 | ||
| 318 | chip = kzalloc(sizeof(*chip), GFP_KERNEL); | 318 | chip = kzalloc(sizeof(*chip), GFP_KERNEL); |
| @@ -387,7 +387,7 @@ mpc52xx_gpt_gpio_set(struct gpio_chip *gc, unsigned int gpio, int val) | |||
| 387 | static int mpc52xx_gpt_gpio_dir_in(struct gpio_chip *gc, unsigned int gpio) | 387 | static int mpc52xx_gpt_gpio_dir_in(struct gpio_chip *gc, unsigned int gpio) |
| 388 | { | 388 | { |
| 389 | struct of_mm_gpio_chip *mm_gc = to_of_mm_gpio_chip(gc); | 389 | struct of_mm_gpio_chip *mm_gc = to_of_mm_gpio_chip(gc); |
| 390 | struct mpc52xx_gpt *regs = mm_gc->regs; | 390 | struct mpc52xx_gpt __iomem *regs = mm_gc->regs; |
| 391 | 391 | ||
| 392 | out_be32(®s->mode, 0x04); | 392 | out_be32(®s->mode, 0x04); |
| 393 | 393 | ||
diff --git a/arch/powerpc/platforms/cell/celleb_scc_pciex.c b/arch/powerpc/platforms/cell/celleb_scc_pciex.c index 31da84c458d2..0e04f8fb152a 100644 --- a/arch/powerpc/platforms/cell/celleb_scc_pciex.c +++ b/arch/powerpc/platforms/cell/celleb_scc_pciex.c | |||
| @@ -217,7 +217,7 @@ static u##size scc_pciex_in##name(unsigned long port) \ | |||
| 217 | static void scc_pciex_ins##name(unsigned long p, void *b, unsigned long c) \ | 217 | static void scc_pciex_ins##name(unsigned long p, void *b, unsigned long c) \ |
| 218 | { \ | 218 | { \ |
| 219 | struct iowa_bus *bus = iowa_pio_find_bus(p); \ | 219 | struct iowa_bus *bus = iowa_pio_find_bus(p); \ |
| 220 | u##size *dst = b; \ | 220 | __le##size *dst = b; \ |
| 221 | for (; c != 0; c--, dst++) \ | 221 | for (; c != 0; c--, dst++) \ |
| 222 | *dst = cpu_to_le##size(__scc_pciex_in##name(bus->phb, p)); \ | 222 | *dst = cpu_to_le##size(__scc_pciex_in##name(bus->phb, p)); \ |
| 223 | scc_pciex_io_flush(bus); \ | 223 | scc_pciex_io_flush(bus); \ |
| @@ -231,10 +231,11 @@ static void scc_pciex_outs##name(unsigned long p, const void *b, \ | |||
| 231 | unsigned long c) \ | 231 | unsigned long c) \ |
| 232 | { \ | 232 | { \ |
| 233 | struct iowa_bus *bus = iowa_pio_find_bus(p); \ | 233 | struct iowa_bus *bus = iowa_pio_find_bus(p); \ |
| 234 | const u##size *src = b; \ | 234 | const __le##size *src = b; \ |
| 235 | for (; c != 0; c--, src++) \ | 235 | for (; c != 0; c--, src++) \ |
| 236 | __scc_pciex_out##name(bus->phb, le##size##_to_cpu(*src), p); \ | 236 | __scc_pciex_out##name(bus->phb, le##size##_to_cpu(*src), p); \ |
| 237 | } | 237 | } |
| 238 | #define __le8 u8 | ||
| 238 | #define cpu_to_le8(x) (x) | 239 | #define cpu_to_le8(x) (x) |
| 239 | #define le8_to_cpu(x) (x) | 240 | #define le8_to_cpu(x) (x) |
| 240 | PCIEX_PIO_FUNC(8, b) | 241 | PCIEX_PIO_FUNC(8, b) |
diff --git a/arch/ppc/kernel/ppc_ksyms.c b/arch/ppc/kernel/ppc_ksyms.c index 602c268fc8a2..5d529bcbeee9 100644 --- a/arch/ppc/kernel/ppc_ksyms.c +++ b/arch/ppc/kernel/ppc_ksyms.c | |||
| @@ -60,8 +60,10 @@ long long __ashrdi3(long long, int); | |||
| 60 | long long __ashldi3(long long, int); | 60 | long long __ashldi3(long long, int); |
| 61 | long long __lshrdi3(long long, int); | 61 | long long __lshrdi3(long long, int); |
| 62 | 62 | ||
| 63 | EXPORT_SYMBOL(empty_zero_page); | ||
| 63 | EXPORT_SYMBOL(clear_pages); | 64 | EXPORT_SYMBOL(clear_pages); |
| 64 | EXPORT_SYMBOL(clear_user_page); | 65 | EXPORT_SYMBOL(clear_user_page); |
| 66 | EXPORT_SYMBOL(copy_page); | ||
| 65 | EXPORT_SYMBOL(transfer_to_handler); | 67 | EXPORT_SYMBOL(transfer_to_handler); |
| 66 | EXPORT_SYMBOL(do_IRQ); | 68 | EXPORT_SYMBOL(do_IRQ); |
| 67 | EXPORT_SYMBOL(machine_check_exception); | 69 | EXPORT_SYMBOL(machine_check_exception); |
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig index 1d035082e78e..93acb3c1859d 100644 --- a/arch/s390/Kconfig +++ b/arch/s390/Kconfig | |||
| @@ -308,6 +308,9 @@ config ARCH_SPARSEMEM_ENABLE | |||
| 308 | config ARCH_SPARSEMEM_DEFAULT | 308 | config ARCH_SPARSEMEM_DEFAULT |
| 309 | def_bool y | 309 | def_bool y |
| 310 | 310 | ||
| 311 | config ARCH_SELECT_MEMORY_MODEL | ||
| 312 | def_bool y | ||
| 313 | |||
| 311 | source "mm/Kconfig" | 314 | source "mm/Kconfig" |
| 312 | 315 | ||
| 313 | comment "I/O subsystem configuration" | 316 | comment "I/O subsystem configuration" |
diff --git a/arch/s390/appldata/appldata_base.c b/arch/s390/appldata/appldata_base.c index 655d52543e2d..ad40729bec3d 100644 --- a/arch/s390/appldata/appldata_base.c +++ b/arch/s390/appldata/appldata_base.c | |||
| @@ -130,6 +130,7 @@ static void appldata_work_fn(struct work_struct *work) | |||
| 130 | 130 | ||
| 131 | P_DEBUG(" -= Work Queue =-\n"); | 131 | P_DEBUG(" -= Work Queue =-\n"); |
| 132 | i = 0; | 132 | i = 0; |
| 133 | get_online_cpus(); | ||
| 133 | spin_lock(&appldata_ops_lock); | 134 | spin_lock(&appldata_ops_lock); |
| 134 | list_for_each(lh, &appldata_ops_list) { | 135 | list_for_each(lh, &appldata_ops_list) { |
| 135 | ops = list_entry(lh, struct appldata_ops, list); | 136 | ops = list_entry(lh, struct appldata_ops, list); |
| @@ -140,6 +141,7 @@ static void appldata_work_fn(struct work_struct *work) | |||
| 140 | } | 141 | } |
| 141 | } | 142 | } |
| 142 | spin_unlock(&appldata_ops_lock); | 143 | spin_unlock(&appldata_ops_lock); |
| 144 | put_online_cpus(); | ||
| 143 | } | 145 | } |
| 144 | 146 | ||
| 145 | /* | 147 | /* |
| @@ -266,12 +268,14 @@ appldata_timer_handler(ctl_table *ctl, int write, struct file *filp, | |||
| 266 | len = *lenp; | 268 | len = *lenp; |
| 267 | if (copy_from_user(buf, buffer, len > sizeof(buf) ? sizeof(buf) : len)) | 269 | if (copy_from_user(buf, buffer, len > sizeof(buf) ? sizeof(buf) : len)) |
| 268 | return -EFAULT; | 270 | return -EFAULT; |
| 271 | get_online_cpus(); | ||
| 269 | spin_lock(&appldata_timer_lock); | 272 | spin_lock(&appldata_timer_lock); |
| 270 | if (buf[0] == '1') | 273 | if (buf[0] == '1') |
| 271 | __appldata_vtimer_setup(APPLDATA_ADD_TIMER); | 274 | __appldata_vtimer_setup(APPLDATA_ADD_TIMER); |
| 272 | else if (buf[0] == '0') | 275 | else if (buf[0] == '0') |
| 273 | __appldata_vtimer_setup(APPLDATA_DEL_TIMER); | 276 | __appldata_vtimer_setup(APPLDATA_DEL_TIMER); |
| 274 | spin_unlock(&appldata_timer_lock); | 277 | spin_unlock(&appldata_timer_lock); |
| 278 | put_online_cpus(); | ||
| 275 | out: | 279 | out: |
| 276 | *lenp = len; | 280 | *lenp = len; |
| 277 | *ppos += len; | 281 | *ppos += len; |
| @@ -314,10 +318,12 @@ appldata_interval_handler(ctl_table *ctl, int write, struct file *filp, | |||
| 314 | return -EINVAL; | 318 | return -EINVAL; |
| 315 | } | 319 | } |
| 316 | 320 | ||
| 321 | get_online_cpus(); | ||
| 317 | spin_lock(&appldata_timer_lock); | 322 | spin_lock(&appldata_timer_lock); |
| 318 | appldata_interval = interval; | 323 | appldata_interval = interval; |
| 319 | __appldata_vtimer_setup(APPLDATA_MOD_TIMER); | 324 | __appldata_vtimer_setup(APPLDATA_MOD_TIMER); |
| 320 | spin_unlock(&appldata_timer_lock); | 325 | spin_unlock(&appldata_timer_lock); |
| 326 | put_online_cpus(); | ||
| 321 | 327 | ||
| 322 | P_INFO("Monitoring CPU interval set to %u milliseconds.\n", | 328 | P_INFO("Monitoring CPU interval set to %u milliseconds.\n", |
| 323 | interval); | 329 | interval); |
| @@ -556,8 +562,10 @@ static int __init appldata_init(void) | |||
| 556 | return -ENOMEM; | 562 | return -ENOMEM; |
| 557 | } | 563 | } |
| 558 | 564 | ||
| 565 | get_online_cpus(); | ||
| 559 | for_each_online_cpu(i) | 566 | for_each_online_cpu(i) |
| 560 | appldata_online_cpu(i); | 567 | appldata_online_cpu(i); |
| 568 | put_online_cpus(); | ||
| 561 | 569 | ||
| 562 | /* Register cpu hotplug notifier */ | 570 | /* Register cpu hotplug notifier */ |
| 563 | register_hotcpu_notifier(&appldata_nb); | 571 | register_hotcpu_notifier(&appldata_nb); |
diff --git a/arch/s390/defconfig b/arch/s390/defconfig index aa341d0ea1e6..c5cdb975d590 100644 --- a/arch/s390/defconfig +++ b/arch/s390/defconfig | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | # | 1 | # |
| 2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
| 3 | # Linux kernel version: 2.6.25 | 3 | # Linux kernel version: 2.6.26-rc4 |
| 4 | # Wed Apr 30 11:07:45 2008 | 4 | # Fri May 30 09:49:33 2008 |
| 5 | # | 5 | # |
| 6 | CONFIG_SCHED_MC=y | 6 | CONFIG_SCHED_MC=y |
| 7 | CONFIG_MMU=y | 7 | CONFIG_MMU=y |
| @@ -103,6 +103,7 @@ CONFIG_RT_MUTEXES=y | |||
| 103 | # CONFIG_TINY_SHMEM is not set | 103 | # CONFIG_TINY_SHMEM is not set |
| 104 | CONFIG_BASE_SMALL=0 | 104 | CONFIG_BASE_SMALL=0 |
| 105 | CONFIG_MODULES=y | 105 | CONFIG_MODULES=y |
| 106 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
| 106 | CONFIG_MODULE_UNLOAD=y | 107 | CONFIG_MODULE_UNLOAD=y |
| 107 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 108 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
| 108 | CONFIG_MODVERSIONS=y | 109 | CONFIG_MODVERSIONS=y |
| @@ -173,6 +174,7 @@ CONFIG_PREEMPT=y | |||
| 173 | # CONFIG_PREEMPT_RCU is not set | 174 | # CONFIG_PREEMPT_RCU is not set |
| 174 | CONFIG_ARCH_SPARSEMEM_ENABLE=y | 175 | CONFIG_ARCH_SPARSEMEM_ENABLE=y |
| 175 | CONFIG_ARCH_SPARSEMEM_DEFAULT=y | 176 | CONFIG_ARCH_SPARSEMEM_DEFAULT=y |
| 177 | CONFIG_ARCH_SELECT_MEMORY_MODEL=y | ||
| 176 | CONFIG_SELECT_MEMORY_MODEL=y | 178 | CONFIG_SELECT_MEMORY_MODEL=y |
| 177 | # CONFIG_FLATMEM_MANUAL is not set | 179 | # CONFIG_FLATMEM_MANUAL is not set |
| 178 | # CONFIG_DISCONTIGMEM_MANUAL is not set | 180 | # CONFIG_DISCONTIGMEM_MANUAL is not set |
| @@ -210,6 +212,7 @@ CONFIG_FORCE_MAX_ZONEORDER=9 | |||
| 210 | CONFIG_PFAULT=y | 212 | CONFIG_PFAULT=y |
| 211 | # CONFIG_SHARED_KERNEL is not set | 213 | # CONFIG_SHARED_KERNEL is not set |
| 212 | # CONFIG_CMM is not set | 214 | # CONFIG_CMM is not set |
| 215 | # CONFIG_PAGE_STATES is not set | ||
| 213 | CONFIG_VIRT_TIMER=y | 216 | CONFIG_VIRT_TIMER=y |
| 214 | CONFIG_VIRT_CPU_ACCOUNTING=y | 217 | CONFIG_VIRT_CPU_ACCOUNTING=y |
| 215 | # CONFIG_APPLDATA_BASE is not set | 218 | # CONFIG_APPLDATA_BASE is not set |
| @@ -620,6 +623,7 @@ CONFIG_S390_VMUR=m | |||
| 620 | # | 623 | # |
| 621 | # CONFIG_MEMSTICK is not set | 624 | # CONFIG_MEMSTICK is not set |
| 622 | # CONFIG_NEW_LEDS is not set | 625 | # CONFIG_NEW_LEDS is not set |
| 626 | CONFIG_ACCESSIBILITY=y | ||
| 623 | 627 | ||
| 624 | # | 628 | # |
| 625 | # File systems | 629 | # File systems |
| @@ -754,11 +758,12 @@ CONFIG_FRAME_WARN=2048 | |||
| 754 | CONFIG_MAGIC_SYSRQ=y | 758 | CONFIG_MAGIC_SYSRQ=y |
| 755 | # CONFIG_UNUSED_SYMBOLS is not set | 759 | # CONFIG_UNUSED_SYMBOLS is not set |
| 756 | CONFIG_DEBUG_FS=y | 760 | CONFIG_DEBUG_FS=y |
| 757 | CONFIG_HEADERS_CHECK=y | 761 | # CONFIG_HEADERS_CHECK is not set |
| 758 | CONFIG_DEBUG_KERNEL=y | 762 | CONFIG_DEBUG_KERNEL=y |
| 759 | # CONFIG_SCHED_DEBUG is not set | 763 | # CONFIG_SCHED_DEBUG is not set |
| 760 | # CONFIG_SCHEDSTATS is not set | 764 | # CONFIG_SCHEDSTATS is not set |
| 761 | # CONFIG_TIMER_STATS is not set | 765 | # CONFIG_TIMER_STATS is not set |
| 766 | # CONFIG_DEBUG_OBJECTS is not set | ||
| 762 | # CONFIG_DEBUG_SLAB is not set | 767 | # CONFIG_DEBUG_SLAB is not set |
| 763 | CONFIG_DEBUG_PREEMPT=y | 768 | CONFIG_DEBUG_PREEMPT=y |
| 764 | # CONFIG_DEBUG_RT_MUTEXES is not set | 769 | # CONFIG_DEBUG_RT_MUTEXES is not set |
diff --git a/arch/s390/kernel/dis.c b/arch/s390/kernel/dis.c index c14a336f6300..d2f270c995d9 100644 --- a/arch/s390/kernel/dis.c +++ b/arch/s390/kernel/dis.c | |||
| @@ -208,7 +208,7 @@ static const unsigned char formats[][7] = { | |||
| 208 | [INSTR_RRF_F0FF] = { 0xff, F_16,F_24,F_28,0,0,0 }, /* e.g. madbr */ | 208 | [INSTR_RRF_F0FF] = { 0xff, F_16,F_24,F_28,0,0,0 }, /* e.g. madbr */ |
| 209 | [INSTR_RRF_FUFF] = { 0xff, F_24,F_16,F_28,U4_20,0,0 },/* e.g. didbr */ | 209 | [INSTR_RRF_FUFF] = { 0xff, F_24,F_16,F_28,U4_20,0,0 },/* e.g. didbr */ |
| 210 | [INSTR_RRF_RURR] = { 0xff, R_24,R_28,R_16,U4_20,0,0 },/* e.g. .insn */ | 210 | [INSTR_RRF_RURR] = { 0xff, R_24,R_28,R_16,U4_20,0,0 },/* e.g. .insn */ |
| 211 | [INSTR_RRF_R0RR] = { 0xff, R_24,R_28,R_16,0,0,0 }, /* e.g. idte */ | 211 | [INSTR_RRF_R0RR] = { 0xff, R_24,R_16,R_28,0,0,0 }, /* e.g. idte */ |
| 212 | [INSTR_RRF_U0FF] = { 0xff, F_24,U4_16,F_28,0,0,0 }, /* e.g. fixr */ | 212 | [INSTR_RRF_U0FF] = { 0xff, F_24,U4_16,F_28,0,0,0 }, /* e.g. fixr */ |
| 213 | [INSTR_RRF_U0RF] = { 0xff, R_24,U4_16,F_28,0,0,0 }, /* e.g. cfebr */ | 213 | [INSTR_RRF_U0RF] = { 0xff, R_24,U4_16,F_28,0,0,0 }, /* e.g. cfebr */ |
| 214 | [INSTR_RRF_M0RR] = { 0xff, R_24,R_28,M_16,0,0,0 }, /* e.g. sske */ | 214 | [INSTR_RRF_M0RR] = { 0xff, R_24,R_28,M_16,0,0,0 }, /* e.g. sske */ |
diff --git a/arch/s390/kernel/smp.c b/arch/s390/kernel/smp.c index 1f4228948dc4..42b1d12ebb10 100644 --- a/arch/s390/kernel/smp.c +++ b/arch/s390/kernel/smp.c | |||
| @@ -1089,7 +1089,7 @@ out: | |||
| 1089 | 1089 | ||
| 1090 | #ifdef CONFIG_HOTPLUG_CPU | 1090 | #ifdef CONFIG_HOTPLUG_CPU |
| 1091 | 1091 | ||
| 1092 | int smp_rescan_cpus(void) | 1092 | int __ref smp_rescan_cpus(void) |
| 1093 | { | 1093 | { |
| 1094 | cpumask_t newcpus; | 1094 | cpumask_t newcpus; |
| 1095 | int cpu; | 1095 | int cpu; |
diff --git a/arch/s390/mm/init.c b/arch/s390/mm/init.c index 29f3a63806b9..05598649b326 100644 --- a/arch/s390/mm/init.c +++ b/arch/s390/mm/init.c | |||
| @@ -44,37 +44,34 @@ char empty_zero_page[PAGE_SIZE] __attribute__((__aligned__(PAGE_SIZE))); | |||
| 44 | 44 | ||
| 45 | void show_mem(void) | 45 | void show_mem(void) |
| 46 | { | 46 | { |
| 47 | int i, total = 0, reserved = 0; | 47 | unsigned long i, total = 0, reserved = 0; |
| 48 | int shared = 0, cached = 0; | 48 | unsigned long shared = 0, cached = 0; |
| 49 | unsigned long flags; | ||
| 49 | struct page *page; | 50 | struct page *page; |
| 51 | pg_data_t *pgdat; | ||
| 50 | 52 | ||
| 51 | printk("Mem-info:\n"); | 53 | printk("Mem-info:\n"); |
| 52 | show_free_areas(); | 54 | show_free_areas(); |
| 53 | i = max_mapnr; | 55 | for_each_online_pgdat(pgdat) { |
| 54 | while (i-- > 0) { | 56 | pgdat_resize_lock(pgdat, &flags); |
| 55 | if (!pfn_valid(i)) | 57 | for (i = 0; i < pgdat->node_spanned_pages; i++) { |
| 56 | continue; | 58 | if (!pfn_valid(pgdat->node_start_pfn + i)) |
| 57 | page = pfn_to_page(i); | 59 | continue; |
| 58 | total++; | 60 | page = pfn_to_page(pgdat->node_start_pfn + i); |
| 59 | if (PageReserved(page)) | 61 | total++; |
| 60 | reserved++; | 62 | if (PageReserved(page)) |
| 61 | else if (PageSwapCache(page)) | 63 | reserved++; |
| 62 | cached++; | 64 | else if (PageSwapCache(page)) |
| 63 | else if (page_count(page)) | 65 | cached++; |
| 64 | shared += page_count(page) - 1; | 66 | else if (page_count(page)) |
| 67 | shared += page_count(page) - 1; | ||
| 68 | } | ||
| 69 | pgdat_resize_unlock(pgdat, &flags); | ||
| 65 | } | 70 | } |
| 66 | printk("%d pages of RAM\n", total); | 71 | printk("%ld pages of RAM\n", total); |
| 67 | printk("%d reserved pages\n", reserved); | 72 | printk("%ld reserved pages\n", reserved); |
| 68 | printk("%d pages shared\n", shared); | 73 | printk("%ld pages shared\n", shared); |
| 69 | printk("%d pages swap cached\n", cached); | 74 | printk("%ld pages swap cached\n", cached); |
| 70 | |||
| 71 | printk("%lu pages dirty\n", global_page_state(NR_FILE_DIRTY)); | ||
| 72 | printk("%lu pages writeback\n", global_page_state(NR_WRITEBACK)); | ||
| 73 | printk("%lu pages mapped\n", global_page_state(NR_FILE_MAPPED)); | ||
| 74 | printk("%lu pages slab\n", | ||
| 75 | global_page_state(NR_SLAB_RECLAIMABLE) + | ||
| 76 | global_page_state(NR_SLAB_UNRECLAIMABLE)); | ||
| 77 | printk("%lu pages pagetables\n", global_page_state(NR_PAGETABLE)); | ||
| 78 | } | 75 | } |
| 79 | 76 | ||
| 80 | /* | 77 | /* |
diff --git a/arch/s390/mm/vmem.c b/arch/s390/mm/vmem.c index ea2804808f39..f591188fa2c0 100644 --- a/arch/s390/mm/vmem.c +++ b/arch/s390/mm/vmem.c | |||
| @@ -27,12 +27,19 @@ struct memory_segment { | |||
| 27 | 27 | ||
| 28 | static LIST_HEAD(mem_segs); | 28 | static LIST_HEAD(mem_segs); |
| 29 | 29 | ||
| 30 | static pud_t *vmem_pud_alloc(void) | 30 | static void __ref *vmem_alloc_pages(unsigned int order) |
| 31 | { | ||
| 32 | if (slab_is_available()) | ||
| 33 | return (void *)__get_free_pages(GFP_KERNEL, order); | ||
| 34 | return alloc_bootmem_pages((1 << order) * PAGE_SIZE); | ||
| 35 | } | ||
| 36 | |||
| 37 | static inline pud_t *vmem_pud_alloc(void) | ||
| 31 | { | 38 | { |
| 32 | pud_t *pud = NULL; | 39 | pud_t *pud = NULL; |
| 33 | 40 | ||
| 34 | #ifdef CONFIG_64BIT | 41 | #ifdef CONFIG_64BIT |
| 35 | pud = vmemmap_alloc_block(PAGE_SIZE * 4, 0); | 42 | pud = vmem_alloc_pages(2); |
| 36 | if (!pud) | 43 | if (!pud) |
| 37 | return NULL; | 44 | return NULL; |
| 38 | clear_table((unsigned long *) pud, _REGION3_ENTRY_EMPTY, PAGE_SIZE * 4); | 45 | clear_table((unsigned long *) pud, _REGION3_ENTRY_EMPTY, PAGE_SIZE * 4); |
| @@ -40,12 +47,12 @@ static pud_t *vmem_pud_alloc(void) | |||
| 40 | return pud; | 47 | return pud; |
| 41 | } | 48 | } |
| 42 | 49 | ||
| 43 | static pmd_t *vmem_pmd_alloc(void) | 50 | static inline pmd_t *vmem_pmd_alloc(void) |
| 44 | { | 51 | { |
| 45 | pmd_t *pmd = NULL; | 52 | pmd_t *pmd = NULL; |
| 46 | 53 | ||
| 47 | #ifdef CONFIG_64BIT | 54 | #ifdef CONFIG_64BIT |
| 48 | pmd = vmemmap_alloc_block(PAGE_SIZE * 4, 0); | 55 | pmd = vmem_alloc_pages(2); |
| 49 | if (!pmd) | 56 | if (!pmd) |
| 50 | return NULL; | 57 | return NULL; |
| 51 | clear_table((unsigned long *) pmd, _SEGMENT_ENTRY_EMPTY, PAGE_SIZE * 4); | 58 | clear_table((unsigned long *) pmd, _SEGMENT_ENTRY_EMPTY, PAGE_SIZE * 4); |
| @@ -207,13 +214,14 @@ int __meminit vmemmap_populate(struct page *start, unsigned long nr, int node) | |||
| 207 | if (pte_none(*pt_dir)) { | 214 | if (pte_none(*pt_dir)) { |
| 208 | unsigned long new_page; | 215 | unsigned long new_page; |
| 209 | 216 | ||
| 210 | new_page =__pa(vmemmap_alloc_block(PAGE_SIZE, 0)); | 217 | new_page =__pa(vmem_alloc_pages(0)); |
| 211 | if (!new_page) | 218 | if (!new_page) |
| 212 | goto out; | 219 | goto out; |
| 213 | pte = pfn_pte(new_page >> PAGE_SHIFT, PAGE_KERNEL); | 220 | pte = pfn_pte(new_page >> PAGE_SHIFT, PAGE_KERNEL); |
| 214 | *pt_dir = pte; | 221 | *pt_dir = pte; |
| 215 | } | 222 | } |
| 216 | } | 223 | } |
| 224 | memset(start, 0, nr * sizeof(struct page)); | ||
| 217 | ret = 0; | 225 | ret = 0; |
| 218 | out: | 226 | out: |
| 219 | flush_tlb_kernel_range(start_addr, end_addr); | 227 | flush_tlb_kernel_range(start_addr, end_addr); |
diff --git a/arch/x86/lguest/boot.c b/arch/x86/lguest/boot.c index af65b2da3ba0..5c7e2fd52075 100644 --- a/arch/x86/lguest/boot.c +++ b/arch/x86/lguest/boot.c | |||
| @@ -582,8 +582,9 @@ static void __init lguest_init_IRQ(void) | |||
| 582 | int vector = FIRST_EXTERNAL_VECTOR + i; | 582 | int vector = FIRST_EXTERNAL_VECTOR + i; |
| 583 | if (vector != SYSCALL_VECTOR) { | 583 | if (vector != SYSCALL_VECTOR) { |
| 584 | set_intr_gate(vector, interrupt[i]); | 584 | set_intr_gate(vector, interrupt[i]); |
| 585 | set_irq_chip_and_handler(i, &lguest_irq_controller, | 585 | set_irq_chip_and_handler_name(i, &lguest_irq_controller, |
| 586 | handle_level_irq); | 586 | handle_level_irq, |
| 587 | "level"); | ||
| 587 | } | 588 | } |
| 588 | } | 589 | } |
| 589 | /* This call is required to set up for 4k stacks, where we have | 590 | /* This call is required to set up for 4k stacks, where we have |
