commit 9b4311eedb17fa88f02e4876cd6aa9a08e383cd6 tree 59cbb1af2c6de429b88818441e31963ec0aad42b parent 2949ccf9379678df66ecf2ca70ed4656159eacdd parent 0647d8cfd40f7974335884d73deef83feeffc2a0 author Linus Torvalds Wed, 29 Jun 2005 21:03:03 -0700 committer Linus Torvalds Wed, 29 Jun 2005 21:03:03 -0700 Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 commit 869eb76e7b60ebd8f87a358b72e97fa0aef1d1f5 tree 6c78a8f32c1e18286f9815f3077e454cca766bc0 parent 0b35ff23b2633eb996d666e5a49a5d49b8a6a2d3 author Jeff Mahoney Wed, 29 Jun 2005 18:52:28 -0400 committer Linus Torvalds Wed, 29 Jun 2005 21:02:04 -0700 [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 2949ccf9379678df66ecf2ca70ed4656159eacdd tree 7301e85e11e1f8813d08a7dd866969f22acd4151 parent 869eb76e7b60ebd8f87a358b72e97fa0aef1d1f5 author Jeff Mahoney Wed, 29 Jun 2005 18:53:06 -0400 committer Linus Torvalds Wed, 29 Jun 2005 21:02:04 -0700 [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 0b35ff23b2633eb996d666e5a49a5d49b8a6a2d3 tree 6e0a8c2bbd33c1cec2af6fbb1a6665751c07a631 parent 92dd7ca0af8f769569bde98a83b4a8f4daec6ac5 parent 026d02a236f429eb61a1277166bd425f8514c431 author Linus Torvalds Wed, 29 Jun 2005 21:00:38 -0700 committer Linus Torvalds Wed, 29 Jun 2005 21:00:38 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-serial commit 92dd7ca0af8f769569bde98a83b4a8f4daec6ac5 tree 9217bee214128a4a45b2e0a3d9784d05fea2c8fb parent 164cad9bacc2cf190493d2ee4918dc2869ba6f53 parent da41119af78864d27ccbf505949df788d5e8aaf5 author Linus Torvalds Wed, 29 Jun 2005 20:59:55 -0700 committer Linus Torvalds Wed, 29 Jun 2005 20:59:55 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm commit 0647d8cfd40f7974335884d73deef83feeffc2a0 tree afda564b074f02718198c618d7fa0620c7dae07c parent 06697eea4ce18870fbce82dffbb375e216145f47 author Tony Luck Wed, 29 Jun 2005 16:01:40 -0700 committer Tony Luck Wed, 29 Jun 2005 16:01:40 -0700 [IA64] Update zx1_defconfig Signed-off-by: Tony Luck commit 06697eea4ce18870fbce82dffbb375e216145f47 tree c19c02bd837d4b9216ccbef53c713ccf5d5295c9 parent d18bfacff20f08aecf01bb971b110ca108eef3c7 author Tony Luck Wed, 29 Jun 2005 15:45:41 -0700 committer Tony Luck Wed, 29 Jun 2005 15:45:41 -0700 [IA64] Update tiger_defconfig Signed-off-by: Tony Luck commit d18bfacff20f08aecf01bb971b110ca108eef3c7 tree 255f862839c593c796e609328575b611e3f56cf3 parent a68db763af9b676590c3fe9ec3f17bf18015eb2f parent fd782a4a99d2d3e818b9465c427b10f7f027d7da author Tony Luck Wed, 29 Jun 2005 15:21:41 -0700 committer Tony Luck Wed, 29 Jun 2005 15:21:41 -0700 Auto merge with /home/aegl/GIT/linus commit da41119af78864d27ccbf505949df788d5e8aaf5 tree dbcc326b76abad1f27e07db1163ac766213688a4 parent 438a76167959061e371025f727fabec2ad9e70a7 author Russell King Wed, 29 Jun 2005 23:02:02 +0100 committer Russell King Wed, 29 Jun 2005 23:02:02 +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 tree 47991373507725b1307ab084a7d7bda5dd9ee1be parent b3402cf50efead37dd9553b90fbf1486e09fb78e author Russell King Wed, 29 Jun 2005 23:01:02 +0100 committer Russell King Wed, 29 Jun 2005 23:01:02 +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 tree 75e2bf1533a10c7e4540cb7a925089a7fd3b6d91 parent 20f720ccce8864583365d844d48d3fe8d0d171ad author Tony Lindgren Wed, 29 Jun 2005 19:59:48 +0100 committer Russell King Wed, 29 Jun 2005 19:59:48 +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 tree dc1b05766bb5737a77113dd3071431c4f164523c parent e763b90c41563a0f8258d379fe71a9a1f1fa5445 author Russell King Wed, 29 Jun 2005 18:45:19 +0100 committer Russell King Wed, 29 Jun 2005 18:45:19 +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 tree 0f20763191d255c5291f31f62ad80f41410f6222 parent 0dd7a1aed7c34a39917c4faf75b4230c169e809b author Russell King Wed, 29 Jun 2005 18:41:51 +0100 committer Russell King Wed, 29 Jun 2005 18:41:51 +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 tree 9c3eea7c817b19b50ece862af063c06ab7216c6d parent c5f4644e6c8ba21666128603e4e92544d3cd740d author Russell King Wed, 29 Jun 2005 18:40:53 +0100 committer Russell King Wed, 29 Jun 2005 18:40:53 +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 tree 093f9b4d2a1c366dc086a4d68f7ae3653c58775f parent c7e788766610bdc764d7150e69ace2e0c4196cf0 author Russell King Wed, 29 Jun 2005 18:26:19 +0100 committer Russell King Wed, 29 Jun 2005 18:26:19 +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 tree f2b0012a9677206b4662cf7c17a3ffa8ebc8c75d parent aaaa3f9e51245be3215ff67bb3c7aaf5abb82f00 author Nicolas Pitre Wed, 29 Jun 2005 18:10:54 +0100 committer Russell King Wed, 29 Jun 2005 18:10:54 +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 tree 13d9cd5b35b82f8bb0a178876f4a2c36b63ee863 parent fd782a4a99d2d3e818b9465c427b10f7f027d7da author Prakash Punnoor Wed, 29 Jun 2005 14:13:54 +0200 committer Linus Torvalds Wed, 29 Jun 2005 09:08:00 -0700 [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 tree 271bdff83dc68c7196c7319c18bd6292b5d177c5 parent 541cecac534ea0df95fbc76b0a3091e91b101895 author Hugh Dickins Wed, 29 Jun 2005 15:15:40 +0100 committer Linus Torvalds Wed, 29 Jun 2005 08:46:30 -0700 [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 tree 447d4caf5d61f74862ff0b0faf31da348d141596 parent 4c91aedb75d1b87deccf16d58f67fb46402d7d44 author Linus Torvalds Wed, 29 Jun 2005 08:43:49 -0700 committer Linus Torvalds Wed, 29 Jun 2005 08:43:49 -0700 Remove duplicate mention of "edd" in Documentation/kernel-parameters.txt commit aaaa3f9e51245be3215ff67bb3c7aaf5abb82f00 tree 3116e92b35d7424469d21f6758933352e9b84dfc parent 9ec3c75cdeb57fa3c12a813c63706ece7fb63648 author Catalin Marinas Wed, 29 Jun 2005 15:34:39 +0100 committer Russell King Wed, 29 Jun 2005 15:34:39 +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 tree 84d8d123357f1a53bd0a1cefa7f8c5ae28d682e7 parent b720f73296916e87c744193c57bc8687d35888fe author Richard Purdie Wed, 29 Jun 2005 15:17:49 +0100 committer Russell King Wed, 29 Jun 2005 15:17:49 +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 tree 0fba1e98b336929a8f8c4d20d6a82714b7106c98 parent 6904b2465cf30265a67711025815784aa345bfad author Russell King Wed, 29 Jun 2005 15:15:54 +0100 committer Russell King Wed, 29 Jun 2005 15:15:54 +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 f705b1aed7002495a504086705ff9725ed9412dc tree 07a556626d6f86929332190d79e0d7d6404d64b8 parent 99a0616bcdabec9005159e50af91a36cc3f8bda8 author Ben Dooks Wed, 29 Jun 2005 11:09:15 +0100 committer Russell King Wed, 29 Jun 2005 11:09:15 +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 6904b2465cf30265a67711025815784aa345bfad tree 9a69d3ef0b1d1d1230820cbda0265150a783698b parent f705b1aed7002495a504086705ff9725ed9412dc author Ben Dooks Wed, 29 Jun 2005 11:09:15 +0100 committer Russell King Wed, 29 Jun 2005 11:09:15 +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 c5f4644e6c8ba21666128603e4e92544d3cd740d tree 1a8b4c730ca575d4b1118af174b070764803fb2c parent a839688362e32f01608838516036697e30618b39 author Russell King Wed, 29 Jun 2005 09:42:38 +0100 committer Russell King Wed, 29 Jun 2005 09:42:38 +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 tree 4c5bb08f6b392ffbc8a07d3b1d900971c6776243 parent a839688362e32f01608838516036697e30618b39 parent 053a7b5b7617a72d7c61b6f84196d1c0f79b9849 author Russell King Wed, 29 Jun 2005 09:40:28 +0100 committer Russell King Wed, 29 Jun 2005 09:40:28 +0100 Merge with ../linux-2.6-smp commit 053a7b5b7617a72d7c61b6f84196d1c0f79b9849 tree 53859118b6a815278987a5c679575f1b4b37a1c7 parent 4b0ef3b1127776d4a2787d7530ac0c4da82c2331 author Russell King Tue, 28 Jun 2005 19:22:25 +0100 committer Russell King Tue, 28 Jun 2005 19:22:25 +0100 [PATCH] ARM SMP: __xchg support This enables the existing __xchg implementation to be used on SMP. Signed-off-by: Russell King commit a68db763af9b676590c3fe9ec3f17bf18015eb2f tree 9862af81932797f0e68f7053d253e6b6b581ea3d parent 819c67e69c4e0062787e27dd989f5f9d00d4834e author Peter Chubb Thu, 23 Jun 2005 21:14:00 -0700 committer Tony Luck Tue, 28 Jun 2005 10:01:19 -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 tree bdbc12f883db46bb985dcf55e28765ad4b8353b0 parent c1ffb6a8aaed45ba2dc0a8f09241b0a96f9955ba author David Mosberger-Tang Thu, 09 Jun 2005 22:40:00 -0700 committer Tony Luck Tue, 28 Jun 2005 09:58:29 -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 tree 6a3dae555f01615d7b49de31de4a61a1b63d198e parent 92a582ed2757456ca9599f8b4ea2064f2154eb02 author Bruce Losure Tue, 24 May 2005 08:30:00 -0700 committer Tony Luck Tue, 28 Jun 2005 09:53:42 -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 tree 2ab8746b660fd06ea71743dd2a4d9fbe9fcf887f parent 71030994a77e7689a7a792128b131ef7a10b9f74 author Prarit Bhargava Tue, 10 May 2005 12:40:00 -0700 committer Tony Luck Tue, 28 Jun 2005 09:50:48 -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 tree 439eb24d866600ef3e5bfe0c2c6124fbaf10c8a6 parent 71a5d027c90dd7e14ddaaf22358ff5138ba89ec9 author Colin Ngam Tue, 10 May 2005 09:12:00 -0700 committer Tony Luck Tue, 28 Jun 2005 09:48:53 -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 tree c29d3d858532c651f686cccca286336232b788fd parent 8e4641b3ee8073a46995cf97e0875df25b88d776 author Jack Steiner Tue, 10 May 2005 08:01:00 -0700 committer Tony Luck Tue, 28 Jun 2005 09:45:45 -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 tree 7c289147614d3212114a007bdd070952f74a5bc4 parent 458f935527372499b714bf4f8e646a68bb0f52e3 author Prarit Bhargava Mon, 09 May 2005 05:07:00 -0700 committer Tony Luck Tue, 28 Jun 2005 09:37:16 -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 tree bab3265d60b3c7c3f898eeefa6c9dac264d41195 parent e15da40176f16050c8d92b36387a49370317e276 author David Mosberger-Tang Wed, 04 May 2005 13:25:00 -0700 committer Tony Luck Tue, 28 Jun 2005 09:28:16 -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 tree 0f3a161b9754d8e67b7900db37b36951ece45842 parent a9f9de7378e3a81f7266f542f2290399a298ef52 author Bjorn Helgaas Tue, 03 May 2005 12:07:00 -0700 committer Tony Luck Tue, 28 Jun 2005 09:25:56 -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 tree f88da35e16834984a43b79c66cb8ea3918944271 parent 66b7f8a30437b8639e798f7db8e9be1da5711efa author Mark Maule Tue, 26 Apr 2005 08:01:00 -0700 committer Tony Luck Tue, 28 Jun 2005 09:23:04 -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 tree 288703e10bab793bc399961059ad485604539955 parent 54522b6613a03807f057fd567794a31267ef85cb author Mark Maule Mon, 25 Apr 2005 13:51:00 -0700 committer Tony Luck Tue, 28 Jun 2005 09:09:06 -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 tree ab0d9d47779769dc5d75810aaff21972958a681f parent 99f95e5286df2f69edab8a04c7080d986ee4233b parent f2cbb4f01936a3e4225692e03b084b78c56d386d author Tony Luck Tue, 28 Jun 2005 08:24:49 -0700 committer Tony Luck Tue, 28 Jun 2005 08:24:49 -0700 Auto merge with /home/aegl/GIT/ia64-test commit 4b0ef3b1127776d4a2787d7530ac0c4da82c2331 tree be7e11c8d325e757f1f4c0caf825966eb4d9c7b8 parent 564c90aa07cd43dc434d46cef8a15773a23d49a2 author Russell King Tue, 28 Jun 2005 13:49:16 +0100 committer Russell King Tue, 28 Jun 2005 13:49:16 +0100 [PATCH] ARM SMP: Add IPI support code for SMP TLB flushing Signed-off-by: Russell King commit 564c90aa07cd43dc434d46cef8a15773a23d49a2 tree e9ac4ec0e396359dba8e8eb7e46b42ae33ee944f parent 603fff54420a0ccc4c3b48bfef43896fb4e33161 author Russell King Tue, 28 Jun 2005 13:46:09 +0100 committer Russell King Tue, 28 Jun 2005 13:46:09 +0100 [PATCH] ARM SMP: Use local_flush_tlb* where we really want to be local Signed-off-by: Russell King commit 603fff54420a0ccc4c3b48bfef43896fb4e33161 tree 0be240afa2df6187491d73b91e068400b2d1cd6e parent 99f95e5286df2f69edab8a04c7080d986ee4233b parent 8b22c249e7de453961e4d253b19fc2a0bdd65d53 author Russell King Tue, 28 Jun 2005 13:40:39 +0100 committer Russell King Tue, 28 Jun 2005 13:40:39 +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 f2cbb4f01936a3e4225692e03b084b78c56d386d tree f89f3d8baa250589a38a4dd2df56f84cddae3c76 parent 325a479c4c110db278ef3361460a48c4093252cc parent 1016888fb69662936b32ab767c7419a3be9a69d3 author Tony Luck Wed, 15 Jun 2005 14:06:48 -0700 committer Tony Luck Wed, 15 Jun 2005 14:06:48 -0700 Auto merge with /home/aegl/GIT/linus commit 325a479c4c110db278ef3361460a48c4093252cc tree bcfbf4d0647d9442045639a5c19da59d55190e81 parent ebcc80c1b6629a445f7471cc1ddb48faf8a84e70 parent 7f9eaedf894dbaa08c157832e9a6c9c03ffed1ed author Tony Luck Tue, 17 May 2005 15:53:14 -0700 committer Tony Luck Tue, 17 May 2005 15:53:14 -0700 Merge with temp tree to get David's gdb inferior calls patch commit 7f9eaedf894dbaa08c157832e9a6c9c03ffed1ed tree 12a561efa197fdbe78ba74b576c28f132e04660a parent 8800cea62025a5209d110c5fa5990429239d6eee author David Mosberger-Tang Tue, 10 May 2005 12:49:00 -0700 committer Tony Luck Tue, 17 May 2005 14:07:10 -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 tree 74ceae4d7d8898050ab1d8b78f70fdd05906c89d parent 8e3e50168c8537807b7a6f78588cd72e21363262 author David Mosberger-Tang Thu, 05 May 2005 06:40:00 -0700 committer Tony Luck Thu, 05 May 2005 11:30:48 -0700 [IA64] Merge audit fix for fsyscalls with syscall-optimizations Signed-off-by: David Mosberger-Tang Signed-off-by: Tony Luck commit 8e3e50168c8537807b7a6f78588cd72e21363262 tree a63eb89df905efd86a58940286a63c5f670b1c05 parent e7e965fa1961a8ce32cbbb1bd436c655ad03973e author David Mosberger-Tang Wed, 27 Apr 2005 21:22:40 -0700 committer Tony Luck Wed, 27 Apr 2005 21:22:40 -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 tree fce517f87be25a0e49d62adb56460a4e7ee36716 parent fbf7192ba06e4b55022231e5fdb9db8ce3ad6307 author David Mosberger-Tang Wed, 27 Apr 2005 21:22:08 -0700 committer Tony Luck Wed, 27 Apr 2005 21:22:08 -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 tree 1da118375605f1a44e7becbd33e0078d27680504 parent 1ba7be7d691f6df2557d39c5b1a2e14c32e5dd20 author David Mosberger-Tang Wed, 27 Apr 2005 21:21:26 -0700 committer Tony Luck Wed, 27 Apr 2005 21:21:26 -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 tree f6c805c01be475f21de0cdcada8f69c9076ea61e parent 21bc4f9b34cc1eab3610955207f72c52495ae8ed author David Mosberger-Tang Wed, 27 Apr 2005 21:20:51 -0700 committer Tony Luck Wed, 27 Apr 2005 21:20:51 -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 tree 2fc89a932dcc7e0b62717bbf0838136346ebd193 parent 70929a57cfea8c18de13fcea9ae6771018a98949 author David Mosberger-Tang Wed, 27 Apr 2005 21:20:11 -0700 committer Tony Luck Wed, 27 Apr 2005 21:20:11 -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 tree 1371e183617f368b7a92b185a2dee829c70d0efd parent f8fa5448fc9b4a7806b1297a0b57808f12fe4d43 author David Mosberger-Tang Wed, 27 Apr 2005 21:19:37 -0700 committer Tony Luck Wed, 27 Apr 2005 21:19:37 -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 tree b32f9939ee3b72010e4c3255d58278f85c547a7e parent c03f058fbf685f2ff630095d2c1e98d331b81e82 author David Mosberger-Tang Wed, 27 Apr 2005 21:19:04 -0700 committer Tony Luck Wed, 27 Apr 2005 21:19:04 -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 tree def1271117756fdde22b4d51b03a43378ad927ca parent 87e522a0f7f8a7a5a1a880517989835c4f09c63e author David Mosberger-Tang Wed, 27 Apr 2005 21:18:22 -0700 committer Tony Luck Wed, 27 Apr 2005 21:18:22 -0700 [IA64] In ia64_leave_syscall(), fix comments and whitespace only. Signed-off-by: David Mosberger-Tang Signed-off-by: Tony Luck commit 87e522a0f7f8a7a5a1a880517989835c4f09c63e tree 72a20dd374169677a3b151f1f1168e2654cecc08 parent 060561ff79b01eea58e6d72abfb8e7580ff21f2a author David Mosberger-Tang Wed, 27 Apr 2005 21:17:44 -0700 committer Tony Luck Wed, 27 Apr 2005 21:17:44 -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 tree 7c3f95456480d3c6b44842df5a7619be98f2e14d parent 96e017495e6833adcbad84783e3c5eb685836bbf author David Mosberger-Tang Wed, 27 Apr 2005 21:17:03 -0700 committer Tony Luck Wed, 27 Apr 2005 21:17:03 -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 tree 41504d1ba4f94282d109224936ae6829109c3e6d parent 3c79c8b1d92a9ae3edf3cbcd2c43c553ee0f1d83 author David Mosberger-Tang Wed, 27 Apr 2005 21:16:07 -0700 committer Tony Luck Wed, 27 Apr 2005 21:16:07 -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 tree 50a6d59383a15d92aa054371a247112e3e539bc5 parent 9ec1a7ad434fa951ff845dbee3397cf6ad4f76df author David Mosberger-Tang Wed, 27 Apr 2005 21:15:13 -0700 committer Tony Luck Wed, 27 Apr 2005 21:15:13 -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 tree 05e8a156ccd42bfbed3293b386f0e4d905d04a88 parent 06ef66081620e94fe35a518f98624b83a140096e author David Mosberger-Tang Wed, 27 Apr 2005 21:13:33 -0700 committer Tony Luck Wed, 27 Apr 2005 21:13:33 -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 tree a34e95f00e5994b5c5f179637d9047c3ee212269 parent fc67b16ecaf6ebde04096030c268adddade023f1 author David Mosberger-Tang Wed, 27 Apr 2005 21:10:45 -0700 committer Tony Luck Wed, 27 Apr 2005 21:10:45 -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