commit a18bcb7450840f07a772a45229de4811d930f461 Author: Linus Torvalds Date: Tue Jul 5 20:46:33 2005 -0700 Linux v2.6.13-rc3 commit fe0c9f58779988e769da544d54b660c76506e78f Merge: 6772926bef3c9f0ec761b39e5702535471fff70b fef43da4e4341697a682f5aae1d5d428e840bc61 Author: Linus Torvalds Date: Tue Jul 5 20:37:09 2005 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 commit fef43da4e4341697a682f5aae1d5d428e840bc61 Author: David S. Miller Date: Tue Jul 5 19:45:24 2005 -0700 [SPARC64]: Fix UltraSPARC-III fallout from membar changes. The membar changes made the size of __cheetah_flush_tlb_pending grow by one instruction, but the boot-time code patching was not updated to match. Signed-off-by: David S. Miller commit 6772926bef3c9f0ec761b39e5702535471fff70b Author: Rusty Lynch Date: Tue Jul 5 18:54:50 2005 -0700 [PATCH] kprobes: fix namespace problem and sparc64 build The following renames arch_init, a kprobes function for performing any architecture specific initialization, to arch_init_kprobes in order to cleanup the namespace. Also, this patch adds arch_init_kprobes to sparc64 to fix the sparc64 kprobes build from the last return probe patch. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b1294f928d9396e45f62b1c306ac8bf9fae036b Author: Eugene Surovegin Date: Tue Jul 5 18:54:45 2005 -0700 [PATCH] ppc32: explicitly disable 440GP IRQ compatibility mode in 440GX setup Add explicit disabling of 440GP IRQ compatibility mode when configuring 440GX interrupt controller. This helps when board firmware for some reason uses this compatibility mode and leaves it enabled. It breaks 440GX interrupt code because it assumes native 440GX IRQ mode. People seems to be continuously bitten by this. Signed-off-by: Eugene Surovegin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f326d22b8cc5bfebfa5b3f6a4066dc737def2234 Author: john stultz Date: Tue Jul 5 18:54:44 2005 -0700 [PATCH] ppc32: stop misusing NTP's time_offset value As part of my timeofday rework, I've been looking at the NTP code and I noticed that the PPC architecture is apparently misusing the NTP's time_offset (it is a terrible name!) value as some form of timezone offset. This could cause problems when time_offset changed by the NTP code. This patch changes the PPC code so it uses a more clear local variable: timezone_offset. Signed-off-by: John Stultz Acked-by: Tom Rini Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e6b6239f8e8e5bd9ba0192a854652abf14e28ce4 Author: Andrei Konovalov Date: Tue Jul 5 18:54:43 2005 -0700 [PATCH] ppc32: add Freescale MPC885ADS board support This patch adds the Freescale MPC86xADS board support. The supported devices are SMC UART and 10Mbit ethernet on SCC1. The manual for the board says that it "is compatible with the MPC8xxFADS for software point of view". That's why this patch extends FADS instead of introducing a new platform. FEC is not supported as the "combined FCC/FEC ethernet driver" driver by Pantelis Antoniou should replace the current FEC driver. Signed-off-by: Gennadiy Kurtsman Signed-off-by: Andrei Konovalov Acked-by: Tom Rini Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5432ebb5f67f0be3264feb646f6f8f6c326899c9 Merge: d06e7a56d91328267a96b1a4df4ede7529f829e8 b2f571026594884e7a2a3f8bc6ad5c92e0703330 Author: Linus Torvalds Date: Tue Jul 5 18:41:58 2005 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit b2f571026594884e7a2a3f8bc6ad5c92e0703330 Author: Robert Olsson Date: Tue Jul 5 16:38:26 2005 -0700 [IPV4]: Add LC-Trie implementation notes Signed-off-by: Robert Olsson Signed-off-by: David S. Miller commit 908a75c17a9e5a888347c2c1d3572203d1b1c7db Author: David S. Miller Date: Tue Jul 5 15:43:58 2005 -0700 [TCP]: Never TSO defer under periods of congestion. Congestion window recover after loss depends upon the fact that if we have a full MSS sized frame at the head of the send queue, we will send it. TSO deferral can defeat the ACK clocking necessary to exit cleanly from recovery. Signed-off-by: David S. Miller commit 63d886c96b2a580b1bf764de238ba3c63515b5ee Author: Thomas Graf Date: Tue Jul 5 15:29:16 2005 -0700 [PKT_SCHED]: Blackhole queueing discipline Useful in combination with classful qdiscs to drop or temporary disable certain flows, e.g. one could block specific ds flows with dsmark. Unlike the noop qdisc it can be controlled by the user and statistic accounting is done. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit c1b4a7e69576d65efc31a8cea0714173c2841244 Author: David S. Miller Date: Tue Jul 5 15:24:38 2005 -0700 [TCP]: Move to new TSO segmenting scheme. Make TSO segment transmit size decisions at send time not earlier. The basic scheme is that we try to build as large a TSO frame as possible when pulling in the user data, but the size of the TSO frame output to the card is determined at transmit time. This is guided by tp->xmit_size_goal. It is always set to a multiple of MSS and tells sendmsg/sendpage how large an SKB to try and build. Later, tcp_write_xmit() and tcp_push_one() chop up the packet if necessary and conditions warrant. These routines can also decide to "defer" in order to wait for more ACKs to arrive and thus allow larger TSO frames to be emitted. A general observation is that TSO elongates the pipe, thus requiring a larger congestion window and larger buffering especially at the sender side. Therefore, it is important that applications 1) get a large enough socket send buffer (this is accomplished by our dynamic send buffer expansion code) 2) do large enough writes. Signed-off-by: David S. Miller commit 0d9901df62fe4820aee86b49f1a074cdb5c6928e Author: David S. Miller Date: Tue Jul 5 15:21:10 2005 -0700 [TCP]: Break out send buffer expansion test. This makes it easier to understand, and allows easier tweaking of the heuristic later on. Signed-off-by: David S. Miller commit cb83199a29dc0408423d6df432f28cc67fcadaf4 Author: David S. Miller Date: Tue Jul 5 15:20:55 2005 -0700 [TCP]: Do not call tcp_tso_acked() if no work to do. In tcp_clean_rtx_queue(), if the TSO packet is not even partially acked, do not waste time calling tcp_tso_acked(). Signed-off-by: David S. Miller commit a56476962e92a6c389a1a561274d4a27607b7b5f Author: David S. Miller Date: Tue Jul 5 15:20:41 2005 -0700 [TCP]: Kill bogus comment above tcp_tso_acked(). Everything stated there is out of data. tcp_trim_skb() does adjust the available socket send buffer space and skb->truesize now. Signed-off-by: David S. Miller commit b4e26f5ea0dbdd1e813c5571fb467022d8eb948a Author: David S. Miller Date: Tue Jul 5 15:20:27 2005 -0700 [TCP]: Fix send-side cpu utiliziation regression. Only put user data purely to pages when doing TSO. The extra page allocations cause two problems: 1) Add the overhead of the page allocations themselves. 2) Make us do small user copies when we get to the end of the TCP socket cache page. It is still beneficial to purely use pages for TSO, so we will do it for that case. Signed-off-by: David S. Miller commit aa93466bdfd901b926e033801f0b82b3eaa67be2 Author: David S. Miller Date: Tue Jul 5 15:20:09 2005 -0700 [TCP]: Eliminate redundant computations in tcp_write_xmit(). tcp_snd_test() is run for every packet output by a single call to tcp_write_xmit(), but this is not necessary. For one, the congestion window space needs to only be calculated one time, then used throughout the duration of the loop. This cleanup also makes experimenting with different TSO packetization schemes much easier. Signed-off-by: David S. Miller commit 7f4dd0a9438c73cbb1c240ece31390cf2c57294e Author: David S. Miller Date: Tue Jul 5 15:19:54 2005 -0700 [TCP]: Break out tcp_snd_test() into it's constituent parts. tcp_snd_test() does several different things, use inline functions to express this more clearly. 1) It initializes the TSO count of SKB, if necessary. 2) It performs the Nagle test. 3) It makes sure the congestion window is adhered to. 4) It makes sure SKB fits into the send window. This cleanup also sets things up so that things like the available packets in the congestion window does not need to be calculated multiple times by packet sending loops such as tcp_write_xmit(). Signed-off-by: David S. Miller commit 55c97f3e990c1ff63957c64f6cb10711a09fd70e Author: David S. Miller Date: Tue Jul 5 15:19:38 2005 -0700 [TCP]: Fix __tcp_push_pending_frames() 'nonagle' handling. 'nonagle' should be passed to the tcp_snd_test() function as 'TCP_NAGLE_PUSH' if we are checking an SKB not at the tail of the write_queue. This is because Nagle does not apply to such frames since we cannot possibly tack more data onto them. However, while doing this __tcp_push_pending_frames() makes all of the packets in the write_queue use this modified 'nonagle' value. Fix the bug and simplify this function by just calling tcp_write_xmit() directly if sk_send_head is non-NULL. As a result, we can now make tcp_data_snd_check() just call tcp_push_pending_frames() instead of the specialized __tcp_data_snd_check(). Signed-off-by: David S. Miller commit a2e2a59c93cc8ba39caa9011c2573f429e40ccd9 Author: David S. Miller Date: Tue Jul 5 15:19:23 2005 -0700 [TCP]: Fix redundant calculations of tcp_current_mss() tcp_write_xmit() uses tcp_current_mss(), but some of it's callers, namely __tcp_push_pending_frames(), already has this value available already. While we're here, fix the "cur_mss" argument to be "unsigned int" instead of plain "unsigned". Signed-off-by: David S. Miller commit 92df7b518dcb113de8bc2494e3cd275ad887f12b Author: David S. Miller Date: Tue Jul 5 15:19:06 2005 -0700 [TCP]: tcp_write_xmit() tabbing cleanup Put the main basic block of work at the top-level of tabbing, and mark the TCP_CLOSE test with unlikely(). Signed-off-by: David S. Miller commit a762a9800752f05fa8768bb0ac35d0e7f1bcfe7f Author: David S. Miller Date: Tue Jul 5 15:18:51 2005 -0700 [TCP]: Kill extra cwnd validate in __tcp_push_pending_frames(). The tcp_cwnd_validate() function should only be invoked if we actually send some frames, yet __tcp_push_pending_frames() will always invoke it. tcp_write_xmit() does the call for us, so the call here can simply be removed. Also, tcp_write_xmit() can be marked static. Signed-off-by: David S. Miller commit f44b527177d57ed382bfd93e1b55232465f6d058 Author: David S. Miller Date: Tue Jul 5 15:18:34 2005 -0700 [TCP]: Add missing skb_header_release() call to tcp_fragment(). When we add any new packet to the TCP socket write queue, we must call skb_header_release() on it in order for the TSO sharing checks in the drivers to work. Signed-off-by: David S. Miller commit 84d3e7b9573291a1ea845bdd51b74bb484597661 Author: David S. Miller Date: Tue Jul 5 15:18:18 2005 -0700 [TCP]: Move __tcp_data_snd_check into tcp_output.c It reimplements portions of tcp_snd_check(), so it we move it to tcp_output.c we can consolidate it's logic much easier in a later change. Signed-off-by: David S. Miller commit f6302d1d78f77c2d4c8bd32b0afc2df7fdf5f281 Author: David S. Miller Date: Tue Jul 5 15:18:03 2005 -0700 [TCP]: Move send test logic out of net/tcp.h This just moves the code into tcp_output.c, no code logic changes are made by this patch. Using this as a baseline, we can begin to untangle the mess of comparisons for the Nagle test et al. We will also be able to reduce all of the redundant computation that occurs when outputting data packets. Signed-off-by: David S. Miller commit fc6415bcb0f58f03adb910e56d7e1df6368794e0 Author: David S. Miller Date: Tue Jul 5 15:17:45 2005 -0700 [TCP]: Fix quick-ack decrementing with TSO. On each packet output, we call tcp_dec_quickack_mode() if the ACK flag is set. It drops tp->ack.quick until it hits zero, at which time we deflate the ATO value. When doing TSO, we are emitting multiple packets with ACK set, so we should decrement tp->ack.quick that many segments. Note that, unlike this case, tcp_enter_cwr() should not take the tcp_skb_pcount(skb) into consideration. That function, one time, readjusts tp->snd_cwnd and moves into TCP_CA_CWR state. Signed-off-by: David S. Miller commit c65f7f00c587828e3d50737805a78f74804972de Author: David S. Miller Date: Tue Jul 5 15:17:25 2005 -0700 [TCP]: Simplify SKB data portion allocation with NETIF_F_SG. The ideal and most optimal layout for an SKB when doing scatter-gather is to put all the headers at skb->data, and all the user data in the page array. This makes SKB splitting and combining extremely simple, especially before a packet goes onto the wire the first time. So, when sk_stream_alloc_pskb() is given a zero size, make sure there is no skb_tailroom(). This is achieved by applying SKB_DATA_ALIGN() to the header length used here. Next, make select_size() in TCP output segmentation use a length of zero when NETIF_F_SG is true on the outgoing interface. Signed-off-by: David S. Miller commit b8259d9ad1d0f8d0c5ea0e37bb15080b0bd395b5 Author: Alexey Dobriyan Date: Tue Jul 5 15:12:04 2005 -0700 [NET]: Remove __ARGS from include/net/slhc_vj.h I suspect "#define __ARGS(x) ()" was deprecated before I was born. Signed-off-by: Alexey Dobriyan Signed-off-by: Domen Puncer Signed-off-by: David S. Miller commit 52609c0b56d7c8dfb6e16ec0a715adf8fcbdae36 Author: David Chau Date: Tue Jul 5 15:11:06 2005 -0700 [NET]: improve readability of dev_set_promiscuity() in net/core/dev.c A trivial patch to improve the readability of dev_set_promiscuity() in net/core/dev.c. New code does exactly the same thing as original code. Signed-off-by: David Chau Signed-off-by: Domen Puncer Signed-off-by: David S. Miller commit bc971dee6ece1fd0d431948924becd9c50e7b778 Author: Christoph Hellwig Date: Tue Jul 5 15:03:46 2005 -0700 [SHAPER]: Switch to spinlocks. Dave, you were right and the sleeping locks in shaper were broken. Markus Kanet noticed this and also tested the patch below that switches locking to spinlocks. Signed-off-by: Christoph Hellwig Signed-off-by: David S. Miller commit 2f36895aa774cf4d1c3d68921e0209e796b66600 Author: Robert Olsson Date: Tue Jul 5 15:02:40 2005 -0700 [IPV4]: More broken memory allocation fixes for fib_trie Below a patch to preallocate memory when doing resize of trie (inflate halve) If preallocations fails it just skips the resize of this tnode for this time. The oops we got when killing bgpd (with full routing) is now gone. Patrick memory patch is also used. Signed-off-by: Robert Olsson Signed-off-by: David S. Miller commit db1322b8012e1a8ad711c04813817328cff46718 Author: Thomas Graf Date: Tue Jul 5 15:01:25 2005 -0700 [DECNET]: Fix memset overflow on 64bit archs while dumping decnet routing rules Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit bb1d23b02657f494dff295f6cdd1f29df30fa61e Author: Eric Dumazet Date: Tue Jul 5 15:00:32 2005 -0700 [IPV4]: Bug fix in rt_check_expire() - rt_check_expire() fixes (an overflow occured if size of the hash was >= 65536) reminder of the bugfix: The rt_check_expire() has a serious problem on machines with large route caches, and a standard HZ value of 1000. With default values, ie ip_rt_gc_interval = 60*HZ = 60000 ; the loop count : for (t = ip_rt_gc_interval << rt_hash_log; t >= 0; overflows (t is a 31 bit value) as soon rt_hash_log is >= 16 (65536 slots in route cache hash table). In this case, rt_check_expire() does nothing at all Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 424c4b70cc4ff3930ee36a2ef7b204e4d704fd26 Author: Eric Dumazet Date: Tue Jul 5 14:58:19 2005 -0700 [IPV4]: Use the fancy alloc_large_system_hash() function for route hash table - rt hash table allocated using alloc_large_system_hash() function. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 22c047ccbc68fa8f3fa57f0e8f906479a062c426 Author: Eric Dumazet Date: Tue Jul 5 14:55:24 2005 -0700 [NET]: Hashed spinlocks in net/ipv4/route.c - Locking abstraction - Spinlocks moved out of rt hash table : Less memory (50%) used by rt hash table. it's a win even on UP. - Sizing of spinlocks table depends on NR_CPUS Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit f0e36f8cee8101604378085171c980d9cc71d779 Author: Patrick McHardy Date: Tue Jul 5 14:44:55 2005 -0700 [IPV4]: Handle large allocations in fib_trie Inflating a node a couple of times makes it exceed the 128k kmalloc limit. Use __get_free_pages for allocations > PAGE_SIZE, as in fib_hash. Signed-off-by: Patrick McHardy Acked-by: Robert Olsson Signed-off-by: David S. Miller commit 93e266f600f4048fe7a2e8803abb9f8baff84aa7 Author: David S. Miller Date: Tue Jul 5 14:43:19 2005 -0700 [TG3]: Update driver version and reldate. Signed-off-by: David S. Miller commit d244c892c8e23d6baba88af88f78f7201a224d39 Author: Michael Chan Date: Tue Jul 5 14:42:33 2005 -0700 [TG3]: support for ethtool -C Add support for ethtool -C with verification of user parameters. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit e2ed4052aa662e7cfb22a1793b9d8158603be6d7 Author: Herbert Xu Date: Tue Jul 5 14:41:20 2005 -0700 [IPV6]: Makes IPv6 rcv registration happen last during initialisation. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 30e224d76f34e041c30df66a4dcbeeb53556ea3f Author: Herbert Xu Date: Tue Jul 5 14:40:10 2005 -0700 [IPV4]: Fix crash in ip_rcv while booting related to netconsole Makes IPv4 ip_rcv registration happen last in af_inet. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit a31488ca4b8476a8dd301b21388631df52d05c5a Author: David S. Miller Date: Tue Jul 5 14:24:35 2005 -0700 [SKGE]: Fix build on big-endian Missing PCI_REV_DESC define. Signed-off-by: David S. Miller commit d06e7a56d91328267a96b1a4df4ede7529f829e8 Merge: 346fced899c7390e555cf90cd07d1e56b460d21b 864ae180074931f3a28c84ea85aa8cfeca18bc4f Author: Linus Torvalds Date: Tue Jul 5 14:17:40 2005 -0700 Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 commit 023e09a767a89bf1b8646307410852d93fd72f00 Author: Thomas Graf Date: Tue Jul 5 14:15:53 2005 -0700 [PKT_SCHED]: Report rate estimator configuration errors during qdisc allocation Current behaviour is to not report an error if a rate estimator is created together with a qdisc and the configuration of the rate estimator is bogus. This leads to unexpected behaviour because the user is not notified. New behaviour is to report the error and let the whole qdisc creation operation fail so the user is able to fix his mistake. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 3d54b82fdf0ca79608f61448fb8ab92676487645 Author: Thomas Graf Date: Tue Jul 5 14:15:09 2005 -0700 [PKT_SCHED]: Cleanup qdisc creation and alignment macros Adds qdisc_alloc() to share code between qdisc_create() and qdisc_create_dflt(). Hides the qdisc alignment behind macros and makes use of them. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit e41a33e6ec20a0a6ac762629149e36cab5d4213f Author: Thomas Graf Date: Tue Jul 5 14:14:30 2005 -0700 [PKT_SCHED]: Move sch_generic.c prototypes to correct header file Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 1cbb3380ef683f742876f48e3739b3df4ea9e168 Author: Thomas Graf Date: Tue Jul 5 14:13:41 2005 -0700 [NET]: Reduce size of sk_buff by 4 bytes Reduce local_df to a bit field and ip_summed to a 2 bits field thus saving 13 bits. Move bit fields, packet type, and protocol into the spare area between the priority and the destructor. Saves 4 bytes on both, 32bit and 64bit architectures. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit e176fe8954a5239c24afe79b1001ba3c29511963 Author: Thomas Graf Date: Tue Jul 5 14:12:44 2005 -0700 [NET]: Remove unused security member in sk_buff Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 3154e540e374bbfd62693d95bc8ed51da95efe75 Author: Patrick McHardy Date: Tue Jul 5 14:10:40 2005 -0700 [NET]: net/core/filter.c: make len cover the entire packet As suggested by Herbert Xu: Since we don't require anything to be in the linear packet range anymore make len cover the entire packet. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0b05b2a49e430220876f8faa7e4778dc7497033c Author: Patrick McHardy Date: Tue Jul 5 14:10:21 2005 -0700 [NET]: Consolidate common code in net/core/filter.c Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6935d46c2da64aa032a557374c95336e265cd7ef Author: Patrick McHardy Date: Tue Jul 5 14:08:57 2005 -0700 [NET]: Remove redundant code in net/core/filter.c skb_header_pointer handles linear and non-linear data, no need to handle linear data again. Signed-off-by: Patrick McHardy Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 55820ee2f8c767a2833b21bd365e5753f50bd8ce Author: Patrick McHardy Date: Tue Jul 5 14:08:10 2005 -0700 [NET]: Fix signedness issues in net/core/filter.c This is the code to load packet data into a register: k = fentry->k; if (k < 0) { ... } else { u32 _tmp, *p; p = skb_header_pointer(skb, k, 4, &_tmp); if (p != NULL) { A = ntohl(*p); continue; } } skb_header_pointer checks if the requested data is within the linear area: int hlen = skb_headlen(skb); if (offset + len <= hlen) return skb->data + offset; When offset is within [INT_MAX-len+1..INT_MAX] the addition will result in a negative number which is <= hlen. I couldn't trigger a crash on my AMD64 with 2GB of memory, but a coworker tried on his x86 machine and it crashed immediately. This patch fixes the check in skb_header_pointer to handle large positive offsets similar to skb_copy_bits. Invalid data can still be accessed using negative offsets (also similar to skb_copy_bits), anyone using negative offsets needs to verify them himself. Thanks to Thomas Vögtle for verifying the problem by crashing his machine and providing me with an Oops. Signed-off-by: Patrick McHardy Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 346fced899c7390e555cf90cd07d1e56b460d21b Merge: 17af691cd19765b782d891fc50c1568d0f1276b3 43a6b76050aa137c51d00eec91d67ac43ac3846e Author: Linus Torvalds Date: Tue Jul 5 11:35:58 2005 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 commit 864ae180074931f3a28c84ea85aa8cfeca18bc4f Author: David S. Miller Date: Mon Jul 4 15:58:19 2005 -0700 [SPARC64]: Fix IRQ retry interval timer value on sparc64 PCI controllers. Use '5' instead of 'infinity'. Signed-off-by: David S. Miller commit 9fba62a59cf1407cd5495f6c61d22d169ca1553f Author: David S. Miller Date: Mon Jul 4 14:53:33 2005 -0700 [SPARC64]: Small Schizo PCI controller programming tweaks. Use macro instead of magic value for Tomatillo discard- timeout interrupt enable register bit. Leave OBP programming PTO value unless Tomatillo and version >= 0x2. If no-bus-parking property is present, explicitly clear PCICTRL_PARK bit. Signed-off-by: David S. Miller commit bb6743f4f0aed5c1f09fa77cd8d3973c31792f4f Author: David S. Miller Date: Mon Jul 4 13:26:04 2005 -0700 [SPARC64]: Do proper DMA IRQ syncing on Tomatillo This was the main impetus behind adding the PCI IRQ shim. In order to properly order DMA writes wrt. interrupts, you have to write to a PCI controller register, then poll for that bit clearing. There is one bit for each interrupt source, and setting this register bit tells Tomatillo to drain all pending DMA from that device. Furthermore, Tomatillo's with revision less than 4 require us to do a block store due to some memory transaction ordering issues it has on JBUS. Signed-off-by: David S. Miller commit 088dd1f81b3577c17c4c4381696bf2105ea0e43a Author: David S. Miller Date: Mon Jul 4 13:24:38 2005 -0700 [SPARC64]: Add support for IRQ pre-handlers. This allows a PCI controller to shim into IRQ delivery so that DMA queues can be drained, if necessary. If some bus specific code needs to run before an IRQ handler is invoked, the bus driver simply needs to setup the function pointer in bucket->irq_info->pre_handler and the two args bucket->irq_info->pre_handler_arg[12]. The Schizo PCI driver is converted over to use a pre-handler for the DMA write-sync processing it needs when a device is behind a PCI->PCI bus deeper than the top-level APB bridges. While we're here, clean up all of the action allocation and handling. Now, we allocate the irqaction as part of the bucket->irq_info area. There is an array of 4 irqaction (for PCI irq sharing) and a bitmask saying which entries are active. The bucket->irq_info is allocated at build_irq() time, not at request_irq() time. This simplifies request_irq() and free_irq() tremendously. The SMP dynamic IRQ retargetting code got removed in this change too. It was disabled for a few months now, and we can resurrect it in the future if we want. Signed-off-by: David S. Miller commit 06326e40b7c66477d4a460bfc23c951f7b39f191 Author: Christoph Hellwig Date: Mon Jul 4 13:24:14 2005 -0700 [SPARC]: bpp: remove sleep_on usage Use schedule_timeout() instead of sleep_on + timer. Totally untested due to lack of hardware, but the changes are rather trivial. Signed-off-by: David S. Miller commit e7270dec080002d8aa18256c756af6c32331ef48 Author: Raphael Assenat Date: Mon Jul 4 13:23:45 2005 -0700 [SPARC64/COMPAT]: Add some compat ioctl for ppdev The following patch adds some ioctls to include/linux/compat_ioctl.h to allow using ppdev from the 32 bit user space on sparc64. This patch also adds the PPDEV option in the sparc64 menu, near Parallel printer support in the 'General machine setup' submenu. All those ioctls seem to be compatible, since (correct me if I'm wrong) they dont use the 'long' type. See include/linux/ppdev.h. The application I used to test the new ioctls only used the following: PPEXCL PPCLAIM PPNEGOT PPGETMODES PPRCONTROL PPWCONTROL PPDATADIR PPWDATA PPRDATA But I beleive that the other ioctls will work fine. Signed-off-by: David S. Miller commit 17af691cd19765b782d891fc50c1568d0f1276b3 Author: Russell King Date: Mon Jul 4 13:02:46 2005 +0100 [PATCH] ARM: Fix new-ABI layout of struct stat64 Add __attribute__((packed)) to ensure that the stat64 structure is correctly laid out no matter which ABI the kernel is compiled for. Signed-off-by: Russell King commit 68070bdeeca7b7af6a42c0b3e5b1247e83c22ff9 Author: Russell King Date: Mon Jul 4 10:44:34 2005 +0100 [PATCH] ARM: Fix non-standard PXA io_pg_offst initialisers These didn't match my sed expression correctly, fix them up manually. Signed-off-by: Russell King commit f9bd6ea446946b97208f9e1528eb5f9ef8f931cb Author: Russell King Date: Mon Jul 4 10:43:36 2005 +0100 [PATCH] ARM: Change 'param_offset' to 'boot_params' Signed-off-by: Russell King commit 19f7241a3b087bbf4dd107c979608fdb56c83a09 Merge: 08ab8c20316d6189a16b8101544a3e32b4c75e49 0d670b413f042eccdffc45bafb9840244752707f Author: Linus Torvalds Date: Sun Jul 3 14:39:33 2005 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm commit 08ab8c20316d6189a16b8101544a3e32b4c75e49 Merge: 10e047b40aafefef1fdc8ea4ea7837b9557a9400 976ecd12b8144d066a23fe97c6fbfc1ac8470af7 Author: Linus Torvalds Date: Sun Jul 3 14:37:09 2005 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-serial commit 976ecd12b8144d066a23fe97c6fbfc1ac8470af7 Author: Russell King Date: Sun Jul 3 21:05:45 2005 +0100 [PATCH] Serial: Fix console port spinlock initialisation Initialise the spinlock for port being used by the console early, but don't re-initialise it again later. Signed-off-by: Russell King commit 0d670b413f042eccdffc45bafb9840244752707f Author: Catalin Marinas Date: Sun Jul 3 17:53:25 2005 +0100 [PATCH] ARM: 2784/1: Fix the block cache flush operation range Patch from Catalin Marinas The range for the ARMv6 block cache operations is inclusive but the kernel doesn't re-calculate the end address, causing a page fault when used (this only happens with support for cache aliasing, otherwise the blk_flush_kern_dcache_page() is not called). This patch subtracts L1_CACHE_BYTES from the end address. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 75f631dc45c7327df26b82b9aea69376a306409c Author: Ben Dooks Date: Sun Jul 3 17:44:40 2005 +0100 [PATCH] ARM: 2785/1: S3C24XX - serial calls request_irq() with IRQs disabled Patch from Ben Dooks The request_irq() function is called by s3c24xx uart driver with the local IRQs disabled. The request_irq() function can allocate memory via kmalloc(), and this may sleep causing a warning about sleeping in an invalid context. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit e9dea0c65d2de6981356c055781fb99d7191b14e Author: Russell King Date: Sun Jul 3 17:38:58 2005 +0100 [PATCH] ARM: Remove machine description macros Remove the pointless machine description macros, favouring C99 initialisers instead. Signed-off-by: Russell King commit 10e047b40aafefef1fdc8ea4ea7837b9557a9400 Author: Adrian Bunk Date: Sun Jul 3 17:44:10 2005 +0200 [PATCH] drivers/ide/Makefile: kill dead CONFIG_BLK_DEV_IDE_TCQ entry This patch kills the dead CONFIG_BLK_DEV_IDE_TCQ entry. Signed-off-by: Adrian Bunk commit 21e2c01dc3e38d466eda5871645878d2c3a33261 Author: Rob Punkunus Date: Sun Jul 3 17:37:18 2005 +0200 [PATCH] amd74xx: support MCP55 device IDs From: Rob Punkunus Rob Punkunus recently submitted a patch to enable support for MCP51/MCP55 in the amd74xx driver. This patch was whitespace-corrupted and didn't apply to 2.6.12 since MCP51 support was merged in the 2.6.12-rc series. Gentoo would like to support this hardware for our upcoming release media, so I fixed the patch, and here it is :) Signed-off-by: Daniel Drake commit 13bbbf28fb914da6707aad44a073651f5c9d13a5 Author: Denis Vlasenko Date: Sun Jul 3 17:09:13 2005 +0200 [PATCH] ide: fix line break in ide messages From: Denis Vlasenko * printk("\n") is misplaced, resulting in stray empty line in kernel log * cleanups nerby: some back-to-back printks are combined, etc commit f3718d3e135117f80de0ff219be91544baa75599 Author: Herbert Xu Date: Sun Jul 3 16:42:18 2005 +0200 [PATCH] ide: hotplug mark __devinit via82cxxx.c From: Herbert Xu mark the __init section __devinit. Splitted up from the Debian kernel patch. Signed-off-by: maximilian attems commit d6904ab66f74cb99793e3919fc589dd0163a7740 Author: Herbert Xu Date: Sun Jul 3 16:40:31 2005 +0200 [PATCH] ide: hotplug mark __devinit triflex.c From: Herbert Xu mark the __init section __devinit. Splitted up from the Debian kernel patch. Signed-off-by: maximilian attems commit 97319630b21c2022a55d51a6cfbf53cbb84a2f42 Author: Herbert Xu Date: Sun Jul 3 16:38:51 2005 +0200 [PATCH] ide: hotplug mark __devinit slc90e66.c From: Herbert Xu mark the __init section __devinit. Splitted up from the Debian kernel patch. Signed-off-by: maximilian attems commit 34a6224691e638dd36b393aa439d021a19578fcc Author: Herbert Xu Date: Sun Jul 3 16:36:56 2005 +0200 [PATCH] ide: hotplug mark __devinit sl82c105.c From: Herbert Xu mark the __init section __devinit. Splitted up from the Debian kernel patch. Signed-off-by: maximilian attems commit 6a6e1b1cf41b0bf35fffbf18787e8d8f865b66d6 Author: Herbert Xu Date: Sun Jul 3 16:35:07 2005 +0200 [PATCH] ide: hotplug mark __devinit sc1200.c From: Herbert Xu mark the __init section __devinit. Splitted up from the Debian kernel patch. Signed-off-by: maximilian attems commit 9307145700e869dd410d565477f98377e93e9160 Author: Herbert Xu Date: Sun Jul 3 16:33:16 2005 +0200 [PATCH] ide: hotplug mark __devinit opti621.c From: Herbert Xu mark the __init section __devinit. Splitted up from the Debian kernel patch. Signed-off-by: maximilian attems commit c20530ed26e5b9e3b188b4088d0a5ab1d773a529 Author: Herbert Xu Date: Sun Jul 3 16:31:04 2005 +0200 [PATCH] ide: hotplug mark __devinit ns87415.c From: Herbert Xu mark the __init section __devinit. Splitted up from the Debian kernel patch. Signed-off-by: maximilian attems commit a380a8849f90ba81a5ff0c325fd5d8125c70b3bb Author: Herbert Xu Date: Sun Jul 3 16:28:44 2005 +0200 [PATCH] ide: hotplug mark __devinit it8172.c From: Herbert Xu mark the __init section __devinit. Splitted up from the Debian kernel patch. Signed-off-by: maximilian attems commit ddbc9fb47252f9b6966bfe9b0aa27bfeaa585cca Author: Herbert Xu Date: Sun Jul 3 16:25:46 2005 +0200 [PATCH] ide: hotplug mark __devinit cy82c693.c From: Herbert Xu mark the __init section __devinit. Splitted up from the Debian kernel patch. Signed-off-by: maximilian attems commit 88de8e996f16b958721368ed9b4fd4e29cdb923e Author: Herbert Xu Date: Sun Jul 3 16:23:08 2005 +0200 [PATCH] ide: hotplug mark __devinit cs5530.c From: Herbert Xu mark the __init section __devinit. Splitted up from the Debian kernel patch. Signed-off-by: maximilian attems commit e895f926cd8b6d50a42cc985d470bdc9a70caeed Author: Herbert Xu Date: Sun Jul 3 16:15:41 2005 +0200 [PATCH] ide: hotplug mark __devinit amd74xx.c From: Herbert Xu mark the __init section __devinit. Splitted up from the Debian kernel patch. Signed-off-by: maximilian attems commit c2f12589bfc4119f2c331ecea8cca4945ed48497 Author: Herbert Xu Date: Sun Jul 3 16:06:13 2005 +0200 [PATCH] ide: hotplug mark __devinit alim15x3.c From: Herbert Xu mark the __init section __devinit. Splitted up from the Debian kernel patch. see the thread about the pci hotplug crash on a stratus box. http://marc.theaimsgroup.com/?l=linux-kernel&m=111930108613386&w=2 Signed-off-by: maximilian attems commit 1d6bebf2ecf92924492c491d9c3a72edba95f907 Merge: 86166f9846590fa46f8e24e9346d002e938a8b81 3eee0d03e33b0294eb3165c96f213a8c8ee461a8 Author: Linus Torvalds Date: Sat Jul 2 10:39:09 2005 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-mmc commit 86166f9846590fa46f8e24e9346d002e938a8b81 Merge: 44f8e1a20cf3afe10a3744bd9317808a39a242bb db5795547694cf68388aaf8f59723e850f7466f6 Author: Linus Torvalds Date: Sat Jul 2 10:37:50 2005 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm commit 44f8e1a20cf3afe10a3744bd9317808a39a242bb Author: Linus Torvalds Date: Sat Jul 2 10:35:33 2005 -0700 If ACPI doesn't find an irq listed, don't accept 0 as a valid PCI irq. That zero just means that nothing else found any irq information either. commit 43a6b76050aa137c51d00eec91d67ac43ac3846e Author: Andy Whitcroft Date: Mon Jun 20 14:29:25 2005 -0700 [PATCH] gregkh-pci-pci-assign-unassigned-resources fix It seems that X86 architectures in general need the setup-bus.o not just those with HOTPLUG. This avoids the following error on X86_NUMAQ and x86_64: arch/i386/pci/built-in.o(.init.text+0x15a6): In function `pcibios_init': : undefined reference to `pci_assign_unassigned_resources' Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 5848f23d811acc1cb6c19a12e1341e0640a85d0e Author: John W. Linville Date: Fri Jul 1 14:07:28 2005 -0400 [PATCH] pci: cleanup argument comments for pci_{save,restore}_state The buffer arguments have been removed from pci_{save,restore}_state. The comment blocks for those functions should reflect that. Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit c6e21e1683c2508a2b23588e1fc2e7bf6fc2549e Author: Hannes Reinecke Date: Tue Jun 28 14:57:10 2005 +0200 [PATCH] PCI: Remove newline from pci MODALIAS variable the pci core sends out a hotplug event variable MODALIAS with a trailing newline. This is inconsistent with all other event variables and breaks some hotplug tools. This patch removes the said newline. Signed-off-by: Greg Kroah-Hartman commit 5823d100ae260d022b4dd5ec9cc0b85f0bf0d646 Author: long Date: Wed Jun 22 09:09:54 2005 -0700 [PATCH] PCI: acpi tg3 ethernet not coming back properly after S3 suspendon DellM70 This patch, is based on kernel 2.6.12, provides a fix for PCIe port bus driver suspend/resume. Signed-off-by: T. Long Nguyen Signed-off-by: Greg Kroah-Hartman commit a00db371624e2e3718e5ab7d73bf364681098106 Author: Jean Delvare Date: Wed Jun 29 17:04:06 2005 +0200 [PATCH] PCI: Add PCI quirk for SMBus on the Asus P4B-LX One more Asus motherboard requiring the SMBus quirk (P4B-LX). Original patch from Salah Coronya. Signed-off-by: Salah Coronya Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman commit 75865858971add95809c5c9cd35dc4cfba08e33b Author: Greg Kroah-Hartman Date: Thu Jun 30 02:18:12 2005 -0700 [PATCH] PCI: clean up dynamic pci id logic The dynamic pci id logic has been bothering me for a while, and now that I started to look into how to move some of this to the driver core, I thought it was time to clean it all up. It ends up making the code smaller, and easier to follow, and fixes a few bugs at the same time (dynamic ids were not being matched everywhere, and so could be missed on some call paths for new devices, semaphore not needed to be grabbed when adding a new id and calling the driver core, etc.) I also renamed the function pci_match_device() to pci_match_id() as that's what it really does. Signed-off-by: Greg Kroah-Hartman commit 299de0343c7d18448a69c635378342e9214b14af Author: Ivan Kokshaysky Date: Wed Jun 15 18:59:27 2005 +0400 [PATCH] PCI: pci_assign_unassigned_resources() on x86 - Add sanity check for io[port,mem]_resource in setup-bus.c. These resources look like "free" as they have no parents, but obviously we must not touch them. - In i386.c:pci_allocate_bus_resources(), if a bridge resource cannot be allocated for some reason, then clear its flags. This prevents any child allocations in this range, so the setup-bus code will work with a clean resource sub-tree. - i386.c:pcibios_enable_resources() doesn't enable bridges, as it checks only resources 0-5, which looks like a clear bug to me. I suspect it might break hotplug as well in some cases. From: Ivan Kokshaysky Signed-off-by: Greg Kroah-Hartman commit 90b54929b626c80056262d9d99b3f48522e404d0 Author: Ivan Kokshaysky Date: Tue Jun 7 04:07:02 2005 +0400 [PATCH] PCI: handle subtractive decode pci-pci bridge better With the number of PCI bus resources increased to 8, we can handle the subtractive decode PCI-PCI bridge like a normal bridge, taking into account standard PCI-PCI bridge windows (resources 0-2). This helps to avoid problems with peer-to-peer DMA behind such bridges, poor performance for MMIO ranges outside bridge windows and prefetchable vs. non-prefetchable memory issues. To reflect the fact that such bridges do forward all addresses to the secondary bus (transparency), remaining bus resources 3-7 are linked to resources 0-4 of the primary bus. These resources will be used as fallback by resource management code if allocation from standard bridge windows fails for some reason. Signed-off-by: Ivan Kokshaysky Acked-by: Dominik Brodowski Signed-off-by: Greg Kroah-Hartman commit a03fa955576af50df80bec9127b46ef57e0877c0 Author: rajesh.shah@intel.com Date: Thu Jun 2 15:41:48 2005 -0700 [PATCH] PCI: Increase the number of PCI bus resources This patch increases the number of resource pointers in the pci_bus structure. This is needed to store >4 resource ranges for host bridges and transparent PCI bridges. With this change, all PCI buses will have more resource pointers, but most PCI buses will only use the first 3 or 4, the remaining being NULL. The PCI core already deals with this correctly. Signed-off-by: Rajesh Shah Signed-off-by: Greg Kroah-Hartman commit 26f674ae0e37190bf61c988e52911e4372fdb5f5 Author: Greg Kroah-Hartman Date: Thu Jun 2 15:41:48 2005 -0700 [PATCH] PCI: Fix up PCI routing in parent bridge When the cardbus bridge is behind another bridge change the routing in the parent bridge for new cards. This fixes Cardbus on various AMD64 laptops. Signed-off-by: Andi Kleen Signed-off-by: Greg Kroah-Hartman commit 4a89a04f1ee21a7c1f4413f1ad7dcfac50ff9b63 Author: Ivan Kokshaysky Date: Fri Jul 1 16:46:26 2005 +0400 [PATCH] alpha smp fix (part #2) This fixes the bug that caused BUG_ON(!irqs_disabled()) to trigger in run_posix_cpu_timers() on alpha/smp. We didn't disable interrupts properly before calling smp_percpu_timer_interrupt(). We *do* disable interrupts everywhere except this unfortunate smp_percpu_timer_interrupt(). Fixed thus. Signed-off-by: Linus Torvalds commit 3eee0d03e33b0294eb3165c96f213a8c8ee461a8 Author: Adrian Bunk Date: Fri Jul 1 13:07:37 2005 +0100 [PATCH] MMC: wbsd cleanups This patch contains the following possible cleanups: - make some needlessly global code static - remove the unneeded global function DBG_REG Signed-off-by: Adrian Bunk Signed-off-by: Russell King commit 6e6293dd3d4372c114674266158053d049366a0d Author: Pierre Ossman Date: Fri Jul 1 12:13:55 2005 +0100 [PATCH] MMC: wbsd delayed insertion Wait 0.5 seconds before scanning for cards after an insertion interrupt. The electrical connection needs this time to stabilise for some cards. Signed-off-by: Pierre Ossman Signed-off-by: Russell King commit db5795547694cf68388aaf8f59723e850f7466f6 Author: Nishanth Aravamudan Date: Fri Jul 1 12:11:51 2005 +0100 [PATCH] ARM: replace schedule_timeout() with msleep() Use msleep() instead of schedule_timeout() to guarantee the task delays as expected. Neither signals nor wait-queue events are important at this point in the code, I believe. Signed-off-by: Nishanth Aravamudan Signed-off-by: Domen Puncer Signed-off-by: Russell King commit 7b09cdac5af1e13ab4b30421ae5c4b7953c26841 Author: Russell King Date: Fri Jul 1 12:02:59 2005 +0100 [PATCH] MMC: Fix divdi3 reference in mmci.c Use do_div() instead. Signed-off-by: Russell King commit c77b042700ae1fc4d661d7d62787899e755160d5 Author: Russell King Date: Fri Jul 1 11:56:55 2005 +0100 [PATCH] ARM: Make the magic values in head.S more obvious Make the magic address values in head.S more obvious as to where they came from. Wrap all debug code in CONFIG_DEBUG_LL. Signed-off-by: Russell King commit e695f60454f665604fe1b6e473f25b098203965a Author: Ben Dooks Date: Fri Jul 1 11:27:06 2005 +0100 [PATCH] ARM: 2783/1: Remove omnimeter_defconfig as there is no kernel support Patch from Ben Dooks The omnimeter_defconfig does not define any machines and seems to have no other support in the current kernel. This patch removes the config file, as this is the only thing currently mentioning the ominmeter. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 3e18a45abc5b20db2e34f02b87226ac2713bbb13 Author: Todd Poynor Date: Fri Jul 1 11:27:06 2005 +0100 [PATCH] ARM: 2782/1: PXA27x MDREFR K0DB4 define Patch from Todd Poynor Add definition of K0DB4 SDCLK<0,3> divide-by-4 control/status bit in the MDREFR register for Intel XScale PXA27x. Signed-off-by: Todd Poynor Signed-off-by: Russell King commit 26705ca46bdf81113cc6729eb12b9eee2263bbfc Author: Todd Poynor Date: Fri Jul 1 11:27:05 2005 +0100 [PATCH] ARM: 2781/2: PXA27x Standby mode take 2 Patch from Todd Poynor Add support for PXA27x Standby mode, a low-power mode that retains CPU and some peripheral state (the existing "sleep" mode is a power-power mode that retains less state). Activated via: echo -n standby > /sys/power/state From: David Burrage and Todd Poynor Signed-off-by: Todd Poynor Signed-off-by: Russell King commit ef6689eff4b58273fed9e54293a3da983b321e9a Author: Andrew Morton Date: Thu Jun 30 22:13:14 2005 -0700 [PATCH] fatfs sectioning fix Fixup for the recent slab leak fix Cc: Pekka Enberg Cc: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eaf05be039cf5adfba5b1846452ce89646110fdb Author: Ivan Kokshaysky Date: Thu Jun 30 20:02:18 2005 +0400 [PATCH] alpha smp fix As usual, the reason of this breakage is quite silly: in do_entIF, we are checking for PS == 0 to see whether it was a kernel BUG() or userspace trap. It works, unless BUG() happens in interrupt - PS is not 0 in kernel mode due to non-zero IPL, and the things get messed up horribly then. In this particular case it was BUG_ON(!irqs_disabled()) triggered in run_posix_cpu_timers(), so we ended up shooting "current" with the bursts of one SIGTRAP and three SIGILLs on every timer tick. ;-) commit 62351cc38d3eaf3de0327054dd6ebc039f4da80d Merge: d471cd4787351c05d6be749475418ccea2720ef4 747aead34de65c25765da79825ce2c08d8257b10 Author: Linus Torvalds Date: Thu Jun 30 17:07:37 2005 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm commit d471cd4787351c05d6be749475418ccea2720ef4 Merge: bd53d1270f51c6cfb53b06c8f93fd42327871d6b 44454bcdb90532b372c74e3546043d8a3a468939 Author: Linus Torvalds Date: Thu Jun 30 17:04:54 2005 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-serial commit 747aead34de65c25765da79825ce2c08d8257b10 Author: Catalin Marinas Date: Thu Jun 30 23:01:09 2005 +0100 [PATCH] ARM: 2780/1: AFS partition length calculation fix Patch from Catalin Marinas This patch calculates the AFS partition length by expanding the image length information to the nearest erase block boundary. This eliminates the problems with JFFS2 erasing the footer. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 44454bcdb90532b372c74e3546043d8a3a468939 Author: Russell King Date: Thu Jun 30 22:41:22 2005 +0100 [PATCH] Serial: Fix small CONFIG_SERIAL_8250_NR_UARTS If CONFIG_SERIAL_8250_NR_UARTS is smaller than the array size in asm/serial.h, we trampled on memory which wasn't ours. Take our big boots away by limiting the number of ports initialised to the smaller of ...NR_UARTS and the array size. Signed-off-by: Russell King commit bd53d1270f51c6cfb53b06c8f93fd42327871d6b Merge: 12829dcb10efc576c3739131a5d57fe7213632d9 bf164c790deb79b18faf304b0763e44a02c79f90 Author: Linus Torvalds Date: Thu Jun 30 09:04:36 2005 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6 commit abaf48a05a8f097654e746af2a5afb2ab95861a1 Author: Catalin Marinas Date: Thu Jun 30 17:04:14 2005 +0100 [PATCH] ARM: 2779/1: Fix the V bit setting for the ARM1020x CPUs Patch from Catalin Marinas This patch fixes the V bit setting for the ARM1020x processors. At reset, this bit is automatically set to the value of the HIVECSINIT input signal which just happened to be 1 but it is not mandatory. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit c28a814f25d48f193565003223df0ae617796892 Author: Catalin Marinas Date: Thu Jun 30 17:04:14 2005 +0100 [PATCH] ARM: 2778/1: Add -mno-thumb-interwork to CFLAGS_ABI Patch from Catalin Marinas The new EABI gcc adds -mthumb-interwork by default, even if -mabi=apcs-gnu is passed. This causes a warning for every compiled C file when -march=armv4 is used. The patch adds -mno-thumb-interwork if the option is supported. This is also useful since we don't need any ARM/Thumb interworking in the kernel Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit c19cb1df809dcf343dd1eb6fe60d53639dafcb8c Author: Catalin Marinas Date: Thu Jun 30 17:04:13 2005 +0100 [PATCH] ARM: 2777/1: Fix broken comment arch/arm/mm/proc-arm1020.S Patch from Catalin Marinas This patch fixes a broken comment in the proc-arm1020.S file which prevents the file compilation Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 12829dcb10efc576c3739131a5d57fe7213632d9 Merge: c60e81ee1cac32dae1f9bf623dcb6b3b2bde8eab 719d1cd86780c156f954fc34f34481adac197aec Author: Linus Torvalds Date: Thu Jun 30 08:48:56 2005 -0700 Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/paulus/ppc64-2.6 commit c60e81ee1cac32dae1f9bf623dcb6b3b2bde8eab Author: Andrew Morton Date: Thu Jun 30 02:59:06 2005 -0700 [PATCH] reiserfs: handle_attrs() fix Fix a use-uninitialised bug. Cc: Jeff Mahoney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8cb681b9c7fff5cb35b5c05ba4f1b7e285e258fb Author: Pekka Enberg Date: Thu Jun 30 02:59:05 2005 -0700 [PATCH] freevxfs: minor cleanups This patch addresses the following minor issues: - Typo in printk - Redundant casts - Use C99 struct initializers instead of memset - Parenthesis around return value - Use inline instead of __inline__ Signed-off-by: Pekka Enberg Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d2cc3b87b1694df72ab75cee8e12f8b369577ce Author: Pekka Enberg Date: Thu Jun 30 02:59:05 2005 -0700 [PATCH] freevxfs: remove 2.4 compatability This patch removes 2.4 compatability header from freevxfs. Signed-off-by: Pekka Enberg Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ba03bda81e160b2724451074cdcb597d14f7d7e0 Author: Pekka Enberg Date: Thu Jun 30 02:59:04 2005 -0700 [PATCH] freevxfs: fix buffer_head leak - fix a buffer_head leak in vxfs_getfsh() - s/SLAB_KERNEL/GFP_KERNEL/ - check sb_bread() return value - drop pointless buffer-mapped() test. Signed-off-by: Pekka Enberg Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f220ab2a5162c35cca6993ea473937cfc962fce4 Author: Jay Lan Date: Thu Jun 30 02:59:03 2005 -0700 [PATCH] Improper initrd failure message at boot time On system boot up, there was an failure reported to boot.msg: <5>Trying to move old root to /initrd ... failed According to initrd(4) man page, step #7 of BOOT-UP OPERATION is described as below: 7. If the normal root file has directory /initrd, device /dev/ram0 is moved from / to /initrd. Otherwise if directory /initrd does not exist device /dev/ram0 is unmounted. We got service calls from customers concerning about this failure message at boot time. Many systems do not have /initrd and thus the message can be changed in the case of non-existing /initrd so that it does not sound like a failure of the system. Signed-off-by: Jay Lan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c71e22e4e4b4e7261f147635518d5634136c226 Author: Christoph Hellwig Date: Thu Jun 30 02:59:02 2005 -0700 [PATCH] udf_find_entry() cleanup udf_find_entry can never be called with a NULL argument, so we shouldn't check for it. Signed-off-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 532a39a3754a3b8ce507414863023f8db21f9a7c Author: Pekka J Enberg Date: Thu Jun 30 02:59:01 2005 -0700 [PATCH] fat: fix slab cache leak This patch plugs a slab cache leak in fat module initialization. Signed-off-by: Pekka Enberg Acked-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9ec55a9bd365dfc78945bb8e6bf5d0fdf1d75ad0 Author: Chris Zankel Date: Thu Jun 30 02:59:00 2005 -0700 [PATCH] xtensa: Fix asm macro Removed dead code in arch/xtensa/kernel/pci.c and use the pci_name() macro. Fixed an error in the delay asm macro: '1' is an invalid immediate value. Signed-off-by: Chris Zankel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e7d163f7666560c90b163907b9d96ec6207e0f6f Author: Chris Zankel Date: Thu Jun 30 02:58:59 2005 -0700 [PATCH] xtensa: Removed local copy of zlib and fixed O= support Removed an unnecessary local copy of zlib (sorry for the add'l traffic). Fixed 'O=' support (thanks to Jan Dittmer for pointing it out). Some minor clean-ups in the make files. Signed-off-by: Chris Zankel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 82300bf479d7cdf87214b81ca5dc003bbc4f7e8f Author: Chris Zankel Date: Thu Jun 30 02:58:58 2005 -0700 [PATCH] xtensa: Added mm/Kconfig to get a flat memory layout Added 'mm/Kconfig' to the xtensa Kconfig file to get a flat memory layout. Fixed a typo in one of the help texts (thanks Geert for pointing it out) Signed-off-by: Chris Zankel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5b0de927d9c9a72e42a4b581a897710f9ae5a6d1 Author: Chris Zankel Date: Thu Jun 30 02:58:57 2005 -0700 [PATCH] xtensa: cleanups for errno and ipc. I noticed this because I was doing some more ipc cleanups and I did the original errno and ipc cleanups for other architectures, so it stuck out. Signed-off-by: Stephen Rothwell Signed-off-by: Chris Zankel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ee23b50f1541aacc3b975edae170a1b995b84f5 Author: Jesper Juhl Date: Thu Jun 30 02:58:56 2005 -0700 [PATCH] xtensa: use valid_signal() xtensa should use valid_signal() instead of testing _NSIG directly like everyone else. Signed-off-by: Jesper Juhl Cc: Chris Zankel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 306e440daf5f40b195afd83d05dee89fa63189e7 Author: Ingo Molnar Date: Thu Jun 30 02:58:55 2005 -0700 [PATCH] x86: i8253/i8259A lock cleanup Introduce proper declarations for i8253_lock and i8259A_lock. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bcbda35ca7470bf0123a7ae685899776f67814b2 Author: Kumar Gala Date: Thu Jun 30 02:58:55 2005 -0700 [PATCH] ppc32: Fix pointer check for MPC8540 ADS device Editor snafu in which the call to ppc_sys_get_pdata got inside the if check instead of before it. Oops. Signed-off-by: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6931dfc9f3f81d148b7ed0ab3fd796f8b986a995 Author: Eric Paris Date: Thu Jun 30 02:58:51 2005 -0700 [PATCH] selinux_sb_copy_data() should not require a whole page Currently selinux_sb_copy_data requires an entire page be allocated to *orig when the function is called. This "requirement" is based on the fact that we call copy_page(in_save, nosec_save) and in_save = orig when the data is not FS_BINARY_MOUNTDATA. This means that if a caller were to call do_kern_mount with only about 10 bytes of options, they would get passed here and then we would corrupt PAGE_SIZE - 10 bytes of memory (with all zeros.) Currently it appears all in kernel FS's use one page of data so this has not been a problem. An out of kernel FS did just what is described above and it would almost always panic shortly after they tried to mount. From looking else where in the kernel it is obvious that this string of data must always be null terminated. (See example in do_mount where it always zeros the last byte.) Thus I suggest we use strcpy in place of copy_page. In this way we make sure the amount we copy is always less than or equal to the amount we received and since do_mount is zeroing the last byte this should be safe for all. Signed-off-by: Eric Paris Cc: Stephen Smalley Acked-by: James Morris Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a936eb928c1a253c2e5d66b947688bdc55094a6 Author: Kylene Jo Hall Date: Thu Jun 30 02:58:50 2005 -0700 [PATCH] tpm: fix bug introduced by the /proc/misc In fixing the /proc/misc problem that was reported last week where the tpm module name was being obfuscated in /proc/misc I introduced a bug in the module unloading code. This patch fixes the problem. Signed-off-by: Kylene Hall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee93b43a05506667d771c4fb0c384301edd7d036 Author: Olaf Hering Date: Thu Jun 30 02:58:49 2005 -0700 [PATCH] ppc32: use correct register names in arch/ppc/kernel/relocate_kernel.S CONFIG_KEXEC=y doesnt work: arch/ppc/kernel/relocate_kernel.S:37: Error: unsupported relocation against SRR1 arch/ppc/kernel/relocate_kernel.S:39: Error: unsupported relocation against SRR0 Signed-off-by: Olaf Hering Cc: "Eric W. Biederman" Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ee24d9594ffb070261b70461f71c42913c663bb Author: Heiko Carstens Date: Thu Jun 30 02:58:48 2005 -0700 [PATCH] s390: fix finish_arch_switch Commit 4866cde064afbb6c2a488c265e696879de616daa requires finish_arch_switch to have only one parameter instead of two. Also fix another compile error (double declaration of account_system_vtime) if CONFIG_VIRT_CPU_ACCOUNTING is not defined. Signed-off-by: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eb05bfe4fbf031f95e392204efaa4da71c75b2e2 Author: Dominik Brodowski Date: Thu Jun 30 02:58:47 2005 -0700 [PATCH] pcmcia: update Documentation As the information is now exported via sysfs, there's no need for an userspace tool any longer. Signed-off-by: Dominik Brodowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3704511b2ee8b01475ca7c171d62c682342fa38e Author: Dominik Brodowski Date: Thu Jun 30 02:58:47 2005 -0700 [PATCH] pcmcia: fix modalias attribute in sysfs Fix up PCMCIA modalias file in sysfs Signed-off-by: Dominik Brodowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 41359dca9442b0c664336e3fcf3aaf70b6507b1d Author: Russell King Date: Thu Jun 30 16:30:07 2005 +0100 [PATCH] ARM: Acornfb: Don't claim IRQ fbcon for cursor The generic fbcon code tries to register and use the vsync IRQ for ARM platforms with acornfb, but forgets to disable its own cursor timer. The result is a flickering flashing cursor. Remove the code from the fbcon core to register this platform private interrupt. Signed-off-by: Russell King commit cfb0810eab39d1162f45b73fc96f45ab1cbcbe8b Author: Russell King Date: Thu Jun 30 11:06:49 2005 +0100 [PATCH] ARM: Don't try to send a signal to pid0 If we receive an unrecognised abort during boot, don't try to send a signal to pid0, but instead report the current state. This leads to less confusing debug reports. Signed-off-by: Russell King commit bf164c790deb79b18faf304b0763e44a02c79f90 Merge: d62c0f9fd2d3943a3eca85b490d86e1605000ccb 9b4311eedb17fa88f02e4876cd6aa9a08e383cd6 Author: Greg KH Date: Wed Jun 29 22:54:31 2005 -0700 Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit d62c0f9fd2d3943a3eca85b490d86e1605000ccb Author: Patrick Mochel Date: Fri Jun 24 08:39:33 2005 -0700 [PATCH] Driver core: Use klist_del() instead of klist_remove(). Use klist_del() instead of klist_remove() when unregistering devices. This will prevent a deadlock when executing a recursive unregister using device_for_each_child(). Signed-off-by Patrick Mochel Signed-off-by: Greg Kroah-Hartman commit 23d3d602cb96addd3c1158424fb01a49ea5e81b1 Author: Greg Kroah-Hartman Date: Wed Jun 22 16:09:05 2005 -0700 [PATCH] driver core: change bus_rescan_devices to return void No one was looking at the return value of bus_rescan_devices, and it really wasn't anything that anyone in the kernel would ever care about. So change it which enabled some counting code to be removed also. Signed-off-by: Greg Kroah-Hartman commit afdce75f1eaebcf358b7594ba7969aade105c3b0 Author: Greg Kroah-Hartman Date: Wed Jun 22 16:09:05 2005 -0700 [PATCH] driver core: Add the ability to bind drivers to devices from userspace This adds a single file, "bind", to the sysfs directory of every driver registered with the driver core. To bind a device to a driver, write the bus id of the device you wish to bind to that specific driver to the "bind" file (remember to not add a trailing \n). If that bus id matches a device on that bus, and it does not currently have a driver bound to it, the probe sequence will be initiated with that driver and device. Note, this requires that the driver itself be willing and able to accept that device (usually through a device id type table). This patch does not make it possible to override the driver's id table. Signed-off-by: Greg Kroah-Hartman commit 151ef38f7c0ec1b0420f04438b0316e3a30bf2e4 Author: Greg Kroah-Hartman Date: Wed Jun 22 16:09:05 2005 -0700 [PATCH] driver core: Add the ability to unbind drivers to devices from userspace This adds a single file, "unbind", to the sysfs directory of every device that is currently bound to a driver. To unbind the driver from the device, write anything to this file and they will be disconnected from each other. Signed-off-by: Greg Kroah-Hartman commit 0edb586049e57c56e625536476931117a57671e9 Author: Cornelia Huck Date: Wed Jun 22 16:59:51 2005 +0200 [PATCH] driver core: add bus_find_device & driver_find_device functions Add bus_find_device() and driver_find_device() which allow searching for a device in the bus's resp. the driver's klist and obtain a reference on it. Signed-off-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 719d1cd86780c156f954fc34f34481adac197aec Author: Michael Ellerman Date: Thu Jun 30 15:17:02 2005 +1000 [PATCH] ppc64: Replace custom locking code with a spinlock The hvlpevent_queue (formally ItLpQueue) has a member called xInUseWord which is used for serialising access to the queue. Because it's a word (ie. 32 bit) there's a custom 32-bit version of test_and_set_bit() or thereabouts in ItLpQueue.c. The xInUseWord is not shared with they hypervisor, so we can replace it with a spinlock and remove the custom code. There is also another locking mechanism (ItLpQueueInProcess). This is redundant because it's only manipulated while the lock's held. Remove it. Signed-off-by: Michael Ellerman Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit ffe1b7e14e6b606bd84cab564aa2f481dbd4e418 Author: Michael Ellerman Date: Thu Jun 30 15:16:48 2005 +1000 [PATCH] ppc64: Formatting cleanups in arch/ppc64/kernel/ItLpQueue.c Just formatting cleanups: * rename some "nextLpEvent" variables to just "event" * make code fit in 80 columns * use brackets around if/else * use a temporary to make hvlpevent_clear_valid clearer Signed-off-by: Michael Ellerman Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 38fcdcfe38fc3f8972c906db64cd7d540b7760e8 Author: Michael Ellerman Date: Thu Jun 30 15:16:28 2005 +1000 [PATCH] ppc64: Cleanup whitespace in arch/ppc64/kernel/ItLpQueue.c Just cleanup white space. Signed-off-by: Michael Ellerman Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 9b0470200a2441766599ad84f92ab9daca8ed86d Author: Michael Ellerman Date: Thu Jun 30 15:16:18 2005 +1000 [PATCH] ppc64: Cleanup proc printing of event types The code that prints event counts by type uses a hand-coded number of tabs to get the alignment right. Instead use a printf alignment which will allow allow us to use the event_type strings elsewhere in the future. Signed-off-by: Michael Ellerman Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit ed094150bdeb6eca691f1b7a05bd34d4d1a95488 Author: Michael Ellerman Date: Thu Jun 30 15:16:09 2005 +1000 [PATCH] ppc64: Simplify counting of lpevents, remove lpevent_count from paca Currently there's a per-cpu count of lpevents processed, a per-queue (ie. global) total count, and a count by event type. Replace all that with a count by event for each cpu. We only need to add it up int the proc code. Signed-off-by: Michael Ellerman Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 74889802a1585af4e1652f0cb853ac22a65816a4 Author: Michael Ellerman Date: Thu Jun 30 15:15:53 2005 +1000 [PATCH] ppc64: Don't count number of events processed for caller Currently we count the number of lpevents processed in 3 seperate places. One of these counters is never read, so just remove it. This means hvlpevent_queue_process() no longer needs to return the number of events processed. Signed-off-by: Michael Ellerman Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 937b31b114b5540f456ce1566aae67e02db41f2c Author: Michael Ellerman Date: Thu Jun 30 15:15:42 2005 +1000 [PATCH] ppc64: Rename ItLpQueue_* functions to hvlpevent_queue_* Now that we've renamed the xItLpQueue structure, rename the functions that operate on it also. Signed-off-by: Michael Ellerman Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit a61874648d14450f4d397489527998e3dd1119de Author: Michael Ellerman Date: Thu Jun 30 15:15:32 2005 +1000 [PATCH] ppc64: Rename xItLpQueue to hvlpevent_queue The xItLpQueue is a queue of HvLpEvents that we're given by the Hypervisor. Rename xItLpQueue to hvlpevent_queue and make the type struct hvlpevent_queue. Signed-off-by: Michael Ellerman Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit ab354b637924beb33dcc23eedc9482f2c692188f Author: Michael Ellerman Date: Thu Jun 30 15:12:21 2005 +1000 [PATCH] ppc64: Move definition of xItLpQueue The xItLpQueue is declared in LparData.c, move it into ItLpQueue.c. Signed-off-by: Michael Ellerman Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 0f6014b37e25e50724867c0a4127615427ec2a75 Author: Michael Ellerman Date: Thu Jun 30 15:08:56 2005 +1000 [PATCH] ppc64: Make two ItLpQueue related functions static External parties don't need to use ItLpQueue_getNextLpEvent() or ItLpQueue_clearValid(), they're internal to ItLpQueue.c Signed-off-by: Michael Ellerman Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 7b01328d455b50ff040d3a06b342ca370b1d8b0a Author: Michael Ellerman Date: Thu Jun 30 15:08:44 2005 +1000 [PATCH] ppc64: Move xItLpQueue proc code into ItLpQueue.c Move the code that displays xItLpQueue values in /proc into ItLpQueue.c. Signed-off-by: Michael Ellerman Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 512d31d6a824a961f39b418f11480f678320e4f3 Author: Michael Ellerman Date: Thu Jun 30 15:08:27 2005 +1000 [PATCH] ppc64: Move initialisation of xItLpQueue into ItLpQueue.c The xItLpQueue is initalised manually in iSeries_setup_arch(). Move this code into ItLpQueue.c for a cleaner separation. Signed-off-by: Michael Ellerman Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 1b19bc721416ae5bc813521d9e010a89f4816120 Author: Michael Ellerman Date: Thu Jun 30 15:07:57 2005 +1000 [PATCH] ppc64: Don't pass the pointers to xItLpQueue around Because there's only one ItLpQueue and we know where it is, ie. xItLpQueue, there's no point passing pointers to it it around all over the place. Signed-off-by: Michael Ellerman Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit ee48444b85f498d99592835f61125385d8e9c975 Author: Michael Ellerman Date: Thu Jun 30 15:07:48 2005 +1000 [PATCH] ppc64: Reorganise the paca initialisation macros This patch updates the macros that initialise the paca to remove the lpq parameter. It also rearranges them a bit with the hope of making them a bit clearer. Signed-off-by: Michael Ellerman Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 0c885c175c06bdfe13e88d974d56a5e93ad2f544 Author: Michael Ellerman Date: Thu Jun 30 15:07:33 2005 +1000 [PATCH] ppc64: Move set_spread_lpevents() into ItLpQueue.c The only code outside ItLpQueue.c that refers to spread_lpevents is in set_apread_lpevents(), so move it inside ItLpQueue.c and make spread_lpevents static. Signed-off-by: Michael Ellerman Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit fc07695386067a4abbd5ac8c7974059eae0b0a79 Author: Michael Ellerman Date: Thu Jun 30 15:07:21 2005 +1000 [PATCH] ppc64: Spread lpevents by default on iSeries With the previous patch in place, spreading lpevents by default becomes a one liner. Signed-off-by: Michael Ellerman Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit bea248fb30c3122ece8c34798527fac431c1d7b0 Author: Michael Ellerman Date: Thu Jun 30 15:07:09 2005 +1000 [PATCH] ppc64: Remove lpqueue pointer from the paca on iSeries The iSeries code keeps a pointer to the ItLpQueue in its paca struct. But all these pointers end up pointing to the one place, ie. xItLpQueue. So remove the pointer from the paca struct and just refer to xItLpQueue directly where needed. The only complication is that the spread_lpevents logic was implemented by having a NULL lpqueue pointer in the paca on CPUs that weren't supposed to process events. Instead we just compare the spread_lpevents value to the processor id to get the same behaviour. Signed-off-by: Michael Ellerman Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 9b4311eedb17fa88f02e4876cd6aa9a08e383cd6 Merge: 2949ccf9379678df66ecf2ca70ed4656159eacdd 0647d8cfd40f7974335884d73deef83feeffc2a0 Author: Linus Torvalds Date: Wed Jun 29 21:03:03 2005 -0700 Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 commit 2949ccf9379678df66ecf2ca70ed4656159eacdd Author: Jeff Mahoney Date: Wed Jun 29 18:53:06 2005 -0400 [PATCH] reiserfs: enable attrs by default if saf The following patch enables attrs by default if the reiserfs_attrs_cleared bit is set in the superblock. This allows chattr-type attrs to be used without any further action by the user. Signed-off-by: Jeff Mahoney Signed-off-by: Linus Torvalds commit 869eb76e7b60ebd8f87a358b72e97fa0aef1d1f5 Author: Jeff Mahoney Date: Wed Jun 29 18:52:28 2005 -0400 [PATCH] reiserfs: Check if attrs are enabled for attr ioctls ReiserFS currently will allow the user to set/get attrs for files regardless if they are enabled. The patch checks to see if they are enabled, and returns -NOTTY if they are not. ext[23] doesn't need this check because attrs are always enabled. Signed-off-by: Jeff Mahoney Signed-off-by: Linus Torvalds commit 0b35ff23b2633eb996d666e5a49a5d49b8a6a2d3 Merge: 92dd7ca0af8f769569bde98a83b4a8f4daec6ac5 026d02a236f429eb61a1277166bd425f8514c431 Author: Linus Torvalds Date: Wed Jun 29 21:00:38 2005 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-serial commit 92dd7ca0af8f769569bde98a83b4a8f4daec6ac5 Merge: 164cad9bacc2cf190493d2ee4918dc2869ba6f53 da41119af78864d27ccbf505949df788d5e8aaf5 Author: Linus Torvalds Date: Wed Jun 29 20:59:55 2005 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm commit 0647d8cfd40f7974335884d73deef83feeffc2a0 Author: Tony Luck Date: Wed Jun 29 16:01:40 2005 -0700 [IA64] Update zx1_defconfig Signed-off-by: Tony Luck commit 06697eea4ce18870fbce82dffbb375e216145f47 Author: Tony Luck Date: Wed Jun 29 15:45:41 2005 -0700 [IA64] Update tiger_defconfig Signed-off-by: Tony Luck commit d18bfacff20f08aecf01bb971b110ca108eef3c7 Merge: a68db763af9b676590c3fe9ec3f17bf18015eb2f fd782a4a99d2d3e818b9465c427b10f7f027d7da Author: Tony Luck Date: Wed Jun 29 15:21:41 2005 -0700 Auto merge with /home/aegl/GIT/linus commit da41119af78864d27ccbf505949df788d5e8aaf5 Author: Russell King Date: Wed Jun 29 23:02:02 2005 +0100 [PATCH] ARM: Don't force SIGFPE We were forcing SIGFPE on to a user program for no good reason. Use send_sig_info() instead. Signed-off-by: Russell King commit 438a76167959061e371025f727fabec2ad9e70a7 Author: Russell King Date: Wed Jun 29 23:01:02 2005 +0100 [PATCH] ARM: Fix VFP to use do_div() VFP used __divdi3 64-bit division needlessly. Convert it to use our 64-bit by 32-bit division instead. Signed-off-by: Russell King commit b3402cf50efead37dd9553b90fbf1486e09fb78e Author: Tony Lindgren Date: Wed Jun 29 19:59:48 2005 +0100 [PATCH] ARM: 2771/1: Dynamic Tick support for OMAP, take 4 Patch from Tony Lindgren This patch adds support for Dynamic Tick Timer for OMAP. This patch is an updated version of ARM patch 2642/1 to make it work with the already integrated generic ARM dyntick support. Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 026d02a236f429eb61a1277166bd425f8514c431 Author: Russell King Date: Wed Jun 29 18:45:19 2005 +0100 [PATCH] Serial: Split 8250 port table (part 2) Remove legacy ISA serial ports for Accent, Boca, Fourport, Hub6 and MCA from the architecture specific serial.h include. The only ports which remain in asm-*/serial.h are the platform specific entries. These should really be converted by platform maintainers to use a platform device, such as can be found in arch/arm/mach-footbridge/isa.c Signed-off-by: Russell King commit e763b90c41563a0f8258d379fe71a9a1f1fa5445 Author: Russell King Date: Wed Jun 29 18:41:51 2005 +0100 [PATCH] Serial: Disable OX950 transmitter for flow control Disable the transmitter whenever we want to prevent characters being transmitted by flow control. However, if we run out of characters to send and want to only disable the TX interrupt, allow that scenario. Signed-off-by: Russell King commit 0dd7a1aed7c34a39917c4faf75b4230c169e809b Author: Russell King Date: Wed Jun 29 18:40:53 2005 +0100 [PATCH] Serial: Check status of CTS when using flow control Fix bugme #4712: read the CTS status and set hw_stopped if CTS is not active when opening the port and/or enabling CRTSCTS Thanks to Stefan Wolff for spotting this problem. Signed-off-by: Russell King commit 20f720ccce8864583365d844d48d3fe8d0d171ad Author: Russell King Date: Wed Jun 29 18:26:19 2005 +0100 [PATCH] ARM: Remove nmi_tick from integrator platforms The nmi watchdog code hasn't been merged for this platform yet. Signed-off-by: Russell King commit c7e788766610bdc764d7150e69ace2e0c4196cf0 Author: Nicolas Pitre Date: Wed Jun 29 18:10:54 2005 +0100 [PATCH] ARM: 2723/2: remove __udivdi3 and __umoddi3 from the kernel Patch from Nicolas Pitre Those are big, slow and generally not recommended for kernel code. They are even not present on i386. So it should be concluded that one could as well get away with do_div() alone. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 164cad9bacc2cf190493d2ee4918dc2869ba6f53 Author: Prakash Punnoor Date: Wed Jun 29 14:13:54 2005 +0200 [PATCH] Don't fill up log with atxp1 vcore messages change message I am using the atxp1 module to change vcore on my NForce2 via userspace daemon (see punnoor.de). Currently the atxp1 module will write to the log on every vcore change, thus filling up my log - which I don't want. I am no kernel coder, but I guess, this one-liner will change this behaviour in a wanted way, ie output will be made for debug purposes only. Signed-off-by: Prakash Punnoor Signed-off-by: Linus Torvalds commit fd782a4a99d2d3e818b9465c427b10f7f027d7da Author: Hugh Dickins Date: Wed Jun 29 15:15:40 2005 +0100 [PATCH] Fix get_request nastiness get_request is now expected to be holding on to queue_lock, with interrupts disabled, when it returns NULL; but one path forgot that, causing all kinds of nastiness under swap load - badness backtraces, strange failures, BUGs. Signed-off-by: Hugh Dickins Signed-off-by: Linus Torvalds commit 541cecac534ea0df95fbc76b0a3091e91b101895 Author: Linus Torvalds Date: Wed Jun 29 08:43:49 2005 -0700 Remove duplicate mention of "edd" in Documentation/kernel-parameters.txt commit aaaa3f9e51245be3215ff67bb3c7aaf5abb82f00 Author: Catalin Marinas Date: Wed Jun 29 15:34:39 2005 +0100 [PATCH] ARM: 2769/1: cpu_init() stack setup fix Patch from Catalin Marinas The compiler allocates r14 for the stk variable in the __asm__ directive. This is a shadowed register and gets changed when the mode is changed, causing random values in the SP register. The patch adds a clobber for the r14 register. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 9ec3c75cdeb57fa3c12a813c63706ece7fb63648 Author: Richard Purdie Date: Wed Jun 29 15:17:49 2005 +0100 [PATCH] ARM: 2768/1: PXA: Add a required header file for LL_DEBUG Patch from Richard Purdie With DEBUG enabled, head.S includes arch/debug-macro.S. On the PXA, this contains references to the macro io_p2v() so hardware.h needs to be included. Signed-off-by: Richard Purdie Signed-off-by: Russell King commit b720f73296916e87c744193c57bc8687d35888fe Author: Russell King Date: Wed Jun 29 15:15:54 2005 +0100 [PATCH] ARM: Convert ARM timer implementations to use readl/writel Convert ARMs timer implementations to use readl/writel instead of accessing the registers via a struct. People have recently asked if accessing timers via a structure is the "right way" and its not the Linux way. So fix this code to conform to "The Linux Way"(tm). Signed-off-by: Russell King Acked-by: Catalin Marinas commit 6904b2465cf30265a67711025815784aa345bfad Author: Ben Dooks Date: Wed Jun 29 11:09:15 2005 +0100 [PATCH] ARM: 2765/1: S3C24XX - small cleanups in arch/arm/mach-s3c2410 Patch from Ben Dooks Re-tab the devs.c file, and change the initialiser for the mach-vr1000.c to use `.xxx = yyy` form. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit f705b1aed7002495a504086705ff9725ed9412dc Author: Ben Dooks Date: Wed Jun 29 11:09:15 2005 +0100 [PATCH] ARM: 2764/1: S3C24XX - Common PM functions for Simtec boards Patch from Ben Dooks All current S3C24XX implementations from Simtec share the same requirements for suspend/resume information. This patch moves the save code out of the mach-bast.c file, and into it's own so it can be shared by all the current Simtec S3C24XX implementations. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit c5f4644e6c8ba21666128603e4e92544d3cd740d Author: Russell King Date: Wed Jun 29 09:42:38 2005 +0100 [PATCH] Serial: Adjust serial locking This patch changes the way serial ports are locked when getting modem status. This change is necessary because we will need to atomically read the modem status and take action depending on the CTS status. Signed-off-by: Russell King commit 99a0616bcdabec9005159e50af91a36cc3f8bda8 Merge: a839688362e32f01608838516036697e30618b39 053a7b5b7617a72d7c61b6f84196d1c0f79b9849 Author: Russell King Date: Wed Jun 29 09:40:28 2005 +0100 Merge with ../linux-2.6-smp commit 053a7b5b7617a72d7c61b6f84196d1c0f79b9849 Author: Russell King Date: Tue Jun 28 19:22:25 2005 +0100 [PATCH] ARM SMP: __xchg support This enables the existing __xchg implementation to be used on SMP. Signed-off-by: Russell King commit a68db763af9b676590c3fe9ec3f17bf18015eb2f Author: Peter Chubb Date: Thu Jun 23 21:14:00 2005 -0700 [IA64] Fix another IA64 preemption problem There's another problem shown up by Ingo's recent patch to make smp_processor_id() complain if it's called with preemption enabled. local_finish_flush_tlb_mm() calls activate_context() in a situation where it could be rescheduled to another processor. This patch disables preemption around the call. Signed-off-by: Peter Chubb Signed-off-by: Tony Luck commit 819c67e69c4e0062787e27dd989f5f9d00d4834e Author: David Mosberger-Tang Date: Thu Jun 9 22:40:00 2005 -0700 [IA64] Replace stale KDB-code with useful MAGIC_SYSRQ code in simserial.c Patch makes it possible to use the "F4" function key to do magic sysrq in the HP Ski simulator. Signed-off-by: David Mosberger-Tang Signed-off-by: Tony Luck commit c1ffb6a8aaed45ba2dc0a8f09241b0a96f9955ba Author: Bruce Losure Date: Tue May 24 08:30:00 2005 -0700 [IA64-SGI] Altix patch to tiocx, add subsys_initcall This patch fixes an ordering issue between the init code for the tiocx bus driver and tiocx-related device drivers. Also adds a new brick to the list of known FPGA bricks. Signed-off-by: Bruce Losure Signed-off-by: Tony Luck commit 92a582ed2757456ca9599f8b4ea2064f2154eb02 Author: Prarit Bhargava Date: Tue May 10 12:40:00 2005 -0700 [IA64] sparse cleanup of TIOCA files This patch is a sparse compile cleanup of tioca_provider.c, sn_hwperf.h, and tioca_provider.h. Each of these files had sparse warnings when compiled. Signed-off-by: Prarit Bhargava Signed-off-by: Tony Luck commit 71030994a77e7689a7a792128b131ef7a10b9f74 Author: Colin Ngam Date: Tue May 10 09:12:00 2005 -0700 [IA64-SGI] Fix TIO IOSPACE MMR Addres This patches provides support on Shub2 for the separate TIO IOSPACE MMR. This patch is SN specific. Signed-off-by: Colin Ngam Signed-off-by: Tony Luck commit 71a5d027c90dd7e14ddaaf22358ff5138ba89ec9 Author: Jack Steiner Date: Tue May 10 08:01:00 2005 -0700 [IA64-SGI] - new macros for SGI SN simulator This patch changes some macros that are used when running kernel on the SGI simulator. Signed-off-by: Jack Steiner Signed-off-by: Tony Luck commit 8e4641b3ee8073a46995cf97e0875df25b88d776 Author: Prarit Bhargava Date: Mon May 9 05:07:00 2005 -0700 [IA64] sparse cleanup of shub_mmr.h This patch is a sparse compile cleanup of shub_mmr.h using both the defconfig and the sn2_defconfig config files. The issue with this file was the missing usage of __IA64_UL_CONST wrapper. This wrapper is defined in include/asm-ia64/types.h and wraps a long constant definition with UL or with nothing depending on its usage in the kernel. The missing wrapper caused many sparse compile errors like warning: constant 0x0x0000000010000380 so big it is long Signed-off-by: Prarit Bhargava Signed-off-by: Tony Luck commit 458f935527372499b714bf4f8e646a68bb0f52e3 Author: David Mosberger-Tang Date: Wed May 4 13:25:00 2005 -0700 [IA64] Speed up lfetch.fault [NULL] This patch greatly speeds up the handling of lfetch.fault instructions which result in NaT consumption. Due to the NaT-page mapped at address 0, this is guaranteed to happen when lfetch.fault'ing a NULL pointer. With this patch in place, we can even define prefetch()/prefetchw() as lfetch.fault without significant performance degradation. More importantly, it allows compilers to be more aggressive with using lfetch.fault on pointers that might be NULL. Signed-off-by: David Mosberger-Tang Signed-off-by: Tony Luck commit e15da40176f16050c8d92b36387a49370317e276 Author: Bjorn Helgaas Date: Tue May 3 12:07:00 2005 -0700 [IA64] Recognize HP sx2000 chipset No functional change, just identify the device nicely: -IOC: Unknown (103c:12ec) 0.1 HPA 0xf8020002000 IOVA space 1024Mb at 0x40000000 +IOC: sx2000 0.1 HPA 0xf8020002000 IOVA space 1024Mb at 0x40000000 We used to create fake PCI devices for these chips, but we no longer do that. So I don't think there's any reason to touch pci_ids.h now. Signed-off-by: Bjorn Helgaas Signed-off-by: Tony Luck commit a9f9de7378e3a81f7266f542f2290399a298ef52 Author: Mark Maule Date: Tue Apr 26 08:01:00 2005 -0700 [IA64-SGI] altix: enable vgacon support Altix patch to enable use of vgacon driver on that platform. Depends on the PCDP generalization patch discussed at: http://marc.theaimsgroup.com/?l=linux-ia64&m=111446235101939&w=2 Signed-off-by: Mark Maule Signed-off-by: Tony Luck commit 66b7f8a30437b8639e798f7db8e9be1da5711efa Author: Mark Maule Date: Mon Apr 25 13:51:00 2005 -0700 [IA64-SGI] pcdp: add PCDP pci interface support Resend 2 with changes per Bjorn Helgaas comments. Changes from original: + Change globals to vga_console_iobase/vga_console_membase and make them unconditional. + Address style-related comments. Patch to extend the PCDP vga setup code to support PCI io/mem translations for the legacy vga ioport and ram spaces on architectures (e.g. altix) which need them. Summary of the changes: drivers/firmware/pcdp.c drivers/firmware/pcdp.h ----------------------- + add declaration for the spec-defined PCI interface struct (pcdp_if_pci) as well as support macros. + extend setup_vga_console() to know about pcdp_if_pci and add a couple of globals to hold the io and mem translation offsets if present. arch/ia64/kernel/setup.c ------------------------ + tweek early_console_setup() to allow multiple early console setup routines to be called. include/asm-ia64/vga.h ---------------------- + make VGA_MAP_MEM vga_console_membase aware Signed-off-by: Mark Maule Signed-off-by: Tony Luck commit 54522b6613a03807f057fd567794a31267ef85cb Merge: 99f95e5286df2f69edab8a04c7080d986ee4233b f2cbb4f01936a3e4225692e03b084b78c56d386d Author: Tony Luck Date: Tue Jun 28 08:24:49 2005 -0700 Auto merge with /home/aegl/GIT/ia64-test commit 4b0ef3b1127776d4a2787d7530ac0c4da82c2331 Author: Russell King Date: Tue Jun 28 13:49:16 2005 +0100 [PATCH] ARM SMP: Add IPI support code for SMP TLB flushing Signed-off-by: Russell King commit 564c90aa07cd43dc434d46cef8a15773a23d49a2 Author: Russell King Date: Tue Jun 28 13:46:09 2005 +0100 [PATCH] ARM SMP: Use local_flush_tlb* where we really want to be local Signed-off-by: Russell King commit 603fff54420a0ccc4c3b48bfef43896fb4e33161 Merge: 99f95e5286df2f69edab8a04c7080d986ee4233b 8b22c249e7de453961e4d253b19fc2a0bdd65d53 Author: Russell King Date: Tue Jun 28 13:40:39 2005 +0100 [PATCH] ARM SMP: TLB implementations only affect local CPU The existing TLB flush implementations only have an effect on the local CPU. Prefix them with local_. Signed-off-by: Russell King commit b1bdfbd0a29d6da4dbe42736faac02c43a9afe76 Author: Olaf Hering Date: Tue Jun 28 21:01:46 2005 +1000 [PATCH] remove duplicate printf in arch/ppc64/boot/main.c initrd size is printed as hex, add a missing 0x remove a duplicate printf when initrd is used. remove use of kernel type to access the first bytes of the initrd memarea. Signed-off-by: Olaf Hering Signed-off-by: Paul Mackerras commit e6019db5a7f110839c62cefc073b6dc1143d6403 Author: Olaf Hering Date: Tue Jun 28 21:01:35 2005 +1000 [PATCH] remove printk usage in arch/ppc64/boot/prom.c remove the printk usage in the zImage. we are not there, yet. Signed-off-by: Olaf Hering Signed-off-by: Paul Mackerras commit a58dfbbb2a350808253a8b5037f5ec5b9a68516d Author: Olaf Hering Date: Tue Jun 28 21:01:28 2005 +1000 [PATCH] remove unused arch/ppc64/boot/mknote.c mknote is not called in arch/ppc64/boot/Makefile Signed-off-by: Olaf Hering Signed-off-by: Paul Mackerras commit 45891f7660c02fdd7b044a04d71b965c795e9df5 Author: Olaf Hering Date: Tue Jun 28 21:01:21 2005 +1000 [PATCH] remove unused arch/ppc64/boot/piggyback.c piggyback is not called in arch/ppc64/boot/Makefile Signed-off-by: Olaf Hering Signed-off-by: Paul Mackerras commit f5f1cc5437961a4bd93d615099f26780819e72d3 Author: Nathan Lynch Date: Tue Jun 28 20:55:25 2005 +1000 [PATCH] ppc64: don't create spurious symlinks under node0 sysdev On partitioned systems we can wind up creating spurious symlinks in /sys/devices/system/node/node0 to non-present cpus. The symlinks are not broken; the problem is that we're potentially misinforming userspace that there is a relationship between node0 and cpus which are to be added later. There's no guarantee at all that a cpu which is added later will belong to node 0. Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit a341ad97245d01c923995cfe7deacd0c8aee6e16 Author: Arnd Bergmann Date: Tue Jun 28 20:33:49 2005 +1000 [PATCH] ppc64: simplify nvram partition scanning code Convert nvram_create_os_partition to use list_for_each_entry instead of list_for_each, as this reduces the code size by two lines. Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit f2cbb4f01936a3e4225692e03b084b78c56d386d Merge: 325a479c4c110db278ef3361460a48c4093252cc 1016888fb69662936b32ab767c7419a3be9a69d3 Author: Tony Luck Date: Wed Jun 15 14:06:48 2005 -0700 Auto merge with /home/aegl/GIT/linus commit 325a479c4c110db278ef3361460a48c4093252cc Merge: ebcc80c1b6629a445f7471cc1ddb48faf8a84e70 7f9eaedf894dbaa08c157832e9a6c9c03ffed1ed Author: Tony Luck Date: Tue May 17 15:53:14 2005 -0700 Merge with temp tree to get David's gdb inferior calls patch commit 7f9eaedf894dbaa08c157832e9a6c9c03ffed1ed Author: David Mosberger-Tang Date: Tue May 10 12:49:00 2005 -0700 [IA64] Fix convert_to_non_syscall() so gdb inferior calls work again Fix convert_to_non_syscall() so it arranges for the kernel to be left via ia64_leave_kernel() rather than ia64_leave_syscall(). The latter no longer tolerates being called with pSys=0 and pNonSys=1. Signed-off-by: David Mosberger-Tang Signed-off-by: Tony Luck commit ebcc80c1b6629a445f7471cc1ddb48faf8a84e70 Author: David Mosberger-Tang Date: Thu May 5 06:40:00 2005 -0700 [IA64] Merge audit fix for fsyscalls with syscall-optimizations Signed-off-by: David Mosberger-Tang Signed-off-by: Tony Luck commit 8e3e50168c8537807b7a6f78588cd72e21363262 Author: David Mosberger-Tang Date: Wed Apr 27 21:22:40 2005 -0700 [IA64] need r29=psr *after* rsm psr.i Yanmin Zhang pointed out a sequence problem when saving the psr. David Mosberger provided this patch (which gave up a cycle). Signed-off-by: Tony Luck commit e7e965fa1961a8ce32cbbb1bd436c655ad03973e Author: David Mosberger-Tang Date: Wed Apr 27 21:22:08 2005 -0700 [IA64] use srlz.d instead of srlz.i in ia64_leave_kernel() This patch switches the srlz.i in ia64_leave_kernel() to srlz.d. As per architecture manual, the former is needed only to ensure that the clearing of PSR.IC is seen by the VHPT for subsequent instruction fetches. However, since the remainder of the code (up to and including the RFI instruction) is mapped by a pinned TLB entry, there is no chance of an iTLB miss and we don't care whether or not the VHPT sees PSR.IC cleared. Since srlz.d is substantially cheaper than srlz.i, this should shave off a few cycles off the interrupt path (unverified though; I'm not setup to measure this at the moment). Signed-off-by: David Mosberger-Tang Signed-off-by: Tony Luck commit fbf7192ba06e4b55022231e5fdb9db8ce3ad6307 Author: David Mosberger-Tang Date: Wed Apr 27 21:21:26 2005 -0700 [IA64] Annotate fsys_bubble_down() with McKinley dispatch info. This patch changes comments & formatting only. There is no code change. Signed-off-by: David Mosberger-Tang Signed-off-by: Tony Luck commit 1ba7be7d691f6df2557d39c5b1a2e14c32e5dd20 Author: David Mosberger-Tang Date: Wed Apr 27 21:20:51 2005 -0700 [IA64] Reschedule fsys_bubble_down(). Improvements come from eliminating srlz.i, not scheduling AR/CR-reads too early (while there are others still pending), scheduling the backing-store switch as well as possible, splitting the BBB bundle into a MIB/MBB pair. Why is it safe to eliminate the srlz.i? Observe that we used to clear bits ~PSR_PRESERVED_BITS in PSR.L. Since PSR_PRESERVED_BITS==PSR.{UP,MFL,MFH,PK,DT,PP,SP,RT,IC}, we ended up clearing PSR.{BE,AC,I,DFL,DFH,DI,DB,SI,TB}. However, PSR.BE : already is turned off in __kernel_syscall_via_epc() PSR.AC : don't care (kernel normally turns PSR.AC on) PSR.I : already turned off by the time fsys_bubble_down gets invoked PSR.DFL: always 0 (kernel never turns it on) PSR.DFH: don't care --- kernel never touches f32-f127 on its own initiative PSR.DI : always 0 (kernel never turns it on) PSR.SI : always 0 (kernel never turns it on) PSR.DB : don't care --- kernel never enables kernel-level breakpoints PSR.TB : must be 0 already; if it wasn't zero on entry to __kernel_syscall_via_epc, the branch to fsys_bubble_down will trigger a taken branch; the taken-trap-handler then converts the syscall into a break-based system-call. In other words: all the bits we're clearying are either 0 already or are don't cares! Thus, we don't have to write PSR.L at all and we don't have to do a srlz.i either. Good for another ~20 cycle improvement for EPC-based heavy-weight syscalls. Signed-off-by: David Mosberger-Tang Signed-off-by: Tony Luck commit 21bc4f9b34cc1eab3610955207f72c52495ae8ed Author: David Mosberger-Tang Date: Wed Apr 27 21:20:11 2005 -0700 [IA64] Annotate __kernel_syscall_via_epc() with McKinley dispatch info. Two other very minor changes: use "mov.i" instead of "mov" for reading ar.pfs (for clarity; doesn't affect the code at all). Also, predicate the load of r14 for consistency. Signed-off-by: David Mosberger-Tang Signed-off-by: Tony Luck commit 70929a57cfea8c18de13fcea9ae6771018a98949 Author: David Mosberger-Tang Date: Wed Apr 27 21:19:37 2005 -0700 [IA64] Reschedule __kernel_syscall_via_epc(). Avoid some stalls, which is good for about 2 cycles when invoking a light-weight handler. When invoking a heavy-weight handler, this helps by about 7 cycles, with most of the improvement coming from the improved branch-prediction achieved by splitting the BBB bundle into two MIB bundles. Signed-off-by: David Mosberger-Tang Signed-off-by: Tony Luck commit f8fa5448fc9b4a7806b1297a0b57808f12fe4d43 Author: David Mosberger-Tang Date: Wed Apr 27 21:19:04 2005 -0700 [IA64] Reschedule break_fault() for better performance. This patch reorganizes break_fault() to optimistically assume that a system-call is being performed from user-space (which is almost always the case). If it turns out that (a) we're not being called due to a system call or (b) we're being called from within the kernel, we fixup the no-longer-valid assumptions in non_syscall() and .break_fixup(), respectively. With this approach, there are 3 major phases: - Phase 1: Read various control & application registers, in particular the current task pointer from AR.K6. - Phase 2: Do all memory loads (load system-call entry, load current_thread_info()->flags, prefetch kernel register-backing store) and switch to kernel register-stack. - Phase 3: Call ia64_syscall_setup() and invoke syscall-handler. Good for 26-30 cycles of improvement on break-based syscall-path. Signed-off-by: David Mosberger-Tang Signed-off-by: Tony Luck commit c03f058fbf685f2ff630095d2c1e98d331b81e82 Author: David Mosberger-Tang Date: Wed Apr 27 21:18:22 2005 -0700 [IA64] In ia64_leave_syscall(), fix comments and whitespace only. Signed-off-by: David Mosberger-Tang Signed-off-by: Tony Luck commit 87e522a0f7f8a7a5a1a880517989835c4f09c63e Author: David Mosberger-Tang Date: Wed Apr 27 21:17:44 2005 -0700 [IA64] Schedule ia64_leave_syscall() to read ar.bsp earlier Reschedule code to read ar.bsp as early as possible. To enable this, don't bother clearing some of the registers when we're returning to kernel stacks. Also, instead of trying to support the pNonSys case (which makes no sense), do a bugcheck instead (with break 0). Finally, remove a clear of r14 which is a left-over from the previous patch. Signed-off-by: David Mosberger-Tang Signed-off-by: Tony Luck commit 060561ff79b01eea58e6d72abfb8e7580ff21f2a Author: David Mosberger-Tang Date: Wed Apr 27 21:17:03 2005 -0700 [IA64] In syscall-entry, use st8 instead of stf8 to clear pt_regs.r8 Using stf8 seemed like a clever idea at the time, but stf8 forces the cache-line to be invalidated in the L1D (if it happens to be there already). This patch eliminates a guaranteed L1D cache-miss and, by itself, is good for a 1-2 cycle improvement for heavy-weight syscalls. Signed-off-by: David Mosberger-Tang Signed-off-by: Tony Luck commit 96e017495e6833adcbad84783e3c5eb685836bbf Author: David Mosberger-Tang Date: Wed Apr 27 21:16:07 2005 -0700 [IA64] On return from syscall, hint b7 with __kernel_syscall_via_epc(). Why is this a good idea? Clearing b7 to 0 is guaranteed to do us no good and writing it with __kernel_syscall_via_epc() yields a 6 cycle improvement _if_ the application performs another EPC-based system- call without overwriting b7, which is not all that uncommon. Well worth the minimal cost of 1 bundle of code. Signed-off-by: David Mosberger-Tang Signed-off-by: Tony Luck commit 3c79c8b1d92a9ae3edf3cbcd2c43c553ee0f1d83 Author: David Mosberger-Tang Date: Wed Apr 27 21:15:13 2005 -0700 [IA64] Schedule fp-clearing insns at least 6 cycles after reading ar.bsp. Decreases syscall overhead by approximately 6 cycles. Signed-off-by: David Mosberger-Tang Signed-off-by: Tony Luck commit 9ec1a7ad434fa951ff845dbee3397cf6ad4f76df Author: David Mosberger-Tang Date: Wed Apr 27 21:13:33 2005 -0700 [IA64] Use dynamic prediction for RSE-clearing branches. This by itself is good for a 1-2 cycle speed up. Effect is bigger when combined with the later patches. Signed-off-by: David Mosberger-Tang Signed-off-by: Tony Luck commit 06ef66081620e94fe35a518f98624b83a140096e Author: David Mosberger-Tang Date: Wed Apr 27 21:10:45 2005 -0700 [IA64] __ia64_syscall() is no longer used anywhere in the kernel. Remove it. Signed-off-by: David Mosberger-Tang Signed-off-by: Tony Luck