From: Pete Popov <ppopov@pacbell.net>
Cc: "'linux-mips-kernel@lists.sourceforge.net '"
<linux-mips-kernel@lists.sourceforge.net>,
"'linux-mips@oss.sgi.com '" <linux-mips@oss.sgi.com>
Subject: Re: hard hat linux 2.0
Date: Fri, 20 Jul 2001 09:26:14 -0700 [thread overview]
Message-ID: <3B585BA6.1080507@pacbell.net> (raw)
In-Reply-To: 25369470B6F0D41194820002B328BDD27D2B@ATLOPS
[-- Attachment #1: Type: text/plain, Size: 1573 bytes --]
Marc Karasek wrote:
> Is there somewhere I can grab the patch from Florian?
Yes, somewhere in the mail archives. If you use the 2.4.2 based kernel
in HHL2.0, that patch and others have been applied. I've attached
Florian's patch.
Pete
>
> -----Original Message-----
> From: Pete Popov
> To: linux-mips-kernel@lists.sourceforge.net; linux-mips@oss.sgi.com
> Sent: 7/19/01 3:03 PM
> Subject: hard hat linux 2.0
>
> Looks like ftp.mvista.com was updated last night to include the mips
> journeyman edition. The images of interest would be
> ftp.mvista.com:/pub/Journeyman/cdimages/{je-d1-hhl2.0.cdimage,
> je-src-hhl2.0.cdimage}. They are rather large so it takes a while to
> download them.
>
> In addition to the userland packages, there is an up to date cross
> toolchain which can build the kernel as well as useland apps. There is
> also a native toolchain. The toolchain is 2.95.3 based; glibc is 2.2.3.
>
> Since there was some perl interest recently, perl is included.
> Rebuilding any of the userland packages, for those interested in doing
> that, is pretty trivial (cross based building!).
>
> This is an embedded linux distribution so it's not as large as a RedHat
> desktop system. For embedded work though, I think it's more than
> sufficient. One note, to anyone trying it. A number of binaries are
> linked with pthreads, so you'll need either the new sysmips fix that
> Ralf is working on, when he completes it, or the patch from Florian.
> Otherwise binaries like ls, tar, and many others will seg fault.
>
> Pete
>
>
[-- Attachment #2: florian_sysmips.patch --]
[-- Type: text/plain, Size: 3604 bytes --]
diff -Nur linux.orig/arch/mips/kernel/Makefile linux/arch/mips/kernel/Makefile
--- linux.orig/arch/mips/kernel/Makefile Mon Apr 9 00:23:08 2001
+++ linux/arch/mips/kernel/Makefile Mon Apr 9 00:23:34 2001
@@ -20,7 +20,7 @@
obj-y += branch.o process.o signal.o entry.o \
traps.o ptrace.o vm86.o ioport.o reset.o \
semaphore.o setup.o syscall.o sysmips.o \
- ipc.o scall_o32.o unaligned.o
+ ipc.o scall_o32.o unaligned.o fast-sysmips.o
obj-$(CONFIG_MODULES) += mips_ksyms.o
ifdef CONFIG_CPU_R3000
@@ -69,5 +69,6 @@
entry.o: entry.S
head.o: head.S
+fast-sysmips.o: fast-sysmips.S
include $(TOPDIR)/Rules.make
diff -Nur linux.orig/arch/mips/kernel/fast-sysmips.S linux/arch/mips/kernel/fast-sysmips.S
--- linux.orig/arch/mips/kernel/fast-sysmips.S Thu Jan 1 01:00:00 1970
+++ linux/arch/mips/kernel/fast-sysmips.S Mon Apr 9 00:28:20 2001
@@ -0,0 +1,85 @@
+/*
+ * MIPS_ATOMIC_SET asm implementation for ll/sc capable cpus
+ *
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License. See the file "COPYING" in the main directory of this archive
+ * for more details.
+ *
+ * Copyright (C) 2001 Florian Lohoff <flo@rfc822.org>
+ *
+ */
+#include <asm/asm.h>
+#include <asm/mipsregs.h>
+#include <asm/regdef.h>
+#include <asm/stackframe.h>
+#include <asm/isadep.h>
+#include <asm/unistd.h>
+#include <asm/sysmips.h>
+#include <asm/offset.h>
+#include <asm/errno.h>
+
+#define PT_TRACESYS 0x00000002
+
+ EXPORT(fast_sysmips)
+
+ .set noreorder
+
+ li t0, MIPS_ATOMIC_SET
+ beq a0, t0, 1f
+ nop
+ j sys_sysmips
+ nop
+
+1:
+
+ # a0 - MIPS_ATOMIC_SET
+ # a1 - mem ptr
+ # a2 - value
+
+ addiu sp, sp, -8 # Reserve space
+ sw a0, (sp) # Save arg0
+
+ addiu a0, a1, 4 # addr+size
+ ori v0, a1, 4 # addr | size
+ lw v1, THREAD_CURDS(gp) # current->thread.current_ds
+ or v0, v0, a0 # addr | size | (addr+size)
+ and v1, v1, v0 # (mask)&(addr | size | (addr+size)
+ bltz v1, 5f
+ nop
+
+2:
+ ll v0, (a1)
+ move t0, a2
+ sc t0, (a1)
+ beqz t0, 2b
+ nop
+
+ sw v0, PT_R2+8(sp) # Result value
+ sw zero, PT_R7+8(sp) # Success indicator
+
+ lw t0, TASK_PTRACE(gp) # syscall tracing enabled?
+ andi t0, PT_TRACESYS
+ bnez t0, 3f
+ nop
+
+4:
+ lw a0, (sp) # Restore arg0
+ addiu sp, sp, 8 # Restore sp
+
+ j o32_ret_from_sys_call
+ nop
+
+3:
+ sw ra, 4(sp)
+ jal syscall_trace
+ nop
+ lw ra, 4(sp)
+ j 4b
+ nop
+
+5:
+ lw a0, (sp) # Restore arg0
+ addiu sp, sp, 8 # Restore sp
+ j ra
+ li v0, -EFAULT
+
diff -Nur linux.orig/arch/mips/kernel/irix5sys.h linux/arch/mips/kernel/irix5sys.h
--- linux.orig/arch/mips/kernel/irix5sys.h Mon Apr 9 00:16:29 2001
+++ linux/arch/mips/kernel/irix5sys.h Sun Apr 8 21:21:16 2001
@@ -69,7 +69,7 @@
SYS(irix_getgid, 0) /* 1047 getgid() V*/
SYS(irix_unimp, 0) /* 1048 (XXX IRIX 4 ssig) V*/
SYS(irix_msgsys, 6) /* 1049 sys_msgsys V*/
-SYS(sys_sysmips, 4) /* 1050 sysmips() HV*/
+SYS(fast_sysmips, 4) /* 1050 sysmips() HV*/
SYS(irix_unimp, 0) /* 1051 XXX sysacct() IV*/
SYS(irix_shmsys, 5) /* 1052 sys_shmsys V*/
SYS(irix_semsys, 0) /* 1053 sys_semsys V*/
diff -Nur linux.orig/arch/mips/kernel/syscalls.h linux/arch/mips/kernel/syscalls.h
--- linux.orig/arch/mips/kernel/syscalls.h Mon Apr 9 00:16:30 2001
+++ linux/arch/mips/kernel/syscalls.h Sun Apr 8 21:21:43 2001
@@ -163,7 +163,7 @@
SYS(sys_writev, 3)
SYS(sys_cacheflush, 3)
SYS(sys_cachectl, 3)
-SYS(sys_sysmips, 4)
+SYS(fast_sysmips, 4)
SYS(sys_ni_syscall, 0) /* 4150 */
SYS(sys_getsid, 1)
SYS(sys_fdatasync, 0)
next prev parent reply other threads:[~2001-07-20 16:26 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-07-20 13:25 hard hat linux 2.0 Marc Karasek
2001-07-20 16:26 ` Pete Popov [this message]
-- strict thread matches above, loose matches on Subject: below --
2001-07-19 19:03 Pete Popov
2001-07-20 2:37 ` jeff_lee
2001-07-20 2:36 ` James Simmons
2001-07-20 2:37 ` jeff_lee
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3B585BA6.1080507@pacbell.net \
--to=ppopov@pacbell.net \
--cc=linux-mips-kernel@lists.sourceforge.net \
--cc=linux-mips@oss.sgi.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox