- 03 Jan, 2005 40 commits
-
-
Jeff Dike authored
Before Bodo's signal fixes and my signal delivery rework, it was possible for a process to execute UML code by running the default signal restorer. This is no longer possible, so this check can be removed from the sanity test for UML accidentally tracing itself. Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Jeff Dike authored
Add a declaration for ptrace_setfpregs Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Jeff Dike authored
This implements using the new ptrace option SYSEMU_SINGLESTEP in UML (advanced sysemu) in SKAS and TT modes. To have a fast selection of the appropriate ptrace option to use next, a 2 dimensional arry is used and singlestepping() is modified to return 0,1 or 2: 0 = don't do singlestepping 1 = singlestep a syscall 2 = singlestep a "non syscall" instruction In do_syscall() writing of the syscall number is supressed, if the advanced sysemu is in use (that does it itself). Signed-off-by: Bodo Stroesser <bstroesser@fujitsu-siemens.com> Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Jeff Dike authored
From: Bodo Stroesser <bstroesser@fujitsu-siemens.com> This implements checking for the new ptrace option SYSEMU_SINGLESTEP (advanced sysemu) and allows the values 0,1,2 for /proc/sysemu, if advanced sysemu is available: 0 = don't use sysemu 1 = use sysemu, but don't use advanced sysemu 2 = use sysemu and advanced sysemu Signed-off-by: Bodo Stroesser <bstroesser@fujitsu-siemens.com> Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Jeff Dike authored
From: Bodo Stroesser <bstroesser@fujitsu-siemens.com> In call to update_process_times() set parameter user correctly. (was from for SKAS). Signed-off-by: Bodo Stroesser <bstroesser@fujitsu-siemens.com> Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Jeff Dike authored
From: Bodo Stroesser <bstroesser@fujitsu-siemens.com> Restoring of current->blocked in sys_sigreturn is wrong. The first (long ) of the mask correctly is fetched from sc->oldmask. The further longs again come from there, but correctly should be taken from frame->extramask. Signed-off-by: Bodo Stroesser <bstroesser@fujitsu-siemens.com> Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Jeff Dike authored
From: Bodo Stroesser <bstroesser@fujitsu-siemens.com> Usage of SYSEMU in TT mode is modified, so that always the same method is used in do_syscall as has been used before in ptrace(PTRACE_SYSCALL/SYSEMU, ...) Signed-off-by: Bodo Stroesser <bstroesser@fujitsu-siemens.com> Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Jeff Dike authored
From: Bodo Stroesser <bstroesser@fujitsu-siemens.com> This patch fixes compilation on 2.4 hosts by not relying on macros from 2.6 host kernel headers in one userspace file. It's about AT_SYSINFO_* macros. Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade_spam@yahoo.it> Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Jeff Dike authored
From: Bodo Stroesser <bstroesser@fujitsu-siemens.com> My older patch, that sets TIF_SIGPENDING after an ptrace-interception in syscall_trace() is wrong. Some syscalls want to be called without any signal pending. If a signal is pending on syscall-entry, they immediately return with -ERESTARTNOINTR. Thus, on return to user, the pending signals can be processed and the kernel will lower eip by 2 to have the syscall restarted after that. Since my change sets TIF_SIGPENDING on the entry and exit interception, stracing such a syscall looped! Try "strace ls" to see what happens. Fix: set TIF_SIGPENDING on the exit interception only. This avoids the loop and is enough for security. Signed-off-by: Bodo Stroesser <bstroesser@fujitsu-siemens.com> Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Jeff Dike authored
From: Bodo Stroesser The implementation of sys_sigreturn() and sys_rt_sigreturn() in UML must be changed. This is necessary, since the return value of sys_*_sigreturn() is the value of eax in the thread, that was interrupted by the signal handler. If accidentaly eax contains -ERESTART_*, orig_eax *must* be -1 to avoid syscall restart processing in kern_do_signal(). If orig_eax is >=0, eip might be lowered by 2, the process will fail. In UML PT_REGS_SYSCALL_NR() or UPT_SYSCALL_NR() have to be used instead of orig_eax. While writing and testing an exploit for this, I saw that for most interrupts, the syscall number is undefined. So even on a return from interrupt a wrong syscall restart handling could happen. And also: UML resumes a process with ptrace(PTRACE_SYSCALL/SYSEMU/SINGLESTEP when a syscall in UML in SKAS mode has been processed. But since there is a valid syscall number in the host's orig_eax, the host could do a wrong syscall restarting if the syscall in UML was a sigreturn() returning -ERESTART* To avoid this, in SKAS -1 should be written to regs.orig_eax before restore_registers(). Signed-off-by: Bodo Stroesser <bstroesser@fujitsu-siemens.com> Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade_spam@yahoo.it> Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Jeff Dike authored
From: Bodo Stroesser <bstroesser@fujitsu-siemens.com> some modules need end_iomem to be exported. Signed-off-by: Bodo Stroesser <bstroesser@fujitsu-siemens.com> Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Jeff Dike authored
From: Bodo Stroesser <bstroesser@fujitsu-siemens.com> As Jeff pointed out, the check for address wrapping in access_ok_skas was wrong. Also, change vsyscall_ehdr and vsyscall_end to be unsigned long and export them, since modules need them for access_ok_skas Signed-off-by: Bodo Stroesser <bstroesser@fujitsu-siemens.com> Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Jeff Dike authored
Update defconfig for 2.6.10-rc2-mm4. Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Jeff Dike authored
This patch changes how UML kills ptraced processes in order to be more correct in the presence of the ptrace changes in 2.6.9. It used to be that ptrace stopped processes could simply be killed and they would go away. Now, there's a new run state for ptraced processes which doesn't receive signals until they are PTRACE_KILLed or PTRACE_CONTinued. So, this patch kills the process, as usual, then PTRACE_KILL and PTRACE_CONT. This is done in os_kill_ptrace_process() for use from skas mode, and in tracer() when it sees a child process getting a SIGKILL. Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Jeff Dike authored
From: Bodo Stroesser Patch 1/3 to implement usage of PTRACE_O_TRACESYSGOOD This is necessary, to fix UMLs bad behavior when a process does a systemcall with syscall-number less than 0. Insert a check for availability and function of ptrace(PTRACE_SETOPTIONS,,,PTRACE_O_TRACESYSGOOD) into the normal ptrace checks at startup. Patch 2/3 to implement usage of PTRACE_O_TRACESYSGOOD This is necessary, to fix UMLs bad behavior when a process does a systemcall with syscall-number less than 0. This patch makes SKAS-mode use PTRACE_O_TRACESYSGOOD and fixes the problems in SKAS. Patch 3/3 to implement usage of PTRACE_O_TRACESYSGOOD This is necessary, to fix UMLs bad behavior when a process does a systemcall with syscall-number less than 0. This patch makes TT-mode use PTRACE_O_TRACESYSGOOD and fixes the problems in TT. I'm not quite sure, that this patch doesn't cause problems with debugger usage. It should be testet by someone, who has more know how about TT-mode debugger. Signed-off-by: Bodo Stroesser <bstroesser@fujitsu-siemens.com> Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Jeff Dike authored
From: Bodo Stroesser Complete the dump with the vsyscall-information, if a vsyscall-page is available. Signed-off-by: Bodo Stroesser <bodo.stroesser@fujitsu-siemens.com> Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Jeff Dike authored
From: Bodo Stroesser To make the vsyscall-page available for copy_from_user() and ptrace(), we should use kernel's "gate-vma" mechanism. Therefore we need a valid page structure. To have this, one page (or more) is allocated at boot time, the contents of the vsyscall-page is copied into this page and the page's pte is inserted in swapper's pagetables. Now it will be copied into the pagetables of all processes. Note: this alone doesn't work, since FIXADDR_USER_START and FIXADDR_USER_END are not yet defined correctly. Also access_ok_skas() does not yet grant read accesses to pages not in the normal user area. Risks: Please check the first hunk! I don't know, whether this change is OK. Maybe fixrange_init() is wrong anyway with 3-level-pagetables? Here access_ok_skas() and FIXADDR_USER_XXXX are fixed. Now everything should work fine, while the processes are running. But if a process crashes, the vsyscall-page will not be dumped. Signed-off-by: Bodo Stroesser <bodo.stroesser@fujitsu-siemens.com> Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Jeff Dike authored
From: Bodo Stroesser This is the first patch of a series of four. These patches allow the use of sysenter-systemcalls in UML if the host support sysenter. Some facts have to be noted: - the sysenter instruction does not save anything, not even the return address. Thus the host-kernel builds a stackframe with an fixed return address for the backjump to the vsyscall-page. All kernels that support sysenter thus must have a vsyscall-page - The hosts vsyscall-page is visible in all memory-contexts on the host, even in those of the processes running on UML. This cannot be changed. So the best way to implement sysenter is to integrate the host's vsyscall-page into UML, if available. This patch creates a new source file containing an UML initialization function. The function scans the Elf-auxiliary vector that is prepared by the host for relevant information about: - vsyscall elf-header - vsyscall entry - machine type (called "platform", e.g. "i586" or "i686") - hardware capabilities These informations are inserted into the Elf-auxiliary-vector that is generated if an UML process calls "execXX()". If the information from the auxiliray-vector is not complete, UML uses the previos default values, with one exception: if the host has no vsyscall-page, UML now does no longer insert AT_SYSINFO or AT_SYSINFO_EHDR elements. (I think, that's better than writing dummies) Since the host's vsyscall-page is always visible to UML processes, this change is enough to let UML with an i686-compiled glibc use sysenter. what's missing: - is_syscall() in SKAS cannot access the code in the vsyscall-page via copy_from_user(), thus singlesteppers still could break out. (Note: that's not new, if someone jumps willingly to the sysenter-entry in the vsyscall-page, he can do that without the patch, too). - a debugger cannot access the code in the vsyscall-page via ptrace( PEEKTEXT, ...) Risks: could there by any feature of the host's processor, that is indicated in the hardware capabilities, but must not be used in UML? Signed-off-by: Bodo Stroesser <bodo.stroesser@fujitsu-siemens.com> Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paolo \'Blaisorblade\' Giarrusso authored
Fix some bugs left in the failure path of run_helper by the previous patch: it was missing one os_close_file(fds[1]) which is conditional. To use the goto handling model, I set the fd to -1 if it's already closed (I don't want to check if keeping one more pipe-end open is no problem). Also do some cosmethic cleanup: * "err" was what we returned even on success, so just use a neutral "ret". * use tabs, not spaces. * a little more comments. Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade_spam@yahoo.it> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paolo \'Blaisorblade\' Giarrusso authored
With Jeff Dike <jdike@addtoit.com>, Fixed a file descriptor leak in the network driver when changing an IP address. Fixed the error handling in run_helper. Paolo notes: Actually, this is part one of the change, the exact one extracted from Jeff Dike's incrementals tree before 2.6.9-rc big UML merge. There is some changes must be done, so I'm also sending a second patch with this one, too. Separated for tracking purposes. Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade_spam@yahoo.it> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Gerd Knorr authored
This is a major cleanup of the uml terminal drivers and console handling (console as in "where the kernel messages go to", not as in "linux virtual terminals"). The changes in detail: (1) There is a new console driver calles "stderr" which (as the name implies) simply dumps all kernel messages to stderr. That one is registered very early in the boot process via console_initcall() and will print every almost kernel message instantly: Both very early in the boot process and very late in shutdown. Note that this is not enabled by default, see below for details. (2) Ditched the early-console-init hackery in stdio_console.c (open_console(NULL) + related stuff) into the waste basket, not needed any more as you can use the new stderr console driver to get the kernel messages if your kernel crashes very early in the boot process. (3) Handle console initialitation for the uml stdio console and virtual serial lines the normal way using the console->setup() function. Now all kernel messages appear on your console device once it is initialized without any dirty tricks. (4) The (2) changes allow a number of further cleanups: As we don't open a line without a tty_struct any more we can ... * hook struct line into tty->driver_data * pass around tty_struct instead of struct line everythere * get rid of some trivial wrappers in ssl.c and stdio_console.c because we can get struct line via tty_struct all the time now. (5) Change the ordering in the arch/um/drivers/Makefile and thus the link and initialization order to make sure the stdio console and not the virtual serial line is the default console device. (6) Fixed a number of Documentation/CodingStyle issues within the code (not systematically, but usually just the places I was touching anyway or where it bugged me while browsing the code because it was hard to read). Looks like that cleanup also fixed some strange tty issues I've seen in the past (like console getty not responding to input sometimes, suse's /sbin/blogd causing trouble). Finally some usage notes for using the new stderr console: If the stderr console is enabled, then it is the default console device because it registeres very early in the boot process. But as it isn't linked to a tty device this makes init unhappy, you'll see "can't open initial console" error messages. Because you usually don't want that the stderr console is turned off by default. That also maintains the behavior that /dev/tty0 is the first console device registered and thus the default console. There are basically two useful use cases for the stderr console: (1) Your kernel dies before the normal console device is initialized and thus you don't see any messages. Just enable the stderr console to see them by adding "stderr=1" to the kernel command line. (2) You want to have the kernel messages on both stderr and your console terminal device. Try something like this: $ ./linux stderr=1 console=stderr console=ttyS0 ssl0=xterm This example sets up the console on a virtual serial line and pops up an xterm for that. Signed-off-by: Gerd Knorr <kraxel@bytesex.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paolo \'Blaisorblade\' Giarrusso authored
This is a follow-up to my previous "hostfs - uml: set .sendfile to generic_file_sendfile" patch. I was asking whether other methods should have been added, and comparing with ext3 I found some more ones. However, I have not specific clues about them: I know they use the pagecache, which relies on *page methods, which are defined by hostfs. So I think it could work. I have a doubt, whether hostfs needs the commented out method below: static struct address_space_operations hostfs_aops = { .writepage = hostfs_writepage, .readpage = hostfs_readpage, /* .set_page_dirty = __set_page_dirty_nobuffers, */ .prepare_write = hostfs_prepare_write, .commit_write = hostfs_commit_write }; Hostfs does not have a underlying device (and I have some rough idea that buffers cache block devices data), so I wonder if that is needed or not. Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade_spam@yahoo.it> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paolo \'Blaisorblade\' Giarrusso authored
Make hostfs use the generic sendfile implementation. Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade_spam@yahoo.it> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Jeff Dike authored
From: Bodo Stroesser <bstroesser@fujitsu-siemens.com> In most cases reboot failed on my system. After "Restarting system.", UML exited without further messages. I found an SIGIO being processed by sig_handler() resp. sig_handler_common_skas(). Don't know, why this exits, maybe the context is no longer valid at this time. So, I changed the sequence in the reboot part of main() to stop the timers and disable the fds before unblocking the signals. Since this wasn't enough, I also added set_handler(SIGXXX, SIG_IGN) calls to disable_timer() and deactivate_all_fds(). Now reboot works fine in SKAS and it still works in TT. Signed-off-by: Bodo Stroesser <bstroesser@fujitsu-siemens.com> Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Jeff Dike authored
This adds a free_irq_by_irq_and_dev call which was accidentally removed when the UML free_irq was replaced by generic code. Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Jeff Dike authored
This process closes some file descriptors which were left open incorrectly. These are the initrd descriptor, the temporary test file used for testing /tmp for execution permission, and a descriptor used by the netork to connect to the switch. In the network case, we add network devices to the opened list as soon as they are added to UML, rather than when they are configured. This ensures that close_devices will remove the device properly on shutdown. Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Jeff Dike authored
Fix sys_sigreturn and sys_rt_sigreturn to avoid calling copy_from_user inside a spinlock. We copy the blocked signal mask into a local sigset_t before the spinlock and then just assign from it inside the lock. Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Jeff Dike authored
This piece appears to have gone in twice. Signed-off-by: Milton Miller <miltonm@bga.com> Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Jeff Dike authored
From: Chris Wedgewood: this removes unnecessary cruft from unistd.h Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Jeff Dike authored
From: Bodo Stroesser Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Jeff Dike authored
This patch rips out the old signal delivery mechanism and replaces it with a sane one. Specifically, UML used to capture a host signal frame and use it as a template for its own signal frames. This was a worthy idea, because it promised a degree of architecture-independence for this part of UML, but impractical. There are some environments, notably 32 bit emulation on a 64 bit box, where you can't use the host signal frame as a template for your own. Plus, this code is as complicated, even to someone who understands what it's doing, as the standard fill-in-a-structure-and-write-it-to-the-stack. For everyone else, it is incomprehensible. So, this reimplements signal handling in the way that everyone else does. It gives up on architecture independence, and moves this code into the x86-specific stuff. Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paolo \'Blaisorblade\' Giarrusso authored
From: Jeff Dike <jdike@addtoit.com> This patch adds ptrace_setfpregs and makes these functions return -errno on failure. Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade_spam@yahoo.it> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paolo \'Blaisorblade\' Giarrusso authored
Reworded the comment about __wrap_free detection of the allocator used to allocate the pointer (it can free a pointer created by either the host malloc(), kmalloc() or vmalloc()). Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade_spam@yahoo.it> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paolo \'Blaisorblade\' Giarrusso authored
Remove uses of devfs_mk_symlink(). We didn't do this before to avoid breaking most user setups, but this patch should be quite harmless. I've excluded the hottest part, i.e. the ubd symlink, while removing the other; I released a end-user tree with this patch and there was a good number of people using the symlink rather than the preferred name. That part will be merged later, I think. Since now we have evidence of less and less users using devfs, we think that it will not cause too much problems. Acked-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade_spam@yahoo.it> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Hirokazu Takata authored
This patch updates include/asm-m32r/mmu_context.h. * include/asm-m32r/mmu_context.h: - Add #ifdef __KERNEL__ - Change __inline__ to inline for __KERNEL__ portion. Signed-off-by: Hirokazu Takata <takata@linux-m32r.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Hirokazu Takata authored
This patch updates include/asm-m32r/system.h. * include/asm-m32r/system.h: - Use barrier() as mb(). - Change __inline__ to inline. Signed-off-by: Hirokazu Takata <takata@linux-m32r.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Hirokazu Takata authored
This patch is for employing the generic hardirq framework for m32r. Now CONFIG_GENERIC_HARDIRQS is set to Y by default. - Update to use GENERIC_HARDIRQ framework. - Fix PREEMPT_ACTIVE definition (changeset 1.2000.16.20) Signed-off-by: Hirokazu Takata <takata@linux-m32r.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Hirokazu Takata authored
Here is a patch to update kernel headers for mutual exclusion, atomic.h, bitops.h and semaphore.h of m32r. This patch is for making these headers publishable to userland. * include/asm-m32r/assembler.h (M32R_LOCK, M32R_UNLOCK): Define M32R_LOCK and M32R_UNLOCK macros. For SMP configuration, these macros are expanded to m32r's LOCK and UNLOCK instructions. While, for UP configuration, these are simply expanded to m32r's LD(load) and ST(store) instructions, respectively. * include/asm-m32r/atomic.h, include/asm-m32r/bitops.h, include/asm-m32r/semaphore.h: - Change macros from LOAD and STORE to M32R_LOCK and M32R_UNLOCK, respectively. It is because LOAD and STORE are too generic words. - Change inline to __inline__. Retrieve __inline__ modifiers for functions which are placed outside of __KERNEL__ region in these headers, because those functions might be included and used from ISO C program in userland. Currently, it seems that these headers are allowed to be included from userland. Indeed, they are kernel stuff, but these headers provide useful definitions and functions even for userland applications, I think. Signed-off-by: Hirokazu Takata <takata@linux-m32r.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Hirokazu Takata authored
- Use kmalloc for m32r stacks (cf. changeset 1.1046.533.10) - Update for CONFIG_DEBUG_STACK_USAGE This modification was taken from include/asm-i386/thread_info.h. Signed-off-by: Hirokazu Takata <takata@linux-m32r.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Hirokazu Takata authored
- Use THREAD_SIZE for __ASSEMBLY__ portion. - Update comments. - Fix a typo: user-thead --> user-thread. NOTE: Now there are two THREAD_SIZE definitions in the following patch, one is in C part and the other is in __ASSEMBLY__ part. I'm going to consolidate these THREAD_SIZE definitions. So, I have to change PAGE_SIZE definition of include/asm-m32r/page.h to be includable into asm portion... Signed-off-by: Hirokazu Takata <takata@linux-m32r.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-