···214214 The interaction of the iflag bits is as follows (parity error215215 given as an example):216216 Parity error INPCK IGNPAR217217- None n/a n/a character received218218- Yes n/a 0 character discarded219219- Yes 0 1 character received, marked as217217+ n/a 0 n/a character received, marked as220218 TTY_NORMAL221221- Yes 1 1 character received, marked as219219+ None 1 n/a character received, marked as220220+ TTY_NORMAL221221+ Yes 1 0 character received, marked as222222 TTY_PARITY223223+ Yes 1 1 character discarded223224224225 Other flags may be used (eg, xon/xoff characters) if your225226 hardware supports hardware "soft" flow control.
···11VERSION = 222PATCHLEVEL = 633SUBLEVEL = 1744-EXTRAVERSION =-rc555-NAME=Lordi Rules44+EXTRAVERSION =-rc655+NAME=Crazed Snow-Weasel6677# *DOCUMENTATION*88# To see a list of typical targets execute "make help"
···9494 if (cpuid != boot_cpuid) {9595 flags |= 0x00040000UL; /* "remain halted" */9696 *pflags = flags;9797- clear_bit(cpuid, &cpu_present_mask);9797+ cpu_clear(cpuid, cpu_present_map);9898 halt();9999 }100100#endif···120120121121#ifdef CONFIG_SMP122122 /* Wait for the secondaries to halt. */123123- cpu_clear(boot_cpuid, cpu_possible_map);124124- while (cpus_weight(cpu_possible_map))123123+ cpu_clear(boot_cpuid, cpu_present_map);124124+ while (cpus_weight(cpu_present_map))125125 barrier();126126#endif127127
+4-10
arch/alpha/kernel/smp.c
···6868static int smp_secondary_alive __initdata = 0;69697070/* Which cpus ids came online. */7171-cpumask_t cpu_present_mask;7271cpumask_t cpu_online_map;73727473EXPORT_SYMBOL(cpu_online_map);···438439 if ((cpu->flags & 0x1cc) == 0x1cc) {439440 smp_num_probed++;440441 /* Assume here that "whami" == index */441441- cpu_set(i, cpu_present_mask);442442+ cpu_set(i, cpu_present_map);442443 cpu->pal_revision = boot_cpu_palrev;443444 }444445···449450 }450451 } else {451452 smp_num_probed = 1;452452- cpu_set(boot_cpuid, cpu_present_mask);453453 }454454455455- printk(KERN_INFO "SMP: %d CPUs probed -- cpu_present_mask = %lx\n",456456- smp_num_probed, cpu_possible_map.bits[0]);455455+ printk(KERN_INFO "SMP: %d CPUs probed -- cpu_present_map = %lx\n",456456+ smp_num_probed, cpu_present_map.bits[0]);457457}458458459459/*···471473472474 /* Nothing to do on a UP box, or when told not to. */473475 if (smp_num_probed == 1 || max_cpus == 0) {474474- cpu_present_mask = cpumask_of_cpu(boot_cpuid);476476+ cpu_present_map = cpumask_of_cpu(boot_cpuid);475477 printk(KERN_INFO "SMP mode deactivated.\n");476478 return;477479 }···484486void __devinit485487smp_prepare_boot_cpu(void)486488{487487- /*488488- * Mark the boot cpu (current cpu) as online489489- */ 490490- cpu_set(smp_processor_id(), cpu_online_map);491489}492490493491int __devinit
+1-1
arch/alpha/kernel/sys_titan.c
···6666 register int bcpu = boot_cpuid;67676868#ifdef CONFIG_SMP6969- cpumask_t cpm = cpu_present_mask;6969+ cpumask_t cpm = cpu_present_map;7070 volatile unsigned long *dim0, *dim1, *dim2, *dim3;7171 unsigned long mask0, mask1, mask2, mask3, dummy;7272
+1-1
arch/arm/Kconfig.debug
···101101 help102102 Choice for UART for kernel low-level using S3C2410 UARTS,103103 should be between zero and two. The port must have been104104- initalised by the boot-loader before use.104104+ initialised by the boot-loader before use.105105106106 The uncompressor code port configuration is now handled107107 by CONFIG_S3C2410_LOWLEVEL_UART_PORT.
+15-3
arch/arm/mach-ixp23xx/core.c
···178178179179static void ixp23xx_irq_mask(unsigned int irq)180180{181181- volatile unsigned long *intr_reg = IXP23XX_INTR_EN1 + (irq / 32);181181+ volatile unsigned long *intr_reg;182182183183+ if (irq >= 56)184184+ irq += 8;185185+186186+ intr_reg = IXP23XX_INTR_EN1 + (irq / 32);183187 *intr_reg &= ~(1 << (irq % 32));184188}185189···203199 */204200static void ixp23xx_irq_level_unmask(unsigned int irq)205201{206206- volatile unsigned long *intr_reg = IXP23XX_INTR_EN1 + (irq / 32);202202+ volatile unsigned long *intr_reg;207203208204 ixp23xx_irq_ack(irq);209205206206+ if (irq >= 56)207207+ irq += 8;208208+209209+ intr_reg = IXP23XX_INTR_EN1 + (irq / 32);210210 *intr_reg |= (1 << (irq % 32));211211}212212213213static void ixp23xx_irq_edge_unmask(unsigned int irq)214214{215215- volatile unsigned long *intr_reg = IXP23XX_INTR_EN1 + (irq / 32);215215+ volatile unsigned long *intr_reg;216216217217+ if (irq >= 56)218218+ irq += 8;219219+220220+ intr_reg = IXP23XX_INTR_EN1 + (irq / 32);217221 *intr_reg |= (1 << (irq % 32));218222}219223
+1-1
arch/arm/mach-ixp4xx/Kconfig
···141141 2) If > 64MB of memory space is required, the IXP4xx can be 142142 configured to use indirect registers to access PCI This allows 143143 for up to 128MB (0x48000000 to 0x4fffffff) of memory on the bus. 144144- The disadvantadge of this is that every PCI access requires 144144+ The disadvantage of this is that every PCI access requires 145145 three local register accesses plus a spinlock, but in some 146146 cases the performance hit is acceptable. In addition, you cannot 147147 mmap() PCI devices in this case due to the indirect nature
···170170 depends on ARCH_S3C2410 && PM171171 help172172 Say Y here if you want verbose debugging from the PM Suspend and173173- Resume code. See `Documentation/arm/Samsing-S3C24XX/Suspend.txt`173173+ Resume code. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>174174 for more information.175175176176config S3C2410_PM_CHECK
+2-2
arch/arm/mm/mm-armv.c
···376376 ecc_mask = 0;377377 }378378379379- if (cpu_arch <= CPU_ARCH_ARMv5TEJ) {379379+ if (cpu_arch <= CPU_ARCH_ARMv5TEJ && !cpu_is_xscale()) {380380 for (i = 0; i < ARRAY_SIZE(mem_types); i++) {381381 if (mem_types[i].prot_l1)382382 mem_types[i].prot_l1 |= PMD_BIT4;···631631 pgd = init_mm.pgd;632632633633 base_pmdval = PMD_SECT_AP_WRITE | PMD_SECT_AP_READ | PMD_TYPE_SECT;634634- if (cpu_architecture() <= CPU_ARCH_ARMv5TEJ)634634+ if (cpu_architecture() <= CPU_ARCH_ARMv5TEJ && !cpu_is_xscale())635635 base_pmdval |= PMD_BIT4;636636637637 for (i = 0; i < FIRST_USER_PGD_NR + USER_PTRS_PER_PGD; i++, pgd++) {
···9393 int i;9494 for (i = 0; apic_probe[i]; ++i) { 9595 if (apic_probe[i]->mps_oem_check(mpc,oem,productid)) { 9696- genapic = apic_probe[i];9797- printk(KERN_INFO "Switched to APIC driver `%s'.\n", 9898- genapic->name);9696+ if (!cmdline_apic) {9797+ genapic = apic_probe[i];9898+ printk(KERN_INFO "Switched to APIC driver `%s'.\n",9999+ genapic->name);100100+ }99101 return 1;100102 } 101103 } ···109107 int i;110108 for (i = 0; apic_probe[i]; ++i) { 111109 if (apic_probe[i]->acpi_madt_oem_check(oem_id, oem_table_id)) { 112112- genapic = apic_probe[i];113113- printk(KERN_INFO "Switched to APIC driver `%s'.\n", 114114- genapic->name);110110+ if (!cmdline_apic) {111111+ genapic = apic_probe[i];112112+ printk(KERN_INFO "Switched to APIC driver `%s'.\n",113113+ genapic->name);114114+ }115115 return 1;116116 } 117117 }
+47-49
arch/mips/Kconfig
···1313 default SGI_IP2214141515config MIPS_MTX11616- bool "Support for 4G Systems MTX-1 board"1616+ bool "4G Systems MTX-1 board"1717 select DMA_NONCOHERENT1818 select HW_HAS_PCI1919 select SOC_AU1500···120120 select SYS_SUPPORTS_LITTLE_ENDIAN121121122122config MIPS_COBALT123123- bool "Support for Cobalt Server"123123+ bool "Cobalt Server"124124 select DMA_NONCOHERENT125125 select HW_HAS_PCI126126 select I8259···132132 select SYS_SUPPORTS_LITTLE_ENDIAN133133134134config MACH_DECSTATION135135- bool "Support for DECstations"135135+ bool "DECstations"136136 select BOOT_ELF32137137 select DMA_NONCOHERENT138138 select EARLY_PRINTK···158158 otherwise choose R3000.159159160160config MIPS_EV64120161161- bool "Support for Galileo EV64120 Evaluation board (EXPERIMENTAL)"161161+ bool "Galileo EV64120 Evaluation board (EXPERIMENTAL)"162162 depends on EXPERIMENTAL163163 select DMA_NONCOHERENT164164 select HW_HAS_PCI···175175 kernel for this platform.176176177177config MIPS_EV96100178178- bool "Support for Galileo EV96100 Evaluation board (EXPERIMENTAL)"178178+ bool "Galileo EV96100 Evaluation board (EXPERIMENTAL)"179179 depends on EXPERIMENTAL180180 select DMA_NONCOHERENT181181 select HW_HAS_PCI···195195 here if you wish to build a kernel for this platform.196196197197config MIPS_IVR198198- bool "Support for Globespan IVR board"198198+ bool "Globespan IVR board"199199 select DMA_NONCOHERENT200200 select HW_HAS_PCI201201 select ITE_BOARD_GEN···211211 build a kernel for this platform.212212213213config MIPS_ITE8172214214- bool "Support for ITE 8172G board"214214+ bool "ITE 8172G board"215215 select DMA_NONCOHERENT216216 select HW_HAS_PCI217217 select ITE_BOARD_GEN···228228 a kernel for this platform.229229230230config MACH_JAZZ231231- bool "Support for the Jazz family of machines"231231+ bool "Jazz family of machines"232232 select ARC233233 select ARC32234234 select ARCH_MAY_HAVE_PC_FDC···246246 Olivetti M700-10 workstations.247247248248config LASAT249249- bool "Support for LASAT Networks platforms"249249+ bool "LASAT Networks platforms"250250 select DMA_NONCOHERENT251251 select HW_HAS_PCI252252 select MIPS_GT64120···258258 select SYS_SUPPORTS_LITTLE_ENDIAN259259260260config MIPS_ATLAS261261- bool "Support for MIPS Atlas board"261261+ bool "MIPS Atlas board"262262 select BOOT_ELF32263263 select DMA_NONCOHERENT264264 select IRQ_CPU···283283 board.284284285285config MIPS_MALTA286286- bool "Support for MIPS Malta board"286286+ bool "MIPS Malta board"287287 select ARCH_MAY_HAVE_PC_FDC288288 select BOOT_ELF32289289 select HAVE_STD_PC_SERIAL_PORT···311311 board.312312313313config MIPS_SEAD314314- bool "Support for MIPS SEAD board (EXPERIMENTAL)"314314+ bool "MIPS SEAD board (EXPERIMENTAL)"315315 depends on EXPERIMENTAL316316 select IRQ_CPU317317 select DMA_NONCOHERENT···328328 board.329329330330config MIPS_SIM331331- bool 'Support for MIPS simulator (MIPSsim)'331331+ bool 'MIPS simulator (MIPSsim)'332332 select DMA_NONCOHERENT333333 select IRQ_CPU334334 select SYS_HAS_CPU_MIPS32_R1···341341 emulator.342342343343config MOMENCO_JAGUAR_ATX344344- bool "Support for Momentum Jaguar board"344344+ bool "Momentum Jaguar board"345345 select BOOT_ELF32346346 select DMA_NONCOHERENT347347 select HW_HAS_PCI···361361 Momentum Computer <http://www.momenco.com/>.362362363363config MOMENCO_OCELOT364364- bool "Support for Momentum Ocelot board"364364+ bool "Momentum Ocelot board"365365 select DMA_NONCOHERENT366366 select HW_HAS_PCI367367 select IRQ_CPU···378378 Momentum Computer <http://www.momenco.com/>.379379380380config MOMENCO_OCELOT_3381381- bool "Support for Momentum Ocelot-3 board"381381+ bool "Momentum Ocelot-3 board"382382 select BOOT_ELF32383383 select DMA_NONCOHERENT384384 select HW_HAS_PCI···397397 PMC-Sierra Rm79000 core.398398399399config MOMENCO_OCELOT_C400400- bool "Support for Momentum Ocelot-C board"400400+ bool "Momentum Ocelot-C board"401401 select DMA_NONCOHERENT402402 select HW_HAS_PCI403403 select IRQ_CPU···414414 Momentum Computer <http://www.momenco.com/>.415415416416config MOMENCO_OCELOT_G417417- bool "Support for Momentum Ocelot-G board"417417+ bool "Momentum Ocelot-G board"418418 select DMA_NONCOHERENT419419 select HW_HAS_PCI420420 select IRQ_CPU···431431 Momentum Computer <http://www.momenco.com/>.432432433433config MIPS_XXS1500434434- bool "Support for MyCable XXS1500 board"434434+ bool "MyCable XXS1500 board"435435 select DMA_NONCOHERENT436436 select SOC_AU1500437437 select SYS_SUPPORTS_LITTLE_ENDIAN438438439439config PNX8550_V2PCI440440- bool "Support for Philips PNX8550 based Viper2-PCI board"440440+ bool "Philips PNX8550 based Viper2-PCI board"441441 select PNX8550442442 select SYS_SUPPORTS_LITTLE_ENDIAN443443444444config PNX8550_JBS445445- bool "Support for Philips PNX8550 based JBS board"445445+ bool "Philips PNX8550 based JBS board"446446 select PNX8550447447 select SYS_SUPPORTS_LITTLE_ENDIAN448448449449config DDB5074450450- bool "Support for NEC DDB Vrc-5074 (EXPERIMENTAL)"450450+ bool "NEC DDB Vrc-5074 (EXPERIMENTAL)"451451 depends on EXPERIMENTAL452452 select DDB5XXX_COMMON453453 select DMA_NONCOHERENT···465465 evaluation board.466466467467config DDB5476468468- bool "Support for NEC DDB Vrc-5476"468468+ bool "NEC DDB Vrc-5476"469469 select DDB5XXX_COMMON470470 select DMA_NONCOHERENT471471 select HAVE_STD_PC_SERIAL_PORT···486486 IDE controller, PS2 keyboard, PS2 mouse, etc.487487488488config DDB5477489489- bool "Support for NEC DDB Vrc-5477"489489+ bool "NEC DDB Vrc-5477"490490 select DDB5XXX_COMMON491491 select DMA_NONCOHERENT492492 select HW_HAS_PCI···504504 ether port USB, AC97, PCI, etc.505505506506config MACH_VR41XX507507- bool "Support for NEC VR4100 series based machines"507507+ bool "NEC VR41XX-based machines"508508 select SYS_HAS_CPU_VR41XX509509 select SYS_SUPPORTS_32BIT_KERNEL510510 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL511511512512config PMC_YOSEMITE513513- bool "Support for PMC-Sierra Yosemite eval board"513513+ bool "PMC-Sierra Yosemite eval board"514514 select DMA_COHERENT515515 select HW_HAS_PCI516516 select IRQ_CPU···527527 manufactured by PMC-Sierra.528528529529config QEMU530530- bool "Support for Qemu"530530+ bool "Qemu"531531 select DMA_COHERENT532532 select GENERIC_ISA_DMA533533 select HAVE_STD_PC_SERIAL_PORT···547547 can be found at http://www.linux-mips.org/wiki/Qemu.548548549549config SGI_IP22550550- bool "Support for SGI IP22 (Indy/Indigo2)"550550+ bool "SGI IP22 (Indy/Indigo2)"551551 select ARC552552 select ARC32553553 select BOOT_ELF32···567567 that runs on these, say Y here.568568569569config SGI_IP27570570- bool "Support for SGI IP27 (Origin200/2000)"570570+ bool "SGI IP27 (Origin200/2000)"571571 select ARC572572 select ARC64573573 select BOOT_ELF64···583583 here.584584585585config SGI_IP32586586- bool "Support for SGI IP32 (O2) (EXPERIMENTAL)"586586+ bool "SGI IP32 (O2) (EXPERIMENTAL)"587587 depends on EXPERIMENTAL588588 select ARC589589 select ARC32···604604 If you want this kernel to run on SGI O2 workstation, say Y here.605605606606config SIBYTE_BIGSUR607607- bool "Support for Sibyte BCM91480B-BigSur"607607+ bool "Sibyte BCM91480B-BigSur"608608 select BOOT_ELF32609609 select DMA_COHERENT610610 select PCI_DOMAINS···615615 select SYS_SUPPORTS_LITTLE_ENDIAN616616617617config SIBYTE_SWARM618618- bool "Support for Sibyte BCM91250A-SWARM"618618+ bool "Sibyte BCM91250A-SWARM"619619 select BOOT_ELF32620620 select DMA_COHERENT621621 select SIBYTE_SB1250···626626 select SYS_SUPPORTS_LITTLE_ENDIAN627627628628config SIBYTE_SENTOSA629629- bool "Support for Sibyte BCM91250E-Sentosa"629629+ bool "Sibyte BCM91250E-Sentosa"630630 depends on EXPERIMENTAL631631 select BOOT_ELF32632632 select DMA_COHERENT···637637 select SYS_SUPPORTS_LITTLE_ENDIAN638638639639config SIBYTE_RHONE640640- bool "Support for Sibyte BCM91125E-Rhone"640640+ bool "Sibyte BCM91125E-Rhone"641641 depends on EXPERIMENTAL642642 select BOOT_ELF32643643 select DMA_COHERENT···648648 select SYS_SUPPORTS_LITTLE_ENDIAN649649650650config SIBYTE_CARMEL651651- bool "Support for Sibyte BCM91120x-Carmel"651651+ bool "Sibyte BCM91120x-Carmel"652652 depends on EXPERIMENTAL653653 select BOOT_ELF32654654 select DMA_COHERENT···659659 select SYS_SUPPORTS_LITTLE_ENDIAN660660661661config SIBYTE_PTSWARM662662- bool "Support for Sibyte BCM91250PT-PTSWARM"662662+ bool "Sibyte BCM91250PT-PTSWARM"663663 depends on EXPERIMENTAL664664 select BOOT_ELF32665665 select DMA_COHERENT···671671 select SYS_SUPPORTS_LITTLE_ENDIAN672672673673config SIBYTE_LITTLESUR674674- bool "Support for Sibyte BCM91250C2-LittleSur"674674+ bool "Sibyte BCM91250C2-LittleSur"675675 depends on EXPERIMENTAL676676 select BOOT_ELF32677677 select DMA_COHERENT···683683 select SYS_SUPPORTS_LITTLE_ENDIAN684684685685config SIBYTE_CRHINE686686- bool "Support for Sibyte BCM91120C-CRhine"686686+ bool "Sibyte BCM91120C-CRhine"687687 depends on EXPERIMENTAL688688 select BOOT_ELF32689689 select DMA_COHERENT···694694 select SYS_SUPPORTS_LITTLE_ENDIAN695695696696config SIBYTE_CRHONE697697- bool "Support for Sibyte BCM91125C-CRhone"697697+ bool "Sibyte BCM91125C-CRhone"698698 depends on EXPERIMENTAL699699 select BOOT_ELF32700700 select DMA_COHERENT···706706 select SYS_SUPPORTS_LITTLE_ENDIAN707707708708config SNI_RM200_PCI709709- bool "Support for SNI RM200 PCI"709709+ bool "SNI RM200 PCI"710710 select ARC711711 select ARC32712712 select ARCH_MAY_HAVE_PC_FDC···732732 support this machine type.733733734734config TOSHIBA_JMR3927735735- bool "Support for Toshiba JMR-TX3927 board"735735+ bool "Toshiba JMR-TX3927 board"736736 select DMA_NONCOHERENT737737 select HW_HAS_PCI738738 select MIPS_TX3927···743743 select TOSHIBA_BOARDS744744745745config TOSHIBA_RBTX4927746746- bool "Support for Toshiba TBTX49[23]7 board"746746+ bool "Toshiba TBTX49[23]7 board"747747 select DMA_NONCOHERENT748748 select HAS_TXX9_SERIAL749749 select HW_HAS_PCI···760760 support this machine type761761762762config TOSHIBA_RBTX4938763763- bool "Support for Toshiba RBTX4938 board"763763+ bool "Toshiba RBTX4938 board"764764 select HAVE_STD_PC_SERIAL_PORT765765 select DMA_NONCOHERENT766766 select GENERIC_ISA_DMA···1411141114121412config PAGE_SIZE_16KB14131413 bool "16kB"14141414- depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX14141414+ depends on !CPU_R3000 && !CPU_TX39XX14151415 help14161416 Using 16kB page size will result in higher performance kernel at14171417 the price of higher memory consumption. This option is available on14181418- all non-R3000 family processor. Not that at the time of this14191419- writing this option is still high experimental; there are also14201420- issues with compatibility of user applications.14181418+ all non-R3000 family processors. Note that you will need a suitable14191419+ Linux distribution to support this.1421142014221421config PAGE_SIZE_64KB14231422 bool "64kB"···14251426 Using 64kB page size will result in higher performance kernel at14261427 the price of higher memory consumption. This option is available on14271428 all non-R3000 family processor. Not that at the time of this14281428- writing this option is still high experimental; there are also14291429- issues with compatibility of user applications.14291429+ writing this option is still high experimental.1430143014311431endchoice14321432
+1
arch/mips/au1000/common/irq.c
···68686969extern void set_debug_traps(void);7070extern irq_cpustat_t irq_stat [NR_CPUS];7171+extern void mips_timer_interrupt(struct pt_regs *regs);71727273static void setup_local_irq(unsigned int irq, int type, int int_req);7374static unsigned int startup_irq(unsigned int irq);
+9-15
arch/mips/au1000/common/prom.c
···11/*22 *33 * BRIEF MODULE DESCRIPTION44- * PROM library initialisation code, assuming a version of55- * pmon is the boot code.44+ * PROM library initialisation code, assuming YAMON is the boot loader.65 *77- * Copyright 2000,2001 MontaVista Software Inc.66+ * Copyright 2000, 2001, 2006 MontaVista Software Inc.87 * Author: MontaVista Software, Inc.98 * ppopov@mvista.com or source@mvista.com109 *···48494950typedef struct5051{5151- char *name;5252-/* char *val; */5353-}t_env_var;5252+ char *name;5353+ char *val;5454+} t_env_var;545555565657char * prom_getcmdline(void)···8485{8586 /*8687 * Return a pointer to the given environment variable.8787- * Environment variables are stored in the form of "memsize=64".8888 */89899090 t_env_var *env = (t_env_var *)prom_envp;9191- int i;92919393- i = strlen(envname);9494-9595- while(env->name) {9696- if(strncmp(envname, env->name, i) == 0) {9797- return(env->name + strlen(envname) + 1);9898- }9292+ while (env->name) {9393+ if (strcmp(envname, env->name) == 0)9494+ return env->val;9995 env++;10096 }101101- return(NULL);9797+ return NULL;10298}10399104100inline unsigned char str2hexnum(unsigned char c)
+5
arch/mips/au1000/common/sleeper.S
···112112 mtc0 k0, CP0_PAGEMASK113113 lw k0, 0x14(sp)114114 mtc0 k0, CP0_CONFIG115115+116116+ /* We need to catch the ealry Alchemy SOCs with117117+ * the write-only Config[OD] bit and set it back to one...118118+ */119119+ jal au1x00_fixup_config_od115120 lw $1, PT_R1(sp)116121 lw $2, PT_R2(sp)117122 lw $3, PT_R3(sp)
···8686 /* disable interrupts */8787 UART16550_WRITE(OFS_INTR_ENABLE, 0);88888989- /* set up buad rate */8989+ /* set up baud rate */9090 {9191 uint32 divisor;9292
+1-1
arch/mips/ddb5xxx/ddb5477/kgdb_io.c
···8686 /* disable interrupts */8787 UART16550_WRITE(OFS_INTR_ENABLE, 0);88888989- /* set up buad rate */8989+ /* set up baud rate */9090 {9191 uint32 divisor;9292
+1-1
arch/mips/gt64120/ev64120/serialGT.c
···149149#else150150 /*151151 * Note: Set baud rate, hardcoded here for rate of 115200152152- * since became unsure of above "buad rate" algorithm (??).152152+ * since became unsure of above "baud rate" algorithm (??).153153 */154154 outreg(channel, LCR, 0x83);155155 outreg(channel, DLM, 0x00); // See note above
+1-1
arch/mips/gt64120/momenco_ocelot/dbg_io.c
···7373 /* disable interrupts */7474 UART16550_WRITE(OFS_INTR_ENABLE, 0);75757676- /* set up buad rate */7676+ /* set up baud rate */7777 {7878 uint32 divisor;7979
+1-1
arch/mips/ite-boards/generic/dbg_io.c
···7272 /* disable interrupts */7373 UART16550_WRITE(OFS_INTR_ENABLE, 0);74747575- /* set up buad rate */7575+ /* set up baud rate */7676 {7777 uint32 divisor;7878
···121121 case CPU_24K:122122 case CPU_25KF:123123 case CPU_34K:124124+ case CPU_74K:124125 case CPU_PR4450:125126 cpu_wait = r4k_wait;126127 printk(" available.\n");···433432 MIPS_CPU_LLSC;434433 c->tlbsize = 64;435434 break;435435+ case PRID_IMP_R14000:436436+ c->cputype = CPU_R14000;437437+ c->isa_level = MIPS_CPU_ISA_IV;438438+ c->options = MIPS_CPU_TLB | MIPS_CPU_4K_CACHE | MIPS_CPU_4KEX |439439+ MIPS_CPU_FPU | MIPS_CPU_32FPR |440440+ MIPS_CPU_COUNTER | MIPS_CPU_WATCH |441441+ MIPS_CPU_LLSC;442442+ c->tlbsize = 64;443443+ break;436444 }437445}438446···603593 case PRID_IMP_34K:604594 c->cputype = CPU_34K;605595 break;596596+ case PRID_IMP_74K:597597+ c->cputype = CPU_74K;598598+ break;606599 }607600}608601···655642 case PRID_IMP_SB1:656643 c->cputype = CPU_SB1;657644 /* FPU in pass1 is known to have issues. */658658- if ((c->processor_id & 0xff) < 0x20)645645+ if ((c->processor_id & 0xff) < 0x02)659646 c->options &= ~(MIPS_CPU_FPU | MIPS_CPU_32FPR);660647 break;661648 case PRID_IMP_SB1A:
+1-1
arch/mips/kernel/entry.S
···101101 EMT1021021:103103 mfc0 v1, CP0_TCSTATUS104104- /* We set IXMT above, XOR should cler it here */104104+ /* We set IXMT above, XOR should clear it here */105105 xori v1, v1, TCSTATUS_IXMT106106 or v1, v0, v1107107 mtc0 v1, CP0_TCSTATUS
···247247 current_thread_info()->cpu = 0;248248 smp_tune_scheduling();249249 plat_prepare_cpus(max_cpus);250250+#ifndef CONFIG_HOTPLUG_CPU251251+ cpu_present_map = cpu_possible_map;252252+#endif250253}251254252255/* preload SMP state for boot cpu */···445442 int cpu;446443 int ret;447444448448- for_each_cpu(cpu) {445445+ for_each_present_cpu(cpu) {449446 ret = register_cpu(&per_cpu(cpu_devices, cpu), cpu, NULL);450447 if (ret)451448 printk(KERN_WARNING "topology_init: register_cpu %d "
+1-26
arch/mips/kernel/syscall.c
···276276277277asmlinkage int _sys_sysmips(int cmd, long arg1, int arg2, int arg3)278278{279279- int tmp, len;280280- char __user *name;279279+ int tmp;281280282281 switch(cmd) {283283- case SETNAME: {284284- char nodename[__NEW_UTS_LEN + 1];285285-286286- if (!capable(CAP_SYS_ADMIN))287287- return -EPERM;288288-289289- name = (char __user *) arg1;290290-291291- len = strncpy_from_user(nodename, name, __NEW_UTS_LEN);292292- if (len < 0)293293- return -EFAULT;294294-295295- down_write(&uts_sem);296296- strncpy(system_utsname.nodename, nodename, len);297297- nodename[__NEW_UTS_LEN] = '\0';298298- strlcpy(system_utsname.nodename, nodename,299299- sizeof(system_utsname.nodename));300300- up_write(&uts_sem);301301- return 0;302302- }303303-304282 case MIPS_ATOMIC_SET:305283 printk(KERN_CRIT "How did I get here?\n");306284 return -EINVAL;···291313 case FLUSH_CACHE:292314 __flush_cache_all();293315 return 0;294294-295295- case MIPS_RDNVRAM:296296- return -EIO;297316 }298317299318 return -EINVAL;
+18-2
arch/mips/kernel/traps.c
···819819820820asmlinkage void do_mcheck(struct pt_regs *regs)821821{822822+ const int field = 2 * sizeof(unsigned long);823823+ int multi_match = regs->cp0_status & ST0_TS;824824+822825 show_regs(regs);823823- dump_tlb_all();826826+827827+ if (multi_match) {828828+ printk("Index : %0x\n", read_c0_index());829829+ printk("Pagemask: %0x\n", read_c0_pagemask());830830+ printk("EntryHi : %0*lx\n", field, read_c0_entryhi());831831+ printk("EntryLo0: %0*lx\n", field, read_c0_entrylo0());832832+ printk("EntryLo1: %0*lx\n", field, read_c0_entrylo1());833833+ printk("\n");834834+ dump_tlb_all();835835+ }836836+837837+ show_code((unsigned int *) regs->cp0_epc);838838+824839 /*825840 * Some chips may have other causes of machine check (e.g. SB1826841 * graduation timer)827842 */828843 panic("Caught Machine Check exception - %scaused by multiple "829844 "matching entries in the TLB.",830830- (regs->cp0_status & ST0_TS) ? "" : "not ");845845+ (multi_match) ? "" : "not ");831846}832847833848asmlinkage void do_mt(struct pt_regs *regs)···917902{918903 switch (current_cpu_data.cputype) {919904 case CPU_24K:905905+ case CPU_34K:920906 case CPU_5KC:921907 write_c0_ecc(0x80000000);922908 back_to_back_c0_hazard();
+5-15
arch/mips/kernel/vmlinux.lds.S
···151151152152 /* This is the MIPS specific mdebug section. */153153 .mdebug : { *(.mdebug) }154154- /* These are needed for ELF backends which have not yet been155155- converted to the new style linker. */156156- .stab 0 : { *(.stab) }157157- .stabstr 0 : { *(.stabstr) }158158- /* DWARF debug sections.159159- Symbols in the .debug DWARF section are relative to the beginning of the160160- section so we begin .debug at 0. It's not clear yet what needs to happen161161- for the others. */162162- .debug 0 : { *(.debug) }163163- .debug_srcinfo 0 : { *(.debug_srcinfo) }164164- .debug_aranges 0 : { *(.debug_aranges) }165165- .debug_pubnames 0 : { *(.debug_pubnames) }166166- .debug_sfnames 0 : { *(.debug_sfnames) }167167- .line 0 : { *(.line) }154154+155155+ STABS_DEBUG156156+157157+ DWARF_DEBUG158158+168159 /* These must appear regardless of . */169160 .gptab.sdata : { *(.gptab.data) *(.gptab.sdata) }170161 .gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) }171171- .comment : { *(.comment) }172162 .note : { *(.note) }173163}
···29293030ieee754sp ieee754sp_flong(s64 x)3131{3232- COMPXDP; /* <--- need 64-bit mantissa temp */3232+ u64 xm; /* <--- need 64-bit mantissa temp */3333+ int xe;3434+ int xs;33353436 CLEARCX;3537
+69-9
arch/mips/mm/c-r4k.c
···2929#include <asm/war.h>3030#include <asm/cacheflush.h> /* for run_uncached() */31313232+3333+/*3434+ * Special Variant of smp_call_function for use by cache functions:3535+ *3636+ * o No return value3737+ * o collapses to normal function call on UP kernels3838+ * o collapses to normal function call on systems with a single shared3939+ * primary cache.4040+ */4141+static inline void r4k_on_each_cpu(void (*func) (void *info), void *info,4242+ int retry, int wait)4343+{4444+ preempt_disable();4545+4646+#if !defined(CONFIG_MIPS_MT_SMP) && !defined(CONFIG_MIPS_MT_SMTC)4747+ smp_call_function(func, info, retry, wait);4848+#endif4949+ func(info);5050+ preempt_enable();5151+}5252+3253/*3354 * Must die.3455 */···320299 if (!cpu_has_dc_aliases)321300 return;322301323323- on_each_cpu(local_r4k_flush_cache_all, NULL, 1, 1);302302+ r4k_on_each_cpu(local_r4k_flush_cache_all, NULL, 1, 1);324303}325304326305static inline void local_r4k___flush_cache_all(void * args)···335314 case CPU_R4400MC:336315 case CPU_R10000:337316 case CPU_R12000:317317+ case CPU_R14000:338318 r4k_blast_scache();339319 }340320}341321342322static void r4k___flush_cache_all(void)343323{344344- on_each_cpu(local_r4k___flush_cache_all, NULL, 1, 1);324324+ r4k_on_each_cpu(local_r4k___flush_cache_all, NULL, 1, 1);345325}346326347327static inline void local_r4k_flush_cache_range(void * args)···363341static void r4k_flush_cache_range(struct vm_area_struct *vma,364342 unsigned long start, unsigned long end)365343{366366- on_each_cpu(local_r4k_flush_cache_range, vma, 1, 1);344344+ r4k_on_each_cpu(local_r4k_flush_cache_range, vma, 1, 1);367345}368346369347static inline void local_r4k_flush_cache_mm(void * args)···392370 if (!cpu_has_dc_aliases)393371 return;394372395395- on_each_cpu(local_r4k_flush_cache_mm, mm, 1, 1);373373+ r4k_on_each_cpu(local_r4k_flush_cache_mm, mm, 1, 1);396374}397375398376struct flush_cache_page_args {···483461 args.addr = addr;484462 args.pfn = pfn;485463486486- on_each_cpu(local_r4k_flush_cache_page, &args, 1, 1);464464+ r4k_on_each_cpu(local_r4k_flush_cache_page, &args, 1, 1);487465}488466489467static inline void local_r4k_flush_data_cache_page(void * addr)···493471494472static void r4k_flush_data_cache_page(unsigned long addr)495473{496496- on_each_cpu(local_r4k_flush_data_cache_page, (void *) addr, 1, 1);474474+ r4k_on_each_cpu(local_r4k_flush_data_cache_page, (void *) addr, 1, 1);497475}498476499477struct flush_icache_range_args {···536514 args.start = start;537515 args.end = end;538516539539- on_each_cpu(local_r4k_flush_icache_range, &args, 1, 1);517517+ r4k_on_each_cpu(local_r4k_flush_icache_range, &args, 1, 1);540518 instruction_hazard();541519}542520···612590 args.vma = vma;613591 args.page = page;614592615615- on_each_cpu(local_r4k_flush_icache_page, &args, 1, 1);593593+ r4k_on_each_cpu(local_r4k_flush_icache_page, &args, 1, 1);616594}617595618596···711689712690static void r4k_flush_cache_sigtramp(unsigned long addr)713691{714714- on_each_cpu(local_r4k_flush_cache_sigtramp, (void *) addr, 1, 1);692692+ r4k_on_each_cpu(local_r4k_flush_cache_sigtramp, (void *) addr, 1, 1);715693}716694717695static void r4k_flush_icache_all(void)···834812835813 case CPU_R10000:836814 case CPU_R12000:815815+ case CPU_R14000:837816 icache_size = 1 << (12 + ((config & R10K_CONF_IC) >> 29));838817 c->icache.linesz = 64;839818 c->icache.ways = 2;···988965 c->dcache.flags |= MIPS_CACHE_PINDEX;989966 case CPU_R10000:990967 case CPU_R12000:968968+ case CPU_R14000:991969 case CPU_SB1:992970 break;993971 case CPU_24K:972972+ case CPU_34K:994973 if (!(read_c0_config7() & (1 << 16)))995974 default:996975 if (c->dcache.waysize > PAGE_SIZE)···1116109111171092 case CPU_R10000:11181093 case CPU_R12000:10941094+ case CPU_R14000:11191095 scache_size = 0x80000 << ((config & R10K_CONF_SS) >> 16);11201096 c->scache.linesz = 64 << ((config >> 13) & 1);11211097 c->scache.ways = 2;···11611135 c->options |= MIPS_CPU_SUBSET_CACHES;11621136}1163113711381138+void au1x00_fixup_config_od(void)11391139+{11401140+ /*11411141+ * c0_config.od (bit 19) was write only (and read as 0)11421142+ * on the early revisions of Alchemy SOCs. It disables the bus11431143+ * transaction overlapping and needs to be set to fix various errata.11441144+ */11451145+ switch (read_c0_prid()) {11461146+ case 0x00030100: /* Au1000 DA */11471147+ case 0x00030201: /* Au1000 HA */11481148+ case 0x00030202: /* Au1000 HB */11491149+ case 0x01030200: /* Au1500 AB */11501150+ /*11511151+ * Au1100 errata actually keeps silence about this bit, so we set it11521152+ * just in case for those revisions that require it to be set according11531153+ * to arch/mips/au1000/common/cputable.c11541154+ */11551155+ case 0x02030200: /* Au1100 AB */11561156+ case 0x02030201: /* Au1100 BA */11571157+ case 0x02030202: /* Au1100 BC */11581158+ set_c0_config(1 << 19);11591159+ break;11601160+ }11611161+}11621162+11641163static inline void coherency_setup(void)11651164{11661165 change_c0_config(CONF_CM_CMASK, CONF_CM_DEFAULT);···12051154 case CPU_R4400SC:12061155 case CPU_R4400MC:12071156 clear_c0_config(CONF_CU);11571157+ break;11581158+ /*11591159+ * We need to catch the ealry Alchemy SOCs with11601160+ * the write-only co_config.od bit and set it back to one...11611161+ */11621162+ case CPU_AU1000: /* rev. DA, HA, HB */11631163+ case CPU_AU1100: /* rev. AB, BA, BC ?? */11641164+ case CPU_AU1500: /* rev. AB */11651165+ au1x00_fixup_config_od();12081166 break;12091167 }12101168}
+1-1
arch/mips/mm/init.c
···227227 for (tmp = 0; tmp < max_low_pfn; tmp++)228228 if (page_is_ram(tmp)) {229229 ram++;230230- if (PageReserved(mem_map+tmp))230230+ if (PageReserved(pfn_to_page(tmp)))231231 reservedpages++;232232 }233233
+1
arch/mips/mm/pg-r4k.c
···357357358358 case CPU_R10000:359359 case CPU_R12000:360360+ case CPU_R14000:360361 pref_src_mode = Pref_LoadStreamed;361362 pref_dst_mode = Pref_StoreStreamed;362363 break;
···3131/* issue a PIO read to make sure no PIO writes are pending */3232static void inline flush_crime_bus(void)3333{3434- volatile unsigned long junk = crime->control;3434+ crime->control;3535}36363737static void inline flush_mace_bus(void)3838{3939- volatile unsigned long junk = mace->perif.ctrl.misc;3939+ mace->perif.ctrl.misc;4040}41414242#undef DEBUG_IRQ
+12
arch/powerpc/platforms/powermac/low_i2c.c
···11571157/* some quirks for platform function decoding */11581158enum {11591159 pmac_i2c_quirk_invmask = 0x00000001u,11601160+ pmac_i2c_quirk_skip = 0x00000002u,11601161};1161116211621163static void pmac_i2c_devscan(void (*callback)(struct device_node *dev,···11731172 /* XXX Study device-tree's & apple drivers are get the quirks11741173 * right !11751174 */11751175+ /* Workaround: It seems that running the clockspreading11761176+ * properties on the eMac will cause lockups during boot.11771177+ * The machine seems to work fine without that. So for now,11781178+ * let's make sure i2c-hwclock doesn't match about "imic"11791179+ * clocks and we'll figure out if we really need to do11801180+ * something special about those later.11811181+ */11821182+ { "i2c-hwclock", "imic5002", pmac_i2c_quirk_skip },11831183+ { "i2c-hwclock", "imic5003", pmac_i2c_quirk_skip },11761184 { "i2c-hwclock", NULL, pmac_i2c_quirk_invmask },11771185 { "i2c-cpu-voltage", NULL, 0},11781186 { "temp-monitor", NULL, 0 },···12081198 if (p->compatible &&12091199 !device_is_compatible(np, p->compatible))12101200 continue;12011201+ if (p->quirks & pmac_i2c_quirk_skip)12021202+ break;12111203 callback(np, p->quirks);12121204 break;12131205 }
···1010#include <linux/config.h>1111#include <linux/version.h>1212#include <linux/errno.h>1313+#include <linux/threads.h>1314#include <asm/thread_info.h>1415#include <asm/asi.h>1516#include <asm/pstate.h>···493492 mov %l6, %o1 ! OpenPROM stack494493 call prom_init495494 mov %l7, %o0 ! OpenPROM cif handler495495+496496+ /* Initialize current_thread_info()->cpu as early as possible.497497+ * In order to do that accurately we have to patch up the get_cpuid()498498+ * assembler sequences. And that, in turn, requires that we know499499+ * if we are on a Starfire box or not. While we're here, patch up500500+ * the sun4v sequences as well.501501+ */502502+ call check_if_starfire503503+ nop504504+ call per_cpu_patch505505+ nop506506+ call sun4v_patch507507+ nop508508+509509+#ifdef CONFIG_SMP510510+ call hard_smp_processor_id511511+ nop512512+ cmp %o0, NR_CPUS513513+ blu,pt %xcc, 1f514514+ nop515515+ call boot_cpu_id_too_large516516+ nop517517+ /* Not reached... */518518+519519+1:520520+#else521521+ mov 0, %o0522522+#endif523523+ stb %o0, [%g6 + TI_CPU]496524497525 /* Off we go.... */498526 call start_kernel
+11-12
arch/sparc64/kernel/setup.c
···220220221221static struct pt_regs fake_swapper_regs = { { 0, }, 0, 0, 0, 0 };222222223223-static void __init per_cpu_patch(void)223223+void __init per_cpu_patch(void)224224{225225 struct cpuid_patch_entry *p;226226 unsigned long ver;···280280 }281281}282282283283-static void __init sun4v_patch(void)283283+void __init sun4v_patch(void)284284{285285 struct sun4v_1insn_patch_entry *p1;286286 struct sun4v_2insn_patch_entry *p2;···315315 }316316}317317318318+#ifdef CONFIG_SMP319319+void __init boot_cpu_id_too_large(int cpu)320320+{321321+ prom_printf("Serious problem, boot cpu id (%d) >= NR_CPUS (%d)\n",322322+ cpu, NR_CPUS);323323+ prom_halt();324324+}325325+#endif326326+318327void __init setup_arch(char **cmdline_p)319328{320329 /* Initialize PROM console and command line. */···340331#elif defined(CONFIG_PROM_CONSOLE)341332 conswitchp = &prom_con;342333#endif343343-344344- /* Work out if we are starfire early on */345345- check_if_starfire();346346-347347- /* Now we know enough to patch the get_cpuid sequences348348- * used by trap code.349349- */350350- per_cpu_patch();351351-352352- sun4v_patch();353334354335 boot_flags_init(*cmdline_p);355336
+3-13
arch/sparc64/kernel/smp.c
···12641264 boot_cpu_id = hard_smp_processor_id();12651265 current_tick_offset = timer_tick_offset;1266126612671267- cpu_set(boot_cpu_id, cpu_online_map);12681267 prof_counter(boot_cpu_id) = prof_multiplier(boot_cpu_id) = 1;12691268}12701269···1344134513451346void __devinit smp_prepare_boot_cpu(void)13461347{13471347- int cpu = hard_smp_processor_id();13481348-13491349- if (cpu >= NR_CPUS) {13501350- prom_printf("Serious problem, boot cpu id >= NR_CPUS\n");13511351- prom_halt();13521352- }13531353-13541354- current_thread_info()->cpu = cpu;13551355- __local_per_cpu_offset = __per_cpu_offset(cpu);13561356-13571357- cpu_set(smp_processor_id(), cpu_online_map);13581358- cpu_set(smp_processor_id(), phys_cpu_present_map);13591348}1360134913611350int __devinit __cpu_up(unsigned int cpu)···1420143314211434 for (i = 0; i < NR_CPUS; i++, ptr += size)14221435 memcpy(ptr, __per_cpu_start, __per_cpu_end - __per_cpu_start);14361436+14371437+ /* Setup %g5 for the boot cpu. */14381438+ __local_per_cpu_offset = __per_cpu_offset(smp_processor_id());14231439}
···3333# prevent gcc from keeping the stack 16 byte aligned. Taken from i386.3434cflags-y += $(call cc-option,-mpreferred-stack-boundary=2)35353636+# Prevent sprintf in nfsd from being converted to strcpy and resulting in3737+# an unresolved reference.3838+cflags-y += -ffreestanding3939+3640CFLAGS += $(cflags-y)3741USER_CFLAGS += $(cflags-y)
+2-11
arch/um/include/kern_util.h
···120120extern void free_irq(unsigned int, void *);121121extern int cpu(void);122122123123+extern void time_init_kern(void);124124+123125/* Are we disallowed to sleep? Used to choose between GFP_KERNEL and GFP_ATOMIC. */124126extern int __cant_sleep(void);125127extern void segv_handler(int sig, union uml_pt_regs *regs);126128extern void sigio_handler(int sig, union uml_pt_regs *regs);127129128130#endif129129-130130-/*131131- * Overrides for Emacs so that we follow Linus's tabbing style.132132- * Emacs will notice this stuff at the end of the file and automatically133133- * adjust the settings for this buffer only. This must remain at the end134134- * of the file.135135- * ---------------------------------------------------------------------------136136- * Local variables:137137- * c-file-style: "linux"138138- * End:139139- */
···4545 case ARCH_GET_GS:4646 ret = arch_prctl(code, (unsigned long) &tmp);4747 if(!ret)4848- ret = put_user(tmp, &addr);4848+ ret = put_user(tmp, (long __user *)addr);4949 break;5050 default:5151 ret = -EINVAL;
···149149 addr = start;150150 if (addr > ei->addr + ei->size) 151151 continue; 152152- while (bad_addr(&addr, size) && addr+size < ei->addr + ei->size)152152+ while (bad_addr(&addr, size) && addr+size <= ei->addr+ei->size)153153 ;154154 last = addr + size;155155 if (last > ei->addr + ei->size)
+1-6
arch/x86_64/kernel/entry.S
···281281 ja 1f282282 movq %r10,%rcx /* fixup for C */283283 call *sys_call_table(,%rax,8)284284- movq %rax,RAX-ARGOFFSET(%rsp)285285-1: SAVE_REST286286- movq %rsp,%rdi287287- call syscall_trace_leave288288- RESTORE_TOP_OF_STACK %rbx289289- RESTORE_REST284284+1: movq %rax,RAX-ARGOFFSET(%rsp)290285 /* Use IRET because user could have changed frame */291286 jmp int_ret_from_sys_call292287 CFI_ENDPROC
···631631 printk(KERN_INFO "PCI-DMA: Disabling IOMMU.\n");632632 if (end_pfn > MAX_DMA32_PFN) {633633 printk(KERN_ERR "WARNING more than 4GB of memory "634634- "but IOMMU not compiled in.\n"635635- KERN_ERR "WARNING 32bit PCI may malfunction.\n"636636- KERN_ERR "You might want to enable "637637- "CONFIG_GART_IOMMU\n");634634+ "but IOMMU not available.\n"635635+ KERN_ERR "WARNING 32bit PCI may malfunction.\n");638636 }639637 return -1;640638 }
+1-1
arch/x86_64/kernel/pmtimer.c
···6868 offset_delay = delta % (USEC_PER_SEC / HZ);69697070 rdtscll(tsc);7171- vxtime.last_tsc = tsc - offset_delay * cpu_khz;7171+ vxtime.last_tsc = tsc - offset_delay * (u64)cpu_khz / 1000;72727373 /* don't calculate delay for first run,7474 or if we've got less then a tick */
+1-1
arch/x86_64/kernel/setup.c
···10511051 for now. */10521052 node = apicid_to_node[hard_smp_processor_id()];10531053 if (node == NUMA_NO_NODE)10541054- node = 0;10541054+ node = first_node(node_online_map);10551055 numa_set_node(cpu, node);1056105610571057 if (acpi_numa > 0)
+3-1
arch/x86_64/mm/srat.c
···399399 /* First clean up the node list */400400 for (i = 0; i < MAX_NUMNODES; i++) {401401 cutoff_node(i, start, end);402402- if ((nodes[i].end - nodes[i].start) < NODE_MIN_SIZE)402402+ if ((nodes[i].end - nodes[i].start) < NODE_MIN_SIZE) {403403 unparse_node(i);404404+ node_set_offline(i);405405+ }404406 }405407406408 if (acpi_numa <= 0)
+54-23
block/cfq-iosched.c
···33333434#define CFQ_KEY_ASYNC (0)35353636-static DEFINE_RWLOCK(cfq_exit_lock);3636+static DEFINE_SPINLOCK(cfq_exit_lock);37373838/*3939 * for the hash of cfqq inside the cfqd···133133 mempool_t *crq_pool;134134135135 int rq_in_driver;136136+ int hw_tag;136137137138 /*138139 * schedule slice state info···501500502501 /*503502 * if queue was preempted, just add to front to be fair. busy_rr504504- * isn't sorted.503503+ * isn't sorted, but insert at the back for fairness.505504 */506505 if (preempted || list == &cfqd->busy_rr) {507507- list_add(&cfqq->cfq_list, list);506506+ if (preempted)507507+ list = list->prev;508508+509509+ list_add_tail(&cfqq->cfq_list, list);508510 return;509511 }510512···668664 struct cfq_data *cfqd = q->elevator->elevator_data;669665670666 cfqd->rq_in_driver++;667667+668668+ /*669669+ * If the depth is larger 1, it really could be queueing. But lets670670+ * make the mark a little higher - idling could still be good for671671+ * low queueing, and a low queueing number could also just indicate672672+ * a SCSI mid layer like behaviour where limit+1 is often seen.673673+ */674674+ if (!cfqd->hw_tag && cfqd->rq_in_driver > 4)675675+ cfqd->hw_tag = 1;671676}672677673678static void cfq_deactivate_request(request_queue_t *q, struct request *rq)···890877 */891878 if (!list_empty(&cfqd->cur_rr) || cfq_get_next_prio_level(cfqd) != -1)892879 cfqq = list_entry_cfqq(cfqd->cur_rr.next);880880+881881+ /*882882+ * If no new queues are available, check if the busy list has some883883+ * before falling back to idle io.884884+ */885885+ if (!cfqq && !list_empty(&cfqd->busy_rr))886886+ cfqq = list_entry_cfqq(cfqd->busy_rr.next);893887894888 /*895889 * if we have idle queues and no rt or be queues had pending···13041284 /*13051285 * put the reference this task is holding to the various queues13061286 */13071307- read_lock_irqsave(&cfq_exit_lock, flags);12871287+ spin_lock_irqsave(&cfq_exit_lock, flags);1308128813091289 n = rb_first(&ioc->cic_root);13101290 while (n != NULL) {···13141294 n = rb_next(n);13151295 }1316129613171317- read_unlock_irqrestore(&cfq_exit_lock, flags);12971297+ spin_unlock_irqrestore(&cfq_exit_lock, flags);13181298}1319129913201300static struct cfq_io_context *···14201400 struct cfq_io_context *cic;14211401 struct rb_node *n;1422140214231423- write_lock(&cfq_exit_lock);14031403+ spin_lock(&cfq_exit_lock);1424140414251405 n = rb_first(&ioc->cic_root);14261406 while (n != NULL) {14271407 cic = rb_entry(n, struct cfq_io_context, rb_node);14281428-14081408+14291409 changed_ioprio(cic);14301410 n = rb_next(n);14311411 }1432141214331433- write_unlock(&cfq_exit_lock);14131413+ spin_unlock(&cfq_exit_lock);1434141414351415 return 0;14361416}···14781458 * set ->slice_left to allow preemption for a new process14791459 */14801460 cfqq->slice_left = 2 * cfqd->cfq_slice_idle;14811481- cfq_mark_cfqq_idle_window(cfqq);14611461+ if (!cfqd->hw_tag)14621462+ cfq_mark_cfqq_idle_window(cfqq);14821463 cfq_mark_cfqq_prio_changed(cfqq);14831464 cfq_init_prio_data(cfqq);14841465 }···14961475static void14971476cfq_drop_dead_cic(struct io_context *ioc, struct cfq_io_context *cic)14981477{14991499- read_lock(&cfq_exit_lock);14781478+ spin_lock(&cfq_exit_lock);15001479 rb_erase(&cic->rb_node, &ioc->cic_root);15011501- read_unlock(&cfq_exit_lock);14801480+ list_del_init(&cic->queue_list);14811481+ spin_unlock(&cfq_exit_lock);15021482 kmem_cache_free(cfq_ioc_pool, cic);15031483 atomic_dec(&ioc_count);15041484}···15671545 BUG();15681546 }1569154715701570- read_lock(&cfq_exit_lock);15481548+ spin_lock(&cfq_exit_lock);15711549 rb_link_node(&cic->rb_node, parent, p);15721550 rb_insert_color(&cic->rb_node, &ioc->cic_root);15731551 list_add(&cic->queue_list, &cfqd->cic_list);15741574- read_unlock(&cfq_exit_lock);15521552+ spin_unlock(&cfq_exit_lock);15751553}1576155415771555/*···16701648{16711649 int enable_idle = cfq_cfqq_idle_window(cfqq);1672165016731673- if (!cic->ioc->task || !cfqd->cfq_slice_idle)16511651+ if (!cic->ioc->task || !cfqd->cfq_slice_idle || cfqd->hw_tag)16741652 enable_idle = 0;16751653 else if (sample_valid(cic->ttime_samples)) {16761654 if (cic->ttime_mean > cfqd->cfq_slice_idle)···1761173917621740 cfqq->next_crq = cfq_choose_req(cfqd, cfqq->next_crq, crq);1763174117421742+ cic = crq->io_context;17431743+17641744 /*17651745 * we never wait for an async request and we don't allow preemption17661746 * of an async request. so just return early17671747 */17681768- if (!cfq_crq_is_sync(crq))17481748+ if (!cfq_crq_is_sync(crq)) {17491749+ /*17501750+ * sync process issued an async request, if it's waiting17511751+ * then expire it and kick rq handling.17521752+ */17531753+ if (cic == cfqd->active_cic &&17541754+ del_timer(&cfqd->idle_slice_timer)) {17551755+ cfq_slice_expired(cfqd, 0);17561756+ cfq_start_queueing(cfqd, cfqq);17571757+ }17691758 return;17701770-17711771- cic = crq->io_context;17591759+ }1772176017731761 cfq_update_io_thinktime(cfqd, cic);17741762 cfq_update_io_seektime(cfqd, cic, crq);···21962164 * race with a non-idle queue, reset timer21972165 */21982166 end = cfqd->last_end_request + CFQ_IDLE_GRACE;21992199- if (!time_after_eq(jiffies, end)) {22002200- cfqd->idle_class_timer.expires = end;22012201- add_timer(&cfqd->idle_class_timer);22022202- } else21672167+ if (!time_after_eq(jiffies, end))21682168+ mod_timer(&cfqd->idle_class_timer, end);21692169+ else22032170 cfq_schedule_dispatch(cfqd);2204217122052172 spin_unlock_irqrestore(cfqd->queue->queue_lock, flags);···2218218722192188 cfq_shutdown_timer_wq(cfqd);2220218922212221- write_lock(&cfq_exit_lock);21902190+ spin_lock(&cfq_exit_lock);22222191 spin_lock_irq(q->queue_lock);2223219222242193 if (cfqd->active_queue)···22412210 }2242221122432212 spin_unlock_irq(q->queue_lock);22442244- write_unlock(&cfq_exit_lock);22132213+ spin_unlock(&cfq_exit_lock);2245221422462215 cfq_shutdown_timer_wq(cfqd);22472216
+1-4
drivers/base/power/suspend.c
···88 *99 */10101111-#include <linux/vt_kern.h>1211#include <linux/device.h>1312#include <linux/kallsyms.h>1413#include <linux/pm.h>···6566 return error;6667}67686969+6870/**6971 * device_suspend - Save state and stop all devices in system.7072 * @state: Power state to put each device in.···8484int device_suspend(pm_message_t state)8585{8686 int error = 0;8787-8888- if (!is_console_suspend_safe())8989- return -EINVAL;90879188 down(&dpm_sem);9289 down(&dpm_list_sem);
+1-1
drivers/char/agp/Kconfig
···86868787config AGP_SIS8888 tristate "SiS chipset support"8989- depends on AGP && X86_328989+ depends on AGP9090 help9191 This option gives you AGP support for the GLX component of9292 X on Silicon Integrated Systems [SiS] chipsets.
···11841184static void port_cleanup(struct smi_info *info)11851185{11861186 unsigned int addr = info->io.addr_data;11871187- int mapsize;11871187+ int idx;1188118811891189 if (addr) {11901190- mapsize = ((info->io_size * info->io.regspacing)11911191- - (info->io.regspacing - info->io.regsize));11921192-11931193- release_region (addr, mapsize);11901190+ for (idx = 0; idx < info->io_size; idx++) {11911191+ release_region(addr + idx * info->io.regspacing,11921192+ info->io.regsize);11931193+ }11941194 }11951195}1196119611971197static int port_setup(struct smi_info *info)11981198{11991199 unsigned int addr = info->io.addr_data;12001200- int mapsize;12001200+ int idx;1201120112021202 if (!addr)12031203 return -ENODEV;···12251225 return -EINVAL;12261226 }1227122712281228- /* Calculate the total amount of memory to claim. This is an12291229- * unusual looking calculation, but it avoids claiming any12301230- * more memory than it has to. It will claim everything12311231- * between the first address to the end of the last full12321232- * register. */12331233- mapsize = ((info->io_size * info->io.regspacing)12341234- - (info->io.regspacing - info->io.regsize));12351235-12361236- if (request_region(addr, mapsize, DEVICE_NAME) == NULL)12371237- return -EIO;12281228+ /* Some BIOSes reserve disjoint I/O regions in their ACPI12291229+ * tables. This causes problems when trying to register the12301230+ * entire I/O region. Therefore we must register each I/O12311231+ * port separately.12321232+ */12331233+ for (idx = 0; idx < info->io_size; idx++) {12341234+ if (request_region(addr + idx * info->io.regspacing,12351235+ info->io.regsize, DEVICE_NAME) == NULL) {12361236+ /* Undo allocations */12371237+ while (idx--) {12381238+ release_region(addr + idx * info->io.regspacing,12391239+ info->io.regsize);12401240+ }12411241+ return -EIO;12421242+ }12431243+ }12381244 return 0;12391245}12401246
···105105 "Non-Host Info"106106};107107108108+struct tcpa_pc_event {109109+ u32 event_id;110110+ u32 event_size;111111+ u8 event_data[0];112112+};113113+108114enum tcpa_pc_event_ids {109115 SMBIOS = 1,110116 BIS_CERT,···120114 NVRAM,121115 OPTION_ROM_EXEC,122116 OPTION_ROM_CONFIG,123123- OPTION_ROM_MICROCODE,117117+ OPTION_ROM_MICROCODE = 10,124118 S_CRTM_VERSION,125119 S_CRTM_CONTENTS,126120 POST_CONTENTS,121121+ HOST_TABLE_OF_DEVICES,127122};128123129124static const char* tcpa_pc_event_id_strings[] = {130130- ""125125+ "",131126 "SMBIOS",132127 "BIS Certificate",133128 "POST BIOS ",···137130 "NVRAM",138131 "Option ROM",139132 "Option ROM config",140140- "Option ROM microcode",133133+ "",134134+ "Option ROM microcode ",141135 "S-CRTM Version",142142- "S-CRTM Contents",143143- "S-CRTM POST Contents",144144- "POST Contents",136136+ "S-CRTM Contents ",137137+ "POST Contents ",138138+ "Table of Devices",145139};146140147141/* returns pointer to start of pos. entry of tcg log */···214206 const char *name = "";215207 char data[40] = "";216208 int i, n_len = 0, d_len = 0;217217- u32 event_id;209209+ struct tcpa_pc_event *pc_event;218210219211 switch(event->event_type) {220212 case PREBOOT:···243235 }244236 break;245237 case EVENT_TAG:246246- event_id = be32_to_cpu(*((u32 *)event_entry));238238+ pc_event = (struct tcpa_pc_event *)event_entry;247239248240 /* ToDo Row data -> Base64 */249241250250- switch (event_id) {242242+ switch (pc_event->event_id) {251243 case SMBIOS:252244 case BIS_CERT:253245 case CMOS:254246 case NVRAM:255247 case OPTION_ROM_EXEC:256248 case OPTION_ROM_CONFIG:257257- case OPTION_ROM_MICROCODE:258249 case S_CRTM_VERSION:259259- case S_CRTM_CONTENTS:260260- case POST_CONTENTS:261261- name = tcpa_pc_event_id_strings[event_id];250250+ name = tcpa_pc_event_id_strings[pc_event->event_id];262251 n_len = strlen(name);263252 break;253253+ /* hash data */264254 case POST_BIOS_ROM:265255 case ESCD:266266- name = tcpa_pc_event_id_strings[event_id];256256+ case OPTION_ROM_MICROCODE:257257+ case S_CRTM_CONTENTS:258258+ case POST_CONTENTS:259259+ name = tcpa_pc_event_id_strings[pc_event->event_id];267260 n_len = strlen(name);268261 for (i = 0; i < 20; i++)269269- d_len += sprintf(data, "%02x",270270- event_entry[8 + i]);262262+ d_len += sprintf(&data[2*i], "%02x",263263+ pc_event->event_data[i]);271264 break;272265 default:273266 break;···284275285276static int tpm_binary_bios_measurements_show(struct seq_file *m, void *v)286277{278278+ struct tcpa_event *event = v;279279+ char *data = v;280280+ int i;287281288288- char *eventname;289289- char data[4];290290- u32 help;291291- int i, len;292292- struct tcpa_event *event = (struct tcpa_event *) v;293293- unsigned char *event_entry =294294- (unsigned char *) (v + sizeof(struct tcpa_event));295295-296296- eventname = kmalloc(MAX_TEXT_EVENT, GFP_KERNEL);297297- if (!eventname) {298298- printk(KERN_ERR "%s: ERROR - No Memory for event name\n ",299299- __func__);300300- return -ENOMEM;301301- }302302-303303- /* 1st: PCR used is in little-endian format (4 bytes) */304304- help = le32_to_cpu(event->pcr_index);305305- memcpy(data, &help, 4);306306- for (i = 0; i < 4; i++)282282+ for (i = 0; i < sizeof(struct tcpa_event) + event->event_size; i++)307283 seq_putc(m, data[i]);308284309309- /* 2nd: SHA1 (20 bytes) */310310- for (i = 0; i < 20; i++)311311- seq_putc(m, event->pcr_value[i]);312312-313313- /* 3rd: event type identifier (4 bytes) */314314- help = le32_to_cpu(event->event_type);315315- memcpy(data, &help, 4);316316- for (i = 0; i < 4; i++)317317- seq_putc(m, data[i]);318318-319319- len = 0;320320-321321- len += get_event_name(eventname, event, event_entry);322322-323323- /* 4th: filename <= 255 + \'0' delimiter */324324- if (len > TCG_EVENT_NAME_LEN_MAX)325325- len = TCG_EVENT_NAME_LEN_MAX;326326-327327- for (i = 0; i < len; i++)328328- seq_putc(m, eventname[i]);329329-330330- /* 5th: delimiter */331331- seq_putc(m, '\0');332332-333333- kfree(eventname);334285 return 0;335286}336287
-8
drivers/char/vt.c
···32383238 }32393239}3240324032413241-int is_console_suspend_safe(void)32423242-{32433243- /* It is unsafe to suspend devices while X has control of the32443244- * hardware. Make sure we are running on a kernel-controlled console.32453245- */32463246- return vc_cons[fg_console].d->vc_mode == KD_TEXT;32473247-}32483248-32493241/*32503242 * Visible symbols for modules32513243 */
+11-5
drivers/ide/pci/sgiioc4.c
···345345static u8346346sgiioc4_INB(unsigned long port)347347{348348- u8 reg = (u8) inb(port);348348+ u8 reg = (u8) readb((void __iomem *) port);349349350350 if ((port & 0xFFF) == 0x11C) { /* Status register of IOC4 */351351 if (reg & 0x51) { /* Not busy...check for interrupt */352352 unsigned long other_ir = port - 0x110;353353- unsigned int intr_reg = (u32) inl(other_ir);353353+ unsigned int intr_reg = (u32) readl((void __iomem *) other_ir);354354355355 /* Clear the Interrupt, Error bits on the IOC4 */356356 if (intr_reg & 0x03) {357357- outl(0x03, other_ir);358358- intr_reg = (u32) inl(other_ir);357357+ writel(0x03, (void __iomem *) other_ir);358358+ intr_reg = (u32) readl((void __iomem *) other_ir);359359 }360360 }361361 }···606606 hwif->ide_dma_host_off = &sgiioc4_ide_dma_host_off;607607 hwif->ide_dma_lostirq = &sgiioc4_ide_dma_lostirq;608608 hwif->ide_dma_timeout = &__ide_dma_timeout;609609+610610+ /*611611+ * The IOC4 uses MMIO rather than Port IO.612612+ * It also needs special workarounds for INB.613613+ */614614+ default_hwif_mmiops(hwif);609615 hwif->INB = &sgiioc4_INB;610616}611617···749743module_init(ioc4_ide_init);750744module_exit(ioc4_ide_exit);751745752752-MODULE_AUTHOR("Aniket Malatpure - Silicon Graphics Inc. (SGI)");746746+MODULE_AUTHOR("Aniket Malatpure/Jeremy Higdon");753747MODULE_DESCRIPTION("IDE PCI driver module for SGI IOC4 Base-IO Card");754748MODULE_LICENSE("GPL");
+1-1
drivers/ieee1394/sbp2.c
···845845 &sbp2_highlevel, ud->ne->host, &sbp2_ops,846846 sizeof(struct sbp2_status_block), sizeof(quadlet_t),847847 0x010000000000ULL, CSR1212_ALL_SPACE_END);848848- if (!scsi_id->status_fifo_addr) {848848+ if (scsi_id->status_fifo_addr == ~0ULL) {849849 SBP2_ERR("failed to allocate status FIFO address range");850850 goto failed_alloc;851851 }
···167167}168168EXPORT_SYMBOL_GPL(md_new_event);169169170170+/* Alternate version that can be called from interrupts171171+ * when calling sysfs_notify isn't needed.172172+ */173173+void md_new_event_inintr(mddev_t *mddev)174174+{175175+ atomic_inc(&md_event_count);176176+ wake_up(&md_event_waiters);177177+}178178+170179/*171180 * Enables to iterate over all existing md arrays172181 * all_mddevs_lock protects this list.···41584149 set_bit(MD_RECOVERY_INTR, &mddev->recovery);41594150 set_bit(MD_RECOVERY_NEEDED, &mddev->recovery);41604151 md_wakeup_thread(mddev->thread);41614161- md_new_event(mddev);41524152+ md_new_event_inintr(mddev);41624153}4163415441644155/* seq_file implementation /proc/mdstat */
+21-6
drivers/message/fusion/mptbase.c
···16051605}16061606#endif1607160716081608+static int16091609+mpt_signal_reset(int index, MPT_ADAPTER *ioc, int reset_phase)16101610+{16111611+ if ((MptDriverClass[index] == MPTSPI_DRIVER &&16121612+ ioc->bus_type != SPI) ||16131613+ (MptDriverClass[index] == MPTFC_DRIVER &&16141614+ ioc->bus_type != FC) ||16151615+ (MptDriverClass[index] == MPTSAS_DRIVER &&16161616+ ioc->bus_type != SAS))16171617+ /* make sure we only call the relevant reset handler16181618+ * for the bus */16191619+ return 0;16201620+ return (MptResetHandlers[index])(ioc, reset_phase);16211621+}16221622+16081623/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/16091624/*16101625 * mpt_do_ioc_recovery - Initialize or recover MPT adapter.···19001885 if ((ret == 0) && MptResetHandlers[ii]) {19011886 dprintk((MYIOC_s_INFO_FMT "Calling IOC post_reset handler #%d\n",19021887 ioc->name, ii));19031903- rc += (*(MptResetHandlers[ii]))(ioc, MPT_IOC_POST_RESET);18881888+ rc += mpt_signal_reset(ii, ioc, MPT_IOC_POST_RESET);19041889 handlers++;19051890 }1906189119071892 if (alt_ioc_ready && MptResetHandlers[ii]) {19081893 drsprintk((MYIOC_s_INFO_FMT "Calling alt-%s post_reset handler #%d\n",19091894 ioc->name, ioc->alt_ioc->name, ii));19101910- rc += (*(MptResetHandlers[ii]))(ioc->alt_ioc, MPT_IOC_POST_RESET);18951895+ rc += mpt_signal_reset(ii, ioc->alt_ioc, MPT_IOC_POST_RESET);19111896 handlers++;19121897 }19131898 }···32823267 if (MptResetHandlers[ii]) {32833268 dprintk((MYIOC_s_INFO_FMT "Calling IOC pre_reset handler #%d\n",32843269 ioc->name, ii));32853285- r += (*(MptResetHandlers[ii]))(ioc, MPT_IOC_PRE_RESET);32703270+ r += mpt_signal_reset(ii, ioc, MPT_IOC_PRE_RESET);32863271 if (ioc->alt_ioc) {32873272 dprintk((MYIOC_s_INFO_FMT "Calling alt-%s pre_reset handler #%d\n",32883273 ioc->name, ioc->alt_ioc->name, ii));32893289- r += (*(MptResetHandlers[ii]))(ioc->alt_ioc, MPT_IOC_PRE_RESET);32743274+ r += mpt_signal_reset(ii, ioc->alt_ioc, MPT_IOC_PRE_RESET);32903275 }32913276 }32923277 }···57215706 if (MptResetHandlers[ii]) {57225707 dtmprintk((MYIOC_s_INFO_FMT "Calling IOC reset_setup handler #%d\n",57235708 ioc->name, ii));57245724- r += (*(MptResetHandlers[ii]))(ioc, MPT_IOC_SETUP_RESET);57095709+ r += mpt_signal_reset(ii, ioc, MPT_IOC_SETUP_RESET);57255710 if (ioc->alt_ioc) {57265711 dtmprintk((MYIOC_s_INFO_FMT "Calling alt-%s setup reset handler #%d\n",57275712 ioc->name, ioc->alt_ioc->name, ii));57285728- r += (*(MptResetHandlers[ii]))(ioc->alt_ioc, MPT_IOC_SETUP_RESET);57135713+ r += mpt_signal_reset(ii, ioc->alt_ioc, MPT_IOC_SETUP_RESET);57295714 }57305715 }57315716 }
+1-1
drivers/mmc/Kconfig
···84848585config MMC_AU1X8686 tristate "Alchemy AU1XX0 MMC Card Interface support"8787- depends on SOC_AU1X00 && MMC8787+ depends on MMC && SOC_AU12008888 help8989 This selects the AMD Alchemy(R) Multimedia card interface.9090 If you have a Alchemy platform with a MMC slot, say Y or M here.
···11+Version 1.4322+------------33+POSIX locking to servers which support CIFS POSIX Extensions44+(disabled by default controlled by proc/fs/cifs/Experimental).55+Handle conversion of long share names (especially Asian languages)66+to Unicode during mount. 77+18Version 1.4229------------310Fix slow oplock break when mounted to different servers at the same time and
···129129#if defined (CONFIG_CPU_R4300) \130130 || defined (CONFIG_CPU_R4X00) \131131 || defined (CONFIG_CPU_R5000) \132132+ || defined (CONFIG_CPU_RM7000) \132133 || defined (CONFIG_CPU_NEVADA) \133134 || defined (CONFIG_CPU_TX49XX) \134135 || defined (CONFIG_CPU_MIPS64)
+5-1
include/asm-mips/cpu.h
···5151#define PRID_IMP_R4300 0x0b005252#define PRID_IMP_VR41XX 0x0c005353#define PRID_IMP_R12000 0x0e005454+#define PRID_IMP_R14000 0x0f005455#define PRID_IMP_R8000 0x10005556#define PRID_IMP_PR4450 0x12005657#define PRID_IMP_R4600 0x2000···8887#define PRID_IMP_24K 0x93008988#define PRID_IMP_34K 0x95009089#define PRID_IMP_24KE 0x96009090+#define PRID_IMP_74K 0x970091919292/*9393 * These are the PRID's for when 23:16 == PRID_COMP_SIBYTE···198196#define CPU_34K 60199197#define CPU_PR4450 61200198#define CPU_SB1A 62201201-#define CPU_LAST 62199199+#define CPU_74K 63200200+#define CPU_R14000 64201201+#define CPU_LAST 64202202203203/*204204 * ISA Level encodings
···5555struct sigcontext {5656 unsigned long sc_regs[32];5757 unsigned long sc_fpregs[32];5858- unsigned long sc_hi[4];5959- unsigned long sc_lo[4];5858+ unsigned long sc_mdhi;5959+ unsigned long sc_hi1;6060+ unsigned long sc_hi2;6161+ unsigned long sc_hi3;6262+ unsigned long sc_mdlo;6363+ unsigned long sc_lo1;6464+ unsigned long sc_lo2;6565+ unsigned long sc_lo3;6066 unsigned long sc_pc;6167 unsigned int sc_fpc_csr;6268 unsigned int sc_used_math;
+2-3
include/asm-mips/smp.h
···4848#define SMP_CALL_FUNCTION 0x249495050extern cpumask_t phys_cpu_present_map;5151-extern cpumask_t cpu_online_map;5251#define cpu_possible_map phys_cpu_present_map53525453extern cpumask_t cpu_callout_map;···8586extern void plat_smp_setup(void);86878788/*8888- * Called after init_IRQ but before __cpu_up.8989+ * Called in smp_prepare_cpus.8990 */9090-extern void prom_prepare_cpus(unsigned int max_cpus);9191+extern void plat_prepare_cpus(unsigned int max_cpus);91929293/*9394 * Last chance for the board code to finish SMP initialization before
+14
include/asm-mips/sparsemem.h
···11+#ifndef _MIPS_SPARSEMEM_H22+#define _MIPS_SPARSEMEM_H33+#ifdef CONFIG_SPARSEMEM44+55+/*66+ * SECTION_SIZE_BITS 2^N: how big each section will be77+ * MAX_PHYSMEM_BITS 2^N: how much memory we can have in that space88+ */99+#define SECTION_SIZE_BITS 281010+#define MAX_PHYSMEM_BITS 351111+1212+#endif /* CONFIG_SPARSEMEM */1313+#endif /* _MIPS_SPARSEMEM_H */1414+
···456456457457 return ret;458458}459459+EXPORT_SYMBOL_GPL(hrtimer_start);459460460461/**461462 * hrtimer_try_to_cancel - try to deactivate a timer···485484 return ret;486485487486}487487+EXPORT_SYMBOL_GPL(hrtimer_try_to_cancel);488488489489/**490490 * hrtimer_cancel - cancel a timer and wait for the handler to finish.···506504 cpu_relax();507505 }508506}507507+EXPORT_SYMBOL_GPL(hrtimer_cancel);509508510509/**511510 * hrtimer_get_remaining - get remaining time for the timer···525522526523 return rem;527524}525525+EXPORT_SYMBOL_GPL(hrtimer_get_remaining);528526529527#ifdef CONFIG_NO_IDLE_HZ530528/**···584580 timer->base = &bases[clock_id];585581 timer->node.rb_parent = HRTIMER_INACTIVE;586582}583583+EXPORT_SYMBOL_GPL(hrtimer_init);587584588585/**589586 * hrtimer_get_res - get the timer resolution for a clock···604599605600 return 0;606601}602602+EXPORT_SYMBOL_GPL(hrtimer_get_res);607603608604/*609605 * Expire the per base hrtimer-queue:
+4-4
mm/memory_hotplug.c
···9191 if (start_pfn < zone->zone_start_pfn)9292 zone->zone_start_pfn = start_pfn;93939494- if (end_pfn > old_zone_end_pfn)9595- zone->spanned_pages = end_pfn - zone->zone_start_pfn;9494+ zone->spanned_pages = max(old_zone_end_pfn, end_pfn) -9595+ zone->zone_start_pfn;96969797 zone_span_writeunlock(zone);9898}···106106 if (start_pfn < pgdat->node_start_pfn)107107 pgdat->node_start_pfn = start_pfn;108108109109- if (end_pfn > old_pgdat_end_pfn)110110- pgdat->node_spanned_pages = end_pfn - pgdat->node_start_pfn;109109+ pgdat->node_spanned_pages = max(old_pgdat_end_pfn, end_pfn) -110110+ pgdat->node_start_pfn;111111}112112113113int online_pages(unsigned long pfn, unsigned long nr_pages)
+13-14
mm/slab.c
···207207#define BUFCTL_ACTIVE (((kmem_bufctl_t)(~0U))-2)208208#define SLAB_LIMIT (((kmem_bufctl_t)(~0U))-3)209209210210-/* Max number of objs-per-slab for caches which use off-slab slabs.211211- * Needed to avoid a possible looping condition in cache_grow().212212- */213213-static unsigned long offslab_limit;214214-215210/*216211 * struct slab217212 *···13511356 NULL, NULL);13521357 }1353135813541354- /* Inc off-slab bufctl limit until the ceiling is hit. */13551355- if (!(OFF_SLAB(sizes->cs_cachep))) {13561356- offslab_limit = sizes->cs_size - sizeof(struct slab);13571357- offslab_limit /= sizeof(kmem_bufctl_t);13581358- }13591359-13601359 sizes->cs_dmacachep = kmem_cache_create(names->name_dma,13611360 sizes->cs_size,13621361 ARCH_KMALLOC_MINALIGN,···17691780static size_t calculate_slab_order(struct kmem_cache *cachep,17701781 size_t size, size_t align, unsigned long flags)17711782{17831783+ unsigned long offslab_limit;17721784 size_t left_over = 0;17731785 int gfporder;17741786···17811791 if (!num)17821792 continue;1783179317841784- /* More than offslab_limit objects will cause problems */17851785- if ((flags & CFLGS_OFF_SLAB) && num > offslab_limit)17861786- break;17941794+ if (flags & CFLGS_OFF_SLAB) {17951795+ /*17961796+ * Max number of objs-per-slab for caches which17971797+ * use off-slab slabs. Needed to avoid a possible17981798+ * looping condition in cache_grow().17991799+ */18001800+ offslab_limit = size - sizeof(struct slab);18011801+ offslab_limit /= sizeof(kmem_bufctl_t);18021802+18031803+ if (num > offslab_limit)18041804+ break;18051805+ }1787180617881807 /* Found something acceptable - save it away */17891808 cachep->num = num;
+7-12
net/bridge/br_if.c
···300300 rtnl_lock();301301 if (strchr(dev->name, '%')) {302302 ret = dev_alloc_name(dev, dev->name);303303- if (ret < 0)304304- goto err1;303303+ if (ret < 0) {304304+ free_netdev(dev);305305+ goto out;306306+ }305307 }306308307309 ret = register_netdevice(dev);308310 if (ret)309309- goto err2;311311+ goto out;310312311313 ret = br_sysfs_addbr(dev);312314 if (ret)313313- goto err3;314314- rtnl_unlock();315315- return 0;316316-317317- err3:318318- unregister_netdev(dev);319319- err2:320320- free_netdev(dev);321321- err1:315315+ unregister_netdevice(dev);316316+ out:322317 rtnl_unlock();323318 return ret;324319}
···11-/* -*- linux-c -*-22- * sysctl_net_ether.c: sysctl interface to net Ethernet subsystem.33- *44- * Begun April 1, 1996, Mike Shaver.55- * Added /proc/sys/net/ether directory entry (empty =) ). [MS]66- */77-88-#include <linux/mm.h>99-#include <linux/sysctl.h>1010-#include <linux/if_ether.h>1111-1212-ctl_table ether_table[] = {1313- {0}1414-};
+2-2
net/ipv4/netfilter/Kconfig
···170170 Documentation/modules.txt. If unsure, say `N'.171171172172config IP_NF_H323173173- tristate 'H.323 protocol support'174174- depends on IP_NF_CONNTRACK173173+ tristate 'H.323 protocol support (EXPERIMENTAL)'174174+ depends on IP_NF_CONNTRACK && EXPERIMENTAL175175 help176176 H.323 is a VoIP signalling protocol from ITU-T. As one of the most177177 important VoIP protocols, it is widely used by voice hardware and
···469469 DEBUGP("%s but no session\n", pptp_msg_name[msg]);470470 break;471471 }472472- if (info->sstate != PPTP_CALL_IN_REP473473- && info->sstate != PPTP_CALL_IN_CONF) {472472+ if (info->cstate != PPTP_CALL_IN_REP473473+ && info->cstate != PPTP_CALL_IN_CONF) {474474 DEBUGP("%s but never sent IN_CALL_REPLY\n",475475 pptp_msg_name[msg]);476476 break;
···4422442244234423 /* Set up any superblocks initialized prior to the policy load. */44244424 printk(KERN_INFO "SELinux: Setting up existing superblocks.\n");44254425+ spin_lock(&sb_lock);44254426 spin_lock(&sb_security_lock);44264427next_sb:44274428 if (!list_empty(&superblock_security_head)) {···44314430 struct superblock_security_struct,44324431 list);44334432 struct super_block *sb = sbsec->sb;44344434- spin_lock(&sb_lock);44354433 sb->s_count++;44364436- spin_unlock(&sb_lock);44374434 spin_unlock(&sb_security_lock);44354435+ spin_unlock(&sb_lock);44384436 down_read(&sb->s_umount);44394437 if (sb->s_root)44404438 superblock_doinit(sb, NULL);44414439 drop_super(sb);44404440+ spin_lock(&sb_lock);44424441 spin_lock(&sb_security_lock);44434442 list_del_init(&sbsec->list);44444443 goto next_sb;44454444 }44464445 spin_unlock(&sb_security_lock);44464446+ spin_unlock(&sb_lock);44474447}4448444844494449/* SELinux requires early initialization in order to label