08 Nov, 2007
24 commits
-
When I fixed the windfarm freezer interaction first in commit
1ed2ddf380e19dafeec2150ca709ef7f4a67cd21, an earlier patch than the one
I came up with after comments was committed. This has come back to haunt
us now because commit d5d8c5976d6adeddb8208c240460411e2198b393 changed
the freezer to no long send signals. Fix it by removing the windfarm
thread's signal logic and restoring the original try_to_freeze().We could simply revert 1ed2ddf380e19dafeec2150ca709ef7f4a67cd21 now
but I feel that the assertion that no signal is delivered to the
windfarm thread needs not be there.Signed-off-by: Johannes Berg
Acked-by: Rafael J. Wysocki
Signed-off-by: Paul Mackerras -
If the low level MMU hash table insertion returns an error (which
can happen in some rare circumstances when the hypervisor refuses
the insertion of a PTE, typically if you try to access junk via
/dev/mem), the generated signal had an incorrect si_addr value due
to a bug in the assembly, which was loading it as a 32 bits quantity
instead of a 64 bits quantity.Signed-off-by: Benjamin Herrenschmidt
Signed-off-by: Paul Mackerras -
Refresh ppc64_defconfig, add PPC_PASEMI and various options that the
common boards there need:* Chip drivers (iommu, ethernet, IDE, CF, EDAC, MDIO/PHY)
* PCMCIA
* PATA_PCMCIA
* RTC_CLASS
* SATA_MV
* SATA_SIL24
* IP_PNP + NFS_ROOT for diskless booting+ possibly some other things I might have missed to list
Signed-off-by: Olof Johansson
Signed-off-by: Paul Mackerras -
Update pasemi_defconfig. Add a few missing options for default devices
on electra boards, enable tickless and hrtimers, etc, etc.Signed-off-by: Olof Johansson
Signed-off-by: Paul Mackerras -
Signed-off-by: Stephen Rothwell
Signed-off-by: Paul Mackerras -
The size passing to memset is wrong.
Signed-off-by Li Zefan
Acked-by: Benjamin HerrenschmidtSigned-off-by: Paul Mackerras
-
An allyesconfig build creates a .text section that is so big that the
.text.init.refok and .fixup sections are too far away for the relocations
to be fixed up correctly. This patch fixes that by linking all the
relevent text sections for each file together.Suggested by Paul Mackerras.
Signed-off-by: Stephen Rothwell
Signed-off-by: Paul Mackerras -
ppc_md.init_IRQ is not called if it is NULL, so we don't need an empty
routine in the non PCI case.Signed-off-by: Stephen Rothwell
Signed-off-by: Paul Mackerras -
Fix the fallocate system call on powerpc to match its unistd.h.
This implies none of these system calls are currently working with the
unistd.h sys call values:
fallocate
signalfd
timerfd
eventfd
sync_file_range2Signed-off-by: Patrick Mansfield
Acked-by: Anton Blanchard
Signed-off-by: Paul Mackerras -
Bugfix: avoid crash if there's no PCI device for a given
openfirmware node.Signed-off-by: Linas Vepstas
Signed-off-by: Paul Mackerras -
Bugfix: if a driver controlling one part of a multi-function PCI card
has asked for a reset, honor that request above all others.Signed-off-by: Linas Vepstas
Signed-off-by: Paul Mackerras -
Clean up commentary, remove dead code.
Signed-off-by Linas Vepstas
Signed-off-by: Paul Mackerras
-
The decrementer in Book E and 4xx processors interrupts on the
transition from 1 to 0, rather than on the 0 to -1 transition as on
64-bit server and 32-bit "classic" (6xx/7xx/7xxx) processors. At the
moment we subtract 1 from the count of how many decrementer ticks are
required before the next interrupt before putting it into the
decrementer, which is correct for server/classic processors, but could
possibly cause the interrupt to happen too early on Book E and 4xx if
the timebase/decrementer frequency is low.This fixes the problem by making set_dec subtract 1 from the count for
server and classic processors, instead of having the callers subtract
1. Since set_dec already had a bunch of ifdefs to handle different
processor types, there is no net increase in ugliness. :)Note that calling set_dec(0) may not generate an interrupt on some
processors. To make sure that decrementer_set_next_event always calls
set_dec with an interval of at least 1 tick, we set min_delta_ns of
the decrementer_clockevent to correspond to 2 ticks (2 rather than 1
to compensate for truncations in the conversions between ticks and
ns).This also removes a redundant call to set the decrementer to
0x7fffffff - it was already set to that earlier in timer_interrupt.Signed-off-by: Paul Mackerras
-
Now that we have 1TB segment size support, we need to be using the
GET_ESID_1T macro when comparing ESID values for pc, stack, and
unmapped_base within switch_slb(). A new helper function called
esids_match() contains the logic for deciding when to call GET_ESID
and GET_ESID_1T.This fixes a duplicate-slb-entry inspired machine-check exception I
was seeing when trying to run java on a power6 partition.Tested on power6 and power5.
Signed-off-by: Will Schmidt
Acked-by: Benjamin Herrenschmidt
Signed-off-by: Paul Mackerras -
Without this patch I get the following build failure
CC arch/powerpc/platforms/celleb/setup.o
arch/powerpc/platforms/celleb/setup.c:151: error: 'generic_calibrate_decr' undeclared here (not in a function)Signed-off-by: Tony Breeds
Acked-by: Arnd Bergmann
Signed-off-by: Paul Mackerras -
This fixes the error
error: implicit declaration of function "udbg_printf"We have a few spots where we reference udbg_printf() without #including
udbg.h. These are within #ifdef DEBUG blocks, so unnoticed until we do
a #define DEBUG or #define DEBUG_LOW nearby.Signed-off-by: Will Schmidt
Signed-off-by: Paul Mackerras -
We had an historical confusion in the kernel between cache line
and cache block size. The former is an implementation detail of
the L1 cache which can be useful for performance optimisations,
the later is the actual size on which the cache control
instructions operate, which can be different.For some reason, we had a weird hack reading the right property
on powermac and the wrong one on any other 64 bits (32 bits is
unaffected as it only uses the cputable for cache block size
infos at this stage).This fixes the booting-without-of.txt documentation to mention
the right properties, and fixes the 64 bits initialization code
to look for the block size first, with a fallback to the line
size if the property is missing.Signed-off-by: Benjamin Herrenschmidt
Signed-off-by: Paul Mackerras -
kernel was marked with 0755. Everywhere else it's 0555.
Signed-off-by: Alexey Dobriyan
Signed-off-by: Paul Mackerras -
Fix two build errors on powerpc allyesconfig + CONFIG_SMP=n:
arch/powerpc/platforms/built-in.o: In function `cpu_affinity_set':
arch/powerpc/platforms/cell/spu_priv1_mmio.c:78: undefined reference to `.iic_get_target_id'
arch/powerpc/platforms/built-in.o: In function `iic_init_IRQ':
arch/powerpc/platforms/cell/interrupt.c:397: undefined reference to `.iic_setup_cpu'Signed-off-by: Olof Johansson
Acked-by: Arnd Bergmann
Signed-off-by: Paul Mackerras -
The ps3 target produces two images, and the binary one is not the
"primary" image that corresponds to the -o flag; thus, it no longer
uses the generic binary flag.On platforms which do use the binary flag, it no longer produces a
.bin suffix, so that the output file matches what was passed to the -o flag.This should fix the zImage ln problems for the ps3 target.
Signed-off-by: Scott Wood
Acked-by: Geert Uytterhoeven
Signed-off-by: Paul Mackerras -
Commit 91a69029 introduced an additional parameter to the .read and .write
methods for sysfs binary attributes. Two mv64x60_pci functions
were missed in that patch, resulting in these errors:
/cache/git/linux-2.6/arch/powerpc/sysdev/mv64x60_pci.c:77: warning: initialization from incompatible pointer type
/cache/git/linux-2.6/arch/powerpc/sysdev/mv64x60_pci.c:78: warning: initialization from incompatible pointer typeAdd the missing "struct bin_attribute *" parameter.
Signed-off-by: Dale Farnsworth
Signed-off-by: Paul Mackerras -
Since commit 76d2160147f43f982dfe881404cfde9fd0a9da21, the NE2000 card
is not working anymore on PPC and POWERPC and produces WATCHDOG
timeouts.The patch below fixes that the same way it has been done on x86, x86_64
and MIPS.Signed-off-by: Aurelien Jarno
Signed-off-by: Paul Mackerras -
There are plans afoot to use pci_restore_msi_state() to restore MSI
state after a device reset. In order for this to work for the RTAS MSI
backend, we need to read back the MSI message from config space after
it has been setup by firmware.This should be sufficient for restoring the MSI state after a device
reset, however we will need to revisit this for suspend to disk if that
is ever implemented on pseries.Signed-off-by: Michael Ellerman
Acked-by: Linas Vepstas
Signed-off-by: Paul Mackerras -
Fix build break and warnings in current mainline git:
arch/ppc/syslib/m8260_setup.c: In function 'm8260_setup_arch':
arch/ppc/syslib/m8260_setup.c:63: error: implicit declaration of function 'identify_ppc_sys_by_name_and_id'
arch/ppc/syslib/m8260_setup.c:64: warning: passing argument 1 of 'in_be32' makes pointer from integer without a cast
arch/ppc/syslib/m8260_setup.c: In function 'm8260_show_cpuinfo':
arch/ppc/syslib/m8260_setup.c:158: warning: format '%08x' expects type 'unsigned int', but argument 5 has type 'long unsigned int'
arch/ppc/syslib/m8260_setup.c:158: warning: format '%d' expects type 'int', but argument 6 has type 'long unsigned int'
arch/ppc/syslib/m8260_setup.c:158: warning: format '%u' expects type 'unsigned int', but argument 7 has type 'long unsigned int'
arch/ppc/syslib/m8260_setup.c:158: warning: format '%u' expects type 'unsigned int', but argument 8 has type 'long unsigned int'
arch/ppc/syslib/m8260_setup.c:158: warning: format '%u' expects type 'unsigned int', but argument 9 has type 'long unsigned int'
make[1]: *** [arch/ppc/syslib/m8260_setup.o] Error 1
make[1]: *** Waiting for unfinished jobs....Signed-off-by: Olof Johansson
Signed-off-by: Paul Mackerras
02 Nov, 2007
2 commits
-
* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
[IRDA] IRNET: Fix build when TCGETS2 is defined.
[NET]: docbook fixes for netif_ functions
[NET]: Hide the net_ns kmem cache
[NET]: Mark the setup_net as __net_init
[NET]: Hide the dead code in the net_namespace.c
[NET]: Relax the reference counting of init_net_ns
[NETNS]: Make the init/exit hooks checks outside the loop
[NET]: Forget the zero_it argument of sk_alloc()
[NET]: Remove bogus zero_it argument from sk_alloc
[NET]: Make the sk_clone() lighter
[NET]: Move some core sock setup into sk_prot_alloc
[NET]: Auto-zero the allocated sock object
[NET]: Cleanup the allocation/freeing of the sock object
[NET]: Move the get_net() from sock_copy()
[NET]: Move the sock_copy() from the header
[TCP]: Another TAGBITS -> SACKED_ACKED|LOST conversion
[TCP]: Process DSACKs that reside within a SACK block
01 Nov, 2007
14 commits
-
Signed-off-by: David S. Miller
-
Signed-off-by: David S. Miller
-
Documentation updates for network interfaces.
1. Add doc for netif_napi_add
2. Remove doc for unused returns from netif_rx
3. Add doc for netif_receive_skb[ Incorporated minor mods from Randy Dunlap -DaveM ]
Signed-off-by: Stephen Hemminger
Signed-off-by: David S. Miller -
This cache is only required to create new namespaces,
but we won't have them in CONFIG_NET_NS=n case.Hide it under the appropriate ifdef.
Signed-off-by: Pavel Emelyanov
Signed-off-by: David S. Miller -
The setup_net is called for the init net namespace
only (int the CONFIG_NET_NS=n of course) from the __init
function, so mark it as __net_init to disappear with the
caller after the boot.Yet again, in the perfect world this has to be under
#ifdef CONFIG_NET_NS, but it isn't guaranteed that every
subsystem is registered *after* the init_net_ns is set
up. After we are sure, that we don't start registering
them before the init net setup, we'll be able to move
this code under the ifdef.Signed-off-by: Pavel Emelyanov
Signed-off-by: David S. Miller -
The namespace creation/destruction code is never called
if the CONFIG_NET_NS is n, so it's OK to move it under
appropriate ifdef.The copy_net_ns() in the "n" case checks for flags and
returns -EINVAL when new net ns is requested. In a perfect
world this stub must be in net_namespace.h, but this
function need to know the CLONE_NEWNET value and thus
requires sched.h. On the other hand this header is to be
injected into almost every .c file in the networking code,
and making all this code depend on the sched.h is a
suicidal attempt.Signed-off-by: Pavel Emelyanov
Signed-off-by: David S. Miller -
When the CONFIG_NET_NS is n there's no need in refcounting
the initial net namespace. So relax this code by making a
stupid stubs for the "n" case.Signed-off-by: Pavel Emelyanov
Signed-off-by: David S. Miller -
When the new pernet something (subsys, device or operations) is
being registered, the init callback is to be called for each
namespace, that currently exitst in the system. During the
unregister, the same is to be done with the exit callback.However, not every pernet something has both calls, but the
check for the appropriate pointer to be not NULL is performed
inside the for_each_net() loop.This is (at least) strange, so tune this.
Signed-off-by: Pavel Emelyanov
Signed-off-by: David S. Miller -
Finally, the zero_it argument can be completely removed from
the callers and from the function prototype.Besides, fix the checkpatch.pl warnings about using the
assignments inside if-s.This patch is rather big, and it is a part of the previous one.
I splitted it wishing to make the patches more readable. Hope
this particular split helped.Signed-off-by: Pavel Emelyanov
Signed-off-by: David S. Miller -
At this point nobody calls the sk_alloc(() with zero_it == 0,
so remove unneeded checks from it.Signed-off-by: Pavel Emelyanov
Signed-off-by: David S. Miller -
The sk_prot_alloc() already performs all the stuff needed by the
sk_clone(). Besides, the sk_prot_alloc() requires almost twice
less arguments than the sk_alloc() does, so call the sk_prot_alloc()
saving the stack a bit.Signed-off-by: Pavel Emelyanov
Signed-off-by: David S. Miller -
The security_sk_alloc() and the module_get is a part of the
object allocations - move it in the proper place.Note, that since we do not reset the newly allocated sock
in the sk_alloc() (memset() is removed with the previous
patch) we can safely do this.Also fix the error path in sk_prot_alloc() - release the security
context if needed.Signed-off-by: Pavel Emelyanov
Signed-off-by: David S. Miller -
We have a __GFP_ZERO flag that allocates a zeroed chunk of memory.
Use it in the sk_alloc() and avoid a hand-made memset().This is a temporary patch that will help us in the nearest future :)
Signed-off-by: Pavel Emelyanov
Signed-off-by: David S. Miller -
The sock object is allocated either from the generic cache with
the kmalloc, or from the proc->slab cache.Move this logic into an isolated set of helpers and make the
sk_alloc/sk_free look a bit nicer.Signed-off-by: Pavel Emelyanov
Signed-off-by: David S. Miller