All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [Qemu-devel] qemu-fast
From: Jim C. Brown @ 2004-07-01  1:22 UTC (permalink / raw)
  To: qemu-devel
In-Reply-To: <200406302009.17188.menola@sbcglobal.net>

On Wed, Jun 30, 2004 at 08:09:17PM -0500, Joe Menola wrote:
> If I go thru the modify config/compile scene will win98 run in qemu-fast mode?
> 

What would you modify/config/compile? I thought win98 was only available in
binary form. Or perhaps you have something that I don't have. ;):):)

-- 
Infinite complexity begets infinite beauty.
Infinite precision begets infinite perfection.

^ permalink raw reply

* Re: A problem with a large static arp table
From: Rusty Russell @ 2004-07-01  1:12 UTC (permalink / raw)
  To: Roman Zagustin; +Cc: netdev
In-Reply-To: <1835705734.20040630181449@techas.lt>

On Thu, 2004-07-01 at 01:14, Roman Zagustin wrote:
> Hello!

Hi,

	Not really my area; pinging netdev to see if they can help.

> I have a router with >800 static ip/mac records.
> It does not work :(
> With small table it is fine.
> The kernel is 2.6 (tried with different patches and versions
>  2.4 - the same)
> 
> Just for example(real):
>  
> root@stargate:/proc/sys/net/ipv4/neigh/default# arp -n|grep 172.16.3.230
> 172.16.3.230             ether   00:50:04:6C:50:9E   CM                    eth3
> root@stargate:/proc/sys/net/ipv4/neigh/default#
> root@stargate:/proc/sys/net/ipv4/neigh/default# tcpdump -i eth3 host 172.16.3.230  -e
> tcpdump: listening on eth3
> 15:38:10.660144 0:6:29:ee:c3:d8 0:2:b3:b4:34:e2 ip 448: 172.16.3.230.1060 > medium.cs.microlink.lt.http: P 1268207798:1268208192(394) ack 3537529644 win 64240 (DF)
> 15:38:10.674698 0:6:29:ee:c3:d8 0:2:b3:b4:34:e2 ip 453: 172.16.3.230.1077 > medium.cs.microlink.lt.http: P 1279539300:1279539699(399) ack 2683450794 win 63095 (DF)
> 
> There are no errors/warnings in the log files about neighbour table.
> 
> >From the server I can't ping the 172.16.3.230, but it can ping the
> server. In general, server do not check the ip/mac table at all
> when forwarding received packets.
> 
> I don't know where is the problem :(
-- 
Anyone who quotes me in their signature is an idiot -- Rusty Russell

^ permalink raw reply

* Re: [Qemu-devel] qemu-fast
From: Joe Menola @ 2004-07-01  1:09 UTC (permalink / raw)
  To: qemu-devel
In-Reply-To: <20040701005009.GA28651@jbrown.mylinuxbox.org>

On Wed June 30 2004 7:50 pm, Jim C. Brown wrote:
> On Wed, Jun 30, 2004 at 07:34:38PM -0500, Joe Menola wrote:
> > I just installed Qemu last night. After reading the user doc and some
> > recent mailing list postings I've managed to create a raw drive image, 2
> > of them actually... one to install win98 in and one to hold my win95 cd
> > files for proof of upgrade eligibility.
> > I booted from a win98 start disk and I'll be damned if 98 isn't
> > installing as I type. This is WAAAAAAAAAAAAAAAAAY cool. :)
> > Kinda slow though, which leads to my question... the user doc states that
> > a patch is available for 2.6 kernels for enabling qemu-fast support. The
> > doc states that it can be found "in the QEMU source archive".
> > What I can't seem to locate is, the QEMU source archive. Any one have a
> > link or sense of direction?
> >
> > Thanks in advance, and thanks for such a nifty application.
> >
> > -jm
>
> Those patches only work when using linux 2.6 kernel as a guest OS. It won't
> help you run Windows 98 with qemu-fast. (On the plus side you can run
> qemu-fast w/o needing to recompile your host OS kernel :)

I see, well at least there's a plus side :). I plan to play with Linux distros 
also, so this will come in handy anyway.
If I go thru the modify config/compile scene will win98 run in qemu-fast mode?

>
> That said, *I think* you can get those patches here, but am not sure if
> these are the right ones:
>
> http://lists.gnu.org/archive/html/qemu-devel/2003-12/msg00020.html
> http://lists.gnu.org/archive/html/qemu-devel/2004-01/msg00014.html
>
Looks like the right stuff to me, thanks a ton.

-jm

^ permalink raw reply

* [U-Boot-Users] write_via_fpu() doesn't work?
From: Shawn @ 2004-07-01  1:11 UTC (permalink / raw)
  To: u-boot
In-Reply-To: <20040701002418.23575.qmail@web20706.mail.yahoo.com>

OK, I found the reason. 

> I'm debugging the flash_init(), which is ported from SL8245. Through
> the
> following three lines of code, it always gets wrong result.
> 	write_via_fpu (&addr[0xaaa8], precmd0);
> 	write_via_fpu (&addr[0x5550], precmd1);
> 	write_via_fpu (&addr[0xaaa8], cmdid);

It should be 0x2aaa because the pointer is long type.

-Shawn.


		
__________________________________
Do you Yahoo!?
Yahoo! Mail is new and improved - Check it out!
http://promotions.yahoo.com/new_mail

^ permalink raw reply

* Re: how to redirect certain IPs to specific url
From: Ian Holsman @ 2004-07-01  1:11 UTC (permalink / raw)
  To: Askar Ali Khan; +Cc: netfilter
In-Reply-To: <a0f69e504063000446f514e22@mail.gmail.com>

Hi.
If your running a apache webserver you can do this via re-write rules

check out http://httpd.apache.org/docs-2.0/mod/mod_rewrite.html

something like
rewriteengine on
RewriteCond %{REMOTE_HOST}  ^host1.*  [OR]
RewriteCond %{REMOTE_HOST}  ^host2.*  [OR]
RewriteCond %{REMOTE_HOST}  ^host3.*
RewriteRule ...some special stuff for any of these hosts...

On Wed, 30 Jun 2004 12:44:09 +0500, Askar Ali Khan <askarali@gmail.com> wrote:
> 
> hi
> got a very simple question, i want to redirect certain IPs(clients)
> request to a specific URL (ip)?
> and also later on how to Flush the specific rule from the the chain as
> -A will append it on the bottom, how  i will delete it ?
> 
> thanks
> 
>


^ permalink raw reply

* Re: A question about PROT_NONE on ARM and ARM26
From: Nicolas Pitre @ 2004-07-01  1:05 UTC (permalink / raw)
  To: Jamie Lokier; +Cc: Ian Molton, linux-arm-kernel, lkml
In-Reply-To: <20040630233014.GC32560@mail.shareable.org>

On Thu, 1 Jul 2004, Jamie Lokier wrote:

> Russell King wrote:
> > Ok, this could work, but there's one gotcha - TASK_SIZE-4 doesn't fit
> > in an 8-bit rotated constants, so we need 2 extra instructions:
> > 
> > __get_user_4:
> > 	mov	r1, #TASK_SIZE
> > 	sub	r1, r1, #4
> > 	cmp	r0, r1
> > 4:	ldrlet	r1, [r0]
> > 	movle	r0, #0
> > 	movle	pc, lr
> > 	...
> 
> One more possibility:
> 
> 	cmp	r0, #(TASK_SIZE - (1<<24))
> 
> I.e. just compare against the largest constant that can be
> represented.  For accesses to the last part of userspace, it's a
> penalty of 4 instructions -- but it might work out to be a net gain.

Maybe not.  The user stack is located at the top so any user buffer 
allocated on the stack would be penalized.


Nicolas


^ permalink raw reply

* Re: Hard errors, trying to recover
From: Redeeman @ 2004-07-01  1:04 UTC (permalink / raw)
  To: Reiserfs Mailinglist
In-Reply-To: <200406302142.05828.kris@xn--khntopp-90a.de>

On Wed, 2004-06-30 at 21:42 +0200, Kristian Köhntopp wrote:
> On Wednesday 30 June 2004 17:59, Vitaly Fertman wrote:
> > you probably used some old reiserfsprogs.
> 
> Suse Linux 9.0 with all patches, reiserfsck identifies itself as
> 
> white:~ # reiserfsck -V
> reiserfsck 3.6.9 (2003 www.namesys.com)
which is also very old, as 2.6.17 exists
> 
> Kristian
> 
-- 
Redeeman <redeeman@metanurb.dk>


^ permalink raw reply

* Re: compat_sys_adjtimex
From: Arun Sharma @ 2004-07-01  1:03 UTC (permalink / raw)
  To: Paul Mackerras; +Cc: David S. Miller, linux-arch
In-Reply-To: <16611.20590.297525.314297@cargo.ozlabs.ibm.com>

[-- Attachment #1: Type: text/plain, Size: 936 bytes --]

On 6/30/2004 4:44 PM, Paul Mackerras wrote:

> David S. Miller writes:
>> On Wed, 30 Jun 2004 12:03:43 -0700
>> Arun Sharma <arun.sharma@intel.com> wrote:
>> 
>> > This system call seems to be duplicated in many architectures. Here's
>> > a patch which moves it to kernel/compat.c
>> > 
>> > We didn't touch ppc64, because it seems to be different. We've tested
>> > this on ia64 with LTP.
>> 
>> PPC64 just wants some kind of callback invoked right after the
>> do_adjtimex() call, it should be possible to provide a "do-nothing"
>> macro in linux/compat.h that ppc can override in asm/compat.h
> 
> That code we have in ppc64 is about 10 times too clever to be allowed
> to live.  It was basically trying to avoid the overhead of the rwlock
> back in the days when xtime was protected by an rwlock.  Now that we
> have seqlocks we could (and should :) get rid of it.

ok, the function has been eliminated from ppc64 as well.

	-Arun


[-- Attachment #2: compat_sys_adjtimex.2.patch --]
[-- Type: text/plain, Size: 31777 bytes --]

This patch moves sys32_adjtimex in 7 archs up to kernel/compat.c.

Signed-off-by: Gordon Jin <gordon.jin@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@intel.com>

---
 arch/ia64/ia32/ia32_entry.S        |    2 
 arch/ia64/ia32/sys_ia32.c          |   74 -----------------------------------
 arch/mips/kernel/linux32.c         |   73 -----------------------------------
 arch/mips/kernel/scall64-n32.S     |    2 
 arch/mips/kernel/scall64-o32.S     |    2 
 arch/parisc/kernel/sys_parisc32.c  |   58 ---------------------------
 arch/parisc/kernel/syscall_table.S |    2 
 arch/ppc64/kernel/misc.S           |    2 
 arch/ppc64/kernel/sys_ppc32.c      |   77 -------------------------------------
 arch/s390/kernel/compat_linux.c    |   73 -----------------------------------
 arch/s390/kernel/compat_wrapper.S  |    8 +--
 arch/s390/kernel/syscalls.S        |    2 
 arch/sparc64/kernel/sys_sparc32.c  |   73 -----------------------------------
 arch/sparc64/kernel/systbls.S      |    2 
 arch/x86_64/ia32/ia32entry.S       |    2 
 arch/x86_64/ia32/sys_ia32.c        |   76 ------------------------------------
 include/linux/compat.h             |   15 +++++++
 kernel/compat.c                    |   58 +++++++++++++++++++++++++++
 18 files changed, 85 insertions(+), 516 deletions(-)

diff -purN linux-2.6.7/arch/ia64/ia32/ia32_entry.S linux-2.6.7-adjtimex/arch/ia64/ia32/ia32_entry.S
--- linux-2.6.7/arch/ia64/ia32/ia32_entry.S	2004-06-23 17:29:15.000000000 +0800
+++ linux-2.6.7-adjtimex/arch/ia64/ia32/ia32_entry.S	2004-06-30 09:26:24.000000000 +0800
@@ -332,7 +332,7 @@ ia32_syscall_table:
 	data8 sys_setdomainname
 	data8 sys32_newuname
 	data8 sys32_modify_ldt
-	data8 sys_ni_syscall	/* adjtimex */
+	data8 compat_sys_adjtimex
 	data8 sys32_mprotect	  /* 125 */
 	data8 compat_sys_sigprocmask
 	data8 sys_ni_syscall	/* create_module */
diff -purN linux-2.6.7/arch/ia64/ia32/sys_ia32.c linux-2.6.7-adjtimex/arch/ia64/ia32/sys_ia32.c
--- linux-2.6.7/arch/ia64/ia32/sys_ia32.c	2004-06-23 17:29:15.000000000 +0800
+++ linux-2.6.7-adjtimex/arch/ia64/ia32/sys_ia32.c	2004-06-30 09:56:09.000000000 +0800
@@ -2199,78 +2199,4 @@ sys32_setresgid(compat_gid_t rgid, compa
 	ssgid = (sgid == (compat_gid_t)-1) ? ((gid_t)-1) : ((gid_t)sgid);
 	return sys_setresgid(srgid, segid, ssgid);
 }
-
-/* Handle adjtimex compatibility. */
-
-struct timex32 {
-	u32 modes;
-	s32 offset, freq, maxerror, esterror;
-	s32 status, constant, precision, tolerance;
-	struct compat_timeval time;
-	s32 tick;
-	s32 ppsfreq, jitter, shift, stabil;
-	s32 jitcnt, calcnt, errcnt, stbcnt;
-	s32  :32; s32  :32; s32  :32; s32  :32;
-	s32  :32; s32  :32; s32  :32; s32  :32;
-	s32  :32; s32  :32; s32  :32; s32  :32;
-};
-
-extern int do_adjtimex(struct timex *);
-
-asmlinkage long
-sys32_adjtimex(struct timex32 *utp)
-{
-	struct timex txc;
-	int ret;
-
-	memset(&txc, 0, sizeof(struct timex));
-
-	if(get_user(txc.modes, &utp->modes) ||
-	   __get_user(txc.offset, &utp->offset) ||
-	   __get_user(txc.freq, &utp->freq) ||
-	   __get_user(txc.maxerror, &utp->maxerror) ||
-	   __get_user(txc.esterror, &utp->esterror) ||
-	   __get_user(txc.status, &utp->status) ||
-	   __get_user(txc.constant, &utp->constant) ||
-	   __get_user(txc.precision, &utp->precision) ||
-	   __get_user(txc.tolerance, &utp->tolerance) ||
-	   __get_user(txc.time.tv_sec, &utp->time.tv_sec) ||
-	   __get_user(txc.time.tv_usec, &utp->time.tv_usec) ||
-	   __get_user(txc.tick, &utp->tick) ||
-	   __get_user(txc.ppsfreq, &utp->ppsfreq) ||
-	   __get_user(txc.jitter, &utp->jitter) ||
-	   __get_user(txc.shift, &utp->shift) ||
-	   __get_user(txc.stabil, &utp->stabil) ||
-	   __get_user(txc.jitcnt, &utp->jitcnt) ||
-	   __get_user(txc.calcnt, &utp->calcnt) ||
-	   __get_user(txc.errcnt, &utp->errcnt) ||
-	   __get_user(txc.stbcnt, &utp->stbcnt))
-		return -EFAULT;
-
-	ret = do_adjtimex(&txc);
-
-	if(put_user(txc.modes, &utp->modes) ||
-	   __put_user(txc.offset, &utp->offset) ||
-	   __put_user(txc.freq, &utp->freq) ||
-	   __put_user(txc.maxerror, &utp->maxerror) ||
-	   __put_user(txc.esterror, &utp->esterror) ||
-	   __put_user(txc.status, &utp->status) ||
-	   __put_user(txc.constant, &utp->constant) ||
-	   __put_user(txc.precision, &utp->precision) ||
-	   __put_user(txc.tolerance, &utp->tolerance) ||
-	   __put_user(txc.time.tv_sec, &utp->time.tv_sec) ||
-	   __put_user(txc.time.tv_usec, &utp->time.tv_usec) ||
-	   __put_user(txc.tick, &utp->tick) ||
-	   __put_user(txc.ppsfreq, &utp->ppsfreq) ||
-	   __put_user(txc.jitter, &utp->jitter) ||
-	   __put_user(txc.shift, &utp->shift) ||
-	   __put_user(txc.stabil, &utp->stabil) ||
-	   __put_user(txc.jitcnt, &utp->jitcnt) ||
-	   __put_user(txc.calcnt, &utp->calcnt) ||
-	   __put_user(txc.errcnt, &utp->errcnt) ||
-	   __put_user(txc.stbcnt, &utp->stbcnt))
-		ret = -EFAULT;
-
-	return ret;
-}
 #endif /* NOTYET */
diff -purN linux-2.6.7/arch/mips/kernel/linux32.c linux-2.6.7-adjtimex/arch/mips/kernel/linux32.c
--- linux-2.6.7/arch/mips/kernel/linux32.c	2004-06-17 15:55:28.000000000 +0800
+++ linux-2.6.7-adjtimex/arch/mips/kernel/linux32.c	2004-06-30 10:49:51.000000000 +0800
@@ -1257,79 +1257,6 @@ out:
 	return err;
 }
 
-/* Handle adjtimex compatibility. */
-
-struct timex32 {
-	u32 modes;
-	s32 offset, freq, maxerror, esterror;
-	s32 status, constant, precision, tolerance;
-	struct compat_timeval time;
-	s32 tick;
-	s32 ppsfreq, jitter, shift, stabil;
-	s32 jitcnt, calcnt, errcnt, stbcnt;
-	s32  :32; s32  :32; s32  :32; s32  :32;
-	s32  :32; s32  :32; s32  :32; s32  :32;
-	s32  :32; s32  :32; s32  :32; s32  :32;
-};
-
-extern int do_adjtimex(struct timex *);
-
-asmlinkage int sys32_adjtimex(struct timex32 *utp)
-{
-	struct timex txc;
-	int ret;
-
-	memset(&txc, 0, sizeof(struct timex));
-
-	if (get_user(txc.modes, &utp->modes) ||
-	   __get_user(txc.offset, &utp->offset) ||
-	   __get_user(txc.freq, &utp->freq) ||
-	   __get_user(txc.maxerror, &utp->maxerror) ||
-	   __get_user(txc.esterror, &utp->esterror) ||
-	   __get_user(txc.status, &utp->status) ||
-	   __get_user(txc.constant, &utp->constant) ||
-	   __get_user(txc.precision, &utp->precision) ||
-	   __get_user(txc.tolerance, &utp->tolerance) ||
-	   __get_user(txc.time.tv_sec, &utp->time.tv_sec) ||
-	   __get_user(txc.time.tv_usec, &utp->time.tv_usec) ||
-	   __get_user(txc.tick, &utp->tick) ||
-	   __get_user(txc.ppsfreq, &utp->ppsfreq) ||
-	   __get_user(txc.jitter, &utp->jitter) ||
-	   __get_user(txc.shift, &utp->shift) ||
-	   __get_user(txc.stabil, &utp->stabil) ||
-	   __get_user(txc.jitcnt, &utp->jitcnt) ||
-	   __get_user(txc.calcnt, &utp->calcnt) ||
-	   __get_user(txc.errcnt, &utp->errcnt) ||
-	   __get_user(txc.stbcnt, &utp->stbcnt))
-		return -EFAULT;
-
-	ret = do_adjtimex(&txc);
-
-	if (put_user(txc.modes, &utp->modes) ||
-	   __put_user(txc.offset, &utp->offset) ||
-	   __put_user(txc.freq, &utp->freq) ||
-	   __put_user(txc.maxerror, &utp->maxerror) ||
-	   __put_user(txc.esterror, &utp->esterror) ||
-	   __put_user(txc.status, &utp->status) ||
-	   __put_user(txc.constant, &utp->constant) ||
-	   __put_user(txc.precision, &utp->precision) ||
-	   __put_user(txc.tolerance, &utp->tolerance) ||
-	   __put_user(txc.time.tv_sec, &utp->time.tv_sec) ||
-	   __put_user(txc.time.tv_usec, &utp->time.tv_usec) ||
-	   __put_user(txc.tick, &utp->tick) ||
-	   __put_user(txc.ppsfreq, &utp->ppsfreq) ||
-	   __put_user(txc.jitter, &utp->jitter) ||
-	   __put_user(txc.shift, &utp->shift) ||
-	   __put_user(txc.stabil, &utp->stabil) ||
-	   __put_user(txc.jitcnt, &utp->jitcnt) ||
-	   __put_user(txc.calcnt, &utp->calcnt) ||
-	   __put_user(txc.errcnt, &utp->errcnt) ||
-	   __put_user(txc.stbcnt, &utp->stbcnt))
-		ret = -EFAULT;
-
-	return ret;
-}
-
 asmlinkage int sys32_sendfile(int out_fd, int in_fd, compat_off_t *offset,
 	s32 count)
 {
diff -purN linux-2.6.7/arch/mips/kernel/scall64-n32.S linux-2.6.7-adjtimex/arch/mips/kernel/scall64-n32.S
--- linux-2.6.7/arch/mips/kernel/scall64-n32.S	2004-06-17 15:55:28.000000000 +0800
+++ linux-2.6.7-adjtimex/arch/mips/kernel/scall64-n32.S	2004-06-30 10:50:59.000000000 +0800
@@ -271,7 +271,7 @@ EXPORT(sysn32_call_table)
 	PTR	sys_pivot_root
 	PTR	sys32_sysctl
 	PTR	sys_prctl
-	PTR	sys32_adjtimex
+	PTR	compat_sys_adjtimex
 	PTR	compat_sys_setrlimit		/* 6155 */
 	PTR	sys_chroot
 	PTR	sys_sync
diff -purN linux-2.6.7/arch/mips/kernel/scall64-o32.S linux-2.6.7-adjtimex/arch/mips/kernel/scall64-o32.S
--- linux-2.6.7/arch/mips/kernel/scall64-o32.S	2004-06-17 15:55:28.000000000 +0800
+++ linux-2.6.7-adjtimex/arch/mips/kernel/scall64-o32.S	2004-06-30 10:51:51.000000000 +0800
@@ -382,7 +382,7 @@ out:	jr	ra
 	sys	sys_setdomainname 2
 	sys	sys32_newuname	1
 	sys	sys_ni_syscall	0	/* sys_modify_ldt */
-	sys	sys32_adjtimex	1
+	sys	compat_sys_adjtimex	1
 	sys	sys_mprotect	3			/* 4125 */
 	sys	compat_sys_sigprocmask	3
 	sys	sys_ni_syscall	0			/* was creat_module */
diff -purN linux-2.6.7/arch/parisc/kernel/syscall_table.S linux-2.6.7-adjtimex/arch/parisc/kernel/syscall_table.S
--- linux-2.6.7/arch/parisc/kernel/syscall_table.S	2004-06-17 15:55:37.000000000 +0800
+++ linux-2.6.7-adjtimex/arch/parisc/kernel/syscall_table.S	2004-06-30 10:59:10.000000000 +0800
@@ -207,7 +207,7 @@
 	/* struct sockaddr... */
 	ENTRY_SAME(recvfrom)
 	/* struct timex contains longs */
-	ENTRY_DIFF(adjtimex)
+	ENTRY_COMP(adjtimex)
 	ENTRY_SAME(mprotect)		/* 125 */
 	/* old_sigset_t forced to 32 bits.  Beware glibc sigset_t */
 	ENTRY_COMP(sigprocmask)
diff -purN linux-2.6.7/arch/parisc/kernel/sys_parisc32.c linux-2.6.7-adjtimex/arch/parisc/kernel/sys_parisc32.c
--- linux-2.6.7/arch/parisc/kernel/sys_parisc32.c	2004-06-17 15:55:37.000000000 +0800
+++ linux-2.6.7-adjtimex/arch/parisc/kernel/sys_parisc32.c	2004-06-30 10:58:14.000000000 +0800
@@ -585,64 +585,6 @@ asmlinkage int sys32_sendfile64(int out_
 	return ret;
 }
 
-
-struct timex32 {
-	unsigned int modes;	/* mode selector */
-	int offset;		/* time offset (usec) */
-	int freq;		/* frequency offset (scaled ppm) */
-	int maxerror;		/* maximum error (usec) */
-	int esterror;		/* estimated error (usec) */
-	int status;		/* clock command/status */
-	int constant;		/* pll time constant */
-	int precision;		/* clock precision (usec) (read only) */
-	int tolerance;		/* clock frequency tolerance (ppm)
-				 * (read only)
-				 */
-	struct compat_timeval time;	/* (read only) */
-	int tick;		/* (modified) usecs between clock ticks */
-
-	int ppsfreq;           /* pps frequency (scaled ppm) (ro) */
-	int jitter;            /* pps jitter (us) (ro) */
-	int shift;              /* interval duration (s) (shift) (ro) */
-	int stabil;            /* pps stability (scaled ppm) (ro) */
-	int jitcnt;            /* jitter limit exceeded (ro) */
-	int calcnt;            /* calibration intervals (ro) */
-	int errcnt;            /* calibration errors (ro) */
-	int stbcnt;            /* stability limit exceeded (ro) */
-
-	int  :32; int  :32; int  :32; int  :32;
-	int  :32; int  :32; int  :32; int  :32;
-	int  :32; int  :32; int  :32; int  :32;
-};
-
-asmlinkage long sys32_adjtimex(struct timex32 *txc_p32)
-{
-	struct timex txc;
-	struct timex32 t32;
-	int ret;
-	extern int do_adjtimex(struct timex *txc);
-
-	if(copy_from_user(&t32, txc_p32, sizeof(struct timex32)))
-		return -EFAULT;
-#undef CP
-#define CP(x) txc.x = t32.x
-	CP(modes); CP(offset); CP(freq); CP(maxerror); CP(esterror);
-	CP(status); CP(constant); CP(precision); CP(tolerance);
-	CP(time.tv_sec); CP(time.tv_usec); CP(tick); CP(ppsfreq); CP(jitter);
-	CP(shift); CP(stabil); CP(jitcnt); CP(calcnt); CP(errcnt);
-	CP(stbcnt);
-	ret = do_adjtimex(&txc);
-#undef CP
-#define CP(x) t32.x = txc.x
-	CP(modes); CP(offset); CP(freq); CP(maxerror); CP(esterror);
-	CP(status); CP(constant); CP(precision); CP(tolerance);
-	CP(time.tv_sec); CP(time.tv_usec); CP(tick); CP(ppsfreq); CP(jitter);
-	CP(shift); CP(stabil); CP(jitcnt); CP(calcnt); CP(errcnt);
-	CP(stbcnt);
-	return copy_to_user(txc_p32, &t32, sizeof(struct timex32)) ? -EFAULT : ret;
-}
-
-
 struct sysinfo32 {
 	s32 uptime;
 	u32 loads[3];
diff -purN linux-2.6.7/arch/ppc64/kernel/misc.S linux-2.6.7-adjtimex/arch/ppc64/kernel/misc.S
--- linux-2.6.7/arch/ppc64/kernel/misc.S	2004-06-17 15:55:33.000000000 +0800
+++ linux-2.6.7-adjtimex/arch/ppc64/kernel/misc.S	2004-07-01 08:38:53.050665105 +0800
@@ -730,7 +730,7 @@ _GLOBAL(sys_call_table32)
 	.llong .sys32_setdomainname
 	.llong .ppc64_newuname
 	.llong .sys_ni_syscall		/* old modify_ldt syscall */
-	.llong .sys32_adjtimex
+	.llong .compat_sys_adjtimex
 	.llong .sys_mprotect		/* 125 */
 	.llong .compat_sys_sigprocmask
 	.llong .sys_ni_syscall		/* old create_module syscall */
diff -purN linux-2.6.7/arch/ppc64/kernel/sys_ppc32.c linux-2.6.7-adjtimex/arch/ppc64/kernel/sys_ppc32.c
--- linux-2.6.7/arch/ppc64/kernel/sys_ppc32.c	2004-06-17 15:55:33.000000000 +0800
+++ linux-2.6.7-adjtimex/arch/ppc64/kernel/sys_ppc32.c	2004-07-01 08:37:23.925666197 +0800
@@ -274,83 +274,6 @@ asmlinkage long sys32_sysfs(u32 option, 
 	return sys_sysfs((int)option, arg1, arg2);
 }
 
-/* Handle adjtimex compatibility. */
-struct timex32 {
-	u32 modes;
-	s32 offset, freq, maxerror, esterror;
-	s32 status, constant, precision, tolerance;
-	struct compat_timeval time;
-	s32 tick;
-	s32 ppsfreq, jitter, shift, stabil;
-	s32 jitcnt, calcnt, errcnt, stbcnt;
-	s32  :32; s32  :32; s32  :32; s32  :32;
-	s32  :32; s32  :32; s32  :32; s32  :32;
-	s32  :32; s32  :32; s32  :32; s32  :32;
-};
-
-extern int do_adjtimex(struct timex *);
-extern void ppc_adjtimex(void);
-
-asmlinkage long sys32_adjtimex(struct timex32 __user *utp)
-{
-	struct timex txc;
-	int ret;
-	
-	memset(&txc, 0, sizeof(struct timex));
-
-	if(get_user(txc.modes, &utp->modes) ||
-	   __get_user(txc.offset, &utp->offset) ||
-	   __get_user(txc.freq, &utp->freq) ||
-	   __get_user(txc.maxerror, &utp->maxerror) ||
-	   __get_user(txc.esterror, &utp->esterror) ||
-	   __get_user(txc.status, &utp->status) ||
-	   __get_user(txc.constant, &utp->constant) ||
-	   __get_user(txc.precision, &utp->precision) ||
-	   __get_user(txc.tolerance, &utp->tolerance) ||
-	   __get_user(txc.time.tv_sec, &utp->time.tv_sec) ||
-	   __get_user(txc.time.tv_usec, &utp->time.tv_usec) ||
-	   __get_user(txc.tick, &utp->tick) ||
-	   __get_user(txc.ppsfreq, &utp->ppsfreq) ||
-	   __get_user(txc.jitter, &utp->jitter) ||
-	   __get_user(txc.shift, &utp->shift) ||
-	   __get_user(txc.stabil, &utp->stabil) ||
-	   __get_user(txc.jitcnt, &utp->jitcnt) ||
-	   __get_user(txc.calcnt, &utp->calcnt) ||
-	   __get_user(txc.errcnt, &utp->errcnt) ||
-	   __get_user(txc.stbcnt, &utp->stbcnt))
-		return -EFAULT;
-
-	ret = do_adjtimex(&txc);
-
-	/* adjust the conversion of TB to time of day to track adjtimex */
-	ppc_adjtimex();
-
-	if(put_user(txc.modes, &utp->modes) ||
-	   __put_user(txc.offset, &utp->offset) ||
-	   __put_user(txc.freq, &utp->freq) ||
-	   __put_user(txc.maxerror, &utp->maxerror) ||
-	   __put_user(txc.esterror, &utp->esterror) ||
-	   __put_user(txc.status, &utp->status) ||
-	   __put_user(txc.constant, &utp->constant) ||
-	   __put_user(txc.precision, &utp->precision) ||
-	   __put_user(txc.tolerance, &utp->tolerance) ||
-	   __put_user(txc.time.tv_sec, &utp->time.tv_sec) ||
-	   __put_user(txc.time.tv_usec, &utp->time.tv_usec) ||
-	   __put_user(txc.tick, &utp->tick) ||
-	   __put_user(txc.ppsfreq, &utp->ppsfreq) ||
-	   __put_user(txc.jitter, &utp->jitter) ||
-	   __put_user(txc.shift, &utp->shift) ||
-	   __put_user(txc.stabil, &utp->stabil) ||
-	   __put_user(txc.jitcnt, &utp->jitcnt) ||
-	   __put_user(txc.calcnt, &utp->calcnt) ||
-	   __put_user(txc.errcnt, &utp->errcnt) ||
-	   __put_user(txc.stbcnt, &utp->stbcnt))
-		ret = -EFAULT;
-
-	return ret;
-}
-
-
 /* These are here just in case some old sparc32 binary calls it. */
 asmlinkage long sys32_pause(void)
 {
diff -purN linux-2.6.7/arch/s390/kernel/compat_linux.c linux-2.6.7-adjtimex/arch/s390/kernel/compat_linux.c
--- linux-2.6.7/arch/s390/kernel/compat_linux.c	2004-06-17 15:55:37.000000000 +0800
+++ linux-2.6.7-adjtimex/arch/s390/kernel/compat_linux.c	2004-06-30 11:05:47.000000000 +0800
@@ -916,79 +916,6 @@ asmlinkage long sys32_sendfile64(int out
 	return ret;
 }
 
-/* Handle adjtimex compatibility. */
-
-struct timex32 {
-	u32 modes;
-	s32 offset, freq, maxerror, esterror;
-	s32 status, constant, precision, tolerance;
-	struct compat_timeval time;
-	s32 tick;
-	s32 ppsfreq, jitter, shift, stabil;
-	s32 jitcnt, calcnt, errcnt, stbcnt;
-	s32  :32; s32  :32; s32  :32; s32  :32;
-	s32  :32; s32  :32; s32  :32; s32  :32;
-	s32  :32; s32  :32; s32  :32; s32  :32;
-};
-
-extern int do_adjtimex(struct timex *);
-
-asmlinkage long sys32_adjtimex(struct timex32 *utp)
-{
-	struct timex txc;
-	int ret;
-
-	memset(&txc, 0, sizeof(struct timex));
-
-	if(get_user(txc.modes, &utp->modes) ||
-	   __get_user(txc.offset, &utp->offset) ||
-	   __get_user(txc.freq, &utp->freq) ||
-	   __get_user(txc.maxerror, &utp->maxerror) ||
-	   __get_user(txc.esterror, &utp->esterror) ||
-	   __get_user(txc.status, &utp->status) ||
-	   __get_user(txc.constant, &utp->constant) ||
-	   __get_user(txc.precision, &utp->precision) ||
-	   __get_user(txc.tolerance, &utp->tolerance) ||
-	   __get_user(txc.time.tv_sec, &utp->time.tv_sec) ||
-	   __get_user(txc.time.tv_usec, &utp->time.tv_usec) ||
-	   __get_user(txc.tick, &utp->tick) ||
-	   __get_user(txc.ppsfreq, &utp->ppsfreq) ||
-	   __get_user(txc.jitter, &utp->jitter) ||
-	   __get_user(txc.shift, &utp->shift) ||
-	   __get_user(txc.stabil, &utp->stabil) ||
-	   __get_user(txc.jitcnt, &utp->jitcnt) ||
-	   __get_user(txc.calcnt, &utp->calcnt) ||
-	   __get_user(txc.errcnt, &utp->errcnt) ||
-	   __get_user(txc.stbcnt, &utp->stbcnt))
-		return -EFAULT;
-
-	ret = do_adjtimex(&txc);
-
-	if(put_user(txc.modes, &utp->modes) ||
-	   __put_user(txc.offset, &utp->offset) ||
-	   __put_user(txc.freq, &utp->freq) ||
-	   __put_user(txc.maxerror, &utp->maxerror) ||
-	   __put_user(txc.esterror, &utp->esterror) ||
-	   __put_user(txc.status, &utp->status) ||
-	   __put_user(txc.constant, &utp->constant) ||
-	   __put_user(txc.precision, &utp->precision) ||
-	   __put_user(txc.tolerance, &utp->tolerance) ||
-	   __put_user(txc.time.tv_sec, &utp->time.tv_sec) ||
-	   __put_user(txc.time.tv_usec, &utp->time.tv_usec) ||
-	   __put_user(txc.tick, &utp->tick) ||
-	   __put_user(txc.ppsfreq, &utp->ppsfreq) ||
-	   __put_user(txc.jitter, &utp->jitter) ||
-	   __put_user(txc.shift, &utp->shift) ||
-	   __put_user(txc.stabil, &utp->stabil) ||
-	   __put_user(txc.jitcnt, &utp->jitcnt) ||
-	   __put_user(txc.calcnt, &utp->calcnt) ||
-	   __put_user(txc.errcnt, &utp->errcnt) ||
-	   __put_user(txc.stbcnt, &utp->stbcnt))
-		ret = -EFAULT;
-
-	return ret;
-}
-
 struct __sysctl_args32 {
 	u32 name;
 	int nlen;
diff -purN linux-2.6.7/arch/s390/kernel/compat_wrapper.S linux-2.6.7-adjtimex/arch/s390/kernel/compat_wrapper.S
--- linux-2.6.7/arch/s390/kernel/compat_wrapper.S	2004-06-17 15:55:37.000000000 +0800
+++ linux-2.6.7-adjtimex/arch/s390/kernel/compat_wrapper.S	2004-06-30 11:11:00.000000000 +0800
@@ -547,10 +547,10 @@ sys32_newuname_wrapper:
 	llgtr	%r2,%r2			# struct new_utsname *
 	jg	s390x_newuname		# branch to system call
 
-	.globl  sys32_adjtimex_wrapper 
-sys32_adjtimex_wrapper:
-	llgtr	%r2,%r2			# struct timex_emu31 *
-	jg	sys32_adjtimex		# branch to system call
+	.globl  compat_sys_adjtimex_wrapper
+compat_sys_adjtimex_wrapper:
+	llgtr	%r2,%r2			# struct compat_timex *
+	jg	compat_sys_adjtimex	# branch to system call
 
 	.globl  sys32_mprotect_wrapper 
 sys32_mprotect_wrapper:
diff -purN linux-2.6.7/arch/s390/kernel/syscalls.S linux-2.6.7-adjtimex/arch/s390/kernel/syscalls.S
--- linux-2.6.7/arch/s390/kernel/syscalls.S	2004-06-17 15:55:37.000000000 +0800
+++ linux-2.6.7-adjtimex/arch/s390/kernel/syscalls.S	2004-06-30 11:11:54.000000000 +0800
@@ -132,7 +132,7 @@ SYSCALL(sys_clone_glue,sys_clone_glue,sy
 SYSCALL(sys_setdomainname,sys_setdomainname,sys32_setdomainname_wrapper)
 SYSCALL(sys_newuname,s390x_newuname,sys32_newuname_wrapper)
 NI_SYSCALL							/* modify_ldt for i386 */
-SYSCALL(sys_adjtimex,sys_adjtimex,sys32_adjtimex_wrapper)
+SYSCALL(sys_adjtimex,sys_adjtimex,compat_sys_adjtimex_wrapper)
 SYSCALL(sys_mprotect,sys_mprotect,sys32_mprotect_wrapper)	/* 125 */
 SYSCALL(sys_sigprocmask,sys_sigprocmask,compat_sys_sigprocmask_wrapper)
 NI_SYSCALL							/* old "create module" */
diff -purN linux-2.6.7/arch/sparc64/kernel/sys_sparc32.c linux-2.6.7-adjtimex/arch/sparc64/kernel/sys_sparc32.c
--- linux-2.6.7/arch/sparc64/kernel/sys_sparc32.c	2004-06-17 15:55:29.000000000 +0800
+++ linux-2.6.7-adjtimex/arch/sparc64/kernel/sys_sparc32.c	2004-06-30 11:13:30.000000000 +0800
@@ -1607,79 +1607,6 @@ asmlinkage long compat_sys_sendfile64(in
 	return ret;
 }
 
-/* Handle adjtimex compatibility. */
-
-struct timex32 {
-	u32 modes;
-	s32 offset, freq, maxerror, esterror;
-	s32 status, constant, precision, tolerance;
-	struct compat_timeval time;
-	s32 tick;
-	s32 ppsfreq, jitter, shift, stabil;
-	s32 jitcnt, calcnt, errcnt, stbcnt;
-	s32  :32; s32  :32; s32  :32; s32  :32;
-	s32  :32; s32  :32; s32  :32; s32  :32;
-	s32  :32; s32  :32; s32  :32; s32  :32;
-};
-
-extern int do_adjtimex(struct timex *);
-
-asmlinkage long sys32_adjtimex(struct timex32 __user *utp)
-{
-	struct timex txc;
-	int ret;
-
-	memset(&txc, 0, sizeof(struct timex));
-
-	if (get_user(txc.modes, &utp->modes) ||
-	    __get_user(txc.offset, &utp->offset) ||
-	    __get_user(txc.freq, &utp->freq) ||
-	    __get_user(txc.maxerror, &utp->maxerror) ||
-	    __get_user(txc.esterror, &utp->esterror) ||
-	    __get_user(txc.status, &utp->status) ||
-	    __get_user(txc.constant, &utp->constant) ||
-	    __get_user(txc.precision, &utp->precision) ||
-	    __get_user(txc.tolerance, &utp->tolerance) ||
-	    __get_user(txc.time.tv_sec, &utp->time.tv_sec) ||
-	    __get_user(txc.time.tv_usec, &utp->time.tv_usec) ||
-	    __get_user(txc.tick, &utp->tick) ||
-	    __get_user(txc.ppsfreq, &utp->ppsfreq) ||
-	    __get_user(txc.jitter, &utp->jitter) ||
-	    __get_user(txc.shift, &utp->shift) ||
-	    __get_user(txc.stabil, &utp->stabil) ||
-	    __get_user(txc.jitcnt, &utp->jitcnt) ||
-	    __get_user(txc.calcnt, &utp->calcnt) ||
-	    __get_user(txc.errcnt, &utp->errcnt) ||
-	    __get_user(txc.stbcnt, &utp->stbcnt))
-		return -EFAULT;
-
-	ret = do_adjtimex(&txc);
-
-	if (put_user(txc.modes, &utp->modes) ||
-	    __put_user(txc.offset, &utp->offset) ||
-	    __put_user(txc.freq, &utp->freq) ||
-	    __put_user(txc.maxerror, &utp->maxerror) ||
-	    __put_user(txc.esterror, &utp->esterror) ||
-	    __put_user(txc.status, &utp->status) ||
-	    __put_user(txc.constant, &utp->constant) ||
-	    __put_user(txc.precision, &utp->precision) ||
-	    __put_user(txc.tolerance, &utp->tolerance) ||
-	    __put_user(txc.time.tv_sec, &utp->time.tv_sec) ||
-	    __put_user(txc.time.tv_usec, &utp->time.tv_usec) ||
-	    __put_user(txc.tick, &utp->tick) ||
-	    __put_user(txc.ppsfreq, &utp->ppsfreq) ||
-	    __put_user(txc.jitter, &utp->jitter) ||
-	    __put_user(txc.shift, &utp->shift) ||
-	    __put_user(txc.stabil, &utp->stabil) ||
-	    __put_user(txc.jitcnt, &utp->jitcnt) ||
-	    __put_user(txc.calcnt, &utp->calcnt) ||
-	    __put_user(txc.errcnt, &utp->errcnt) ||
-	    __put_user(txc.stbcnt, &utp->stbcnt))
-		ret = -EFAULT;
-
-	return ret;
-}
-
 /* This is just a version for 32-bit applications which does
  * not force O_LARGEFILE on.
  */
diff -purN linux-2.6.7/arch/sparc64/kernel/systbls.S linux-2.6.7-adjtimex/arch/sparc64/kernel/systbls.S
--- linux-2.6.7/arch/sparc64/kernel/systbls.S	2004-06-17 15:55:29.000000000 +0800
+++ linux-2.6.7-adjtimex/arch/sparc64/kernel/systbls.S	2004-06-30 11:16:41.000000000 +0800
@@ -62,7 +62,7 @@ sys_call_table32:
 /*200*/	.word sys32_ssetmask, sys_sigsuspend, compat_sys_newlstat, sys_uselib, old32_readdir
 	.word sys32_readahead, sys32_socketcall, sys32_syslog, sys32_lookup_dcookie, sys32_fadvise64
 /*210*/	.word sys32_fadvise64_64, sys32_tgkill, sys32_waitpid, sys_swapoff, sys32_sysinfo
-	.word sys32_ipc, sys32_sigreturn, sys_clone, sys_nis_syscall, sys32_adjtimex
+	.word sys32_ipc, sys32_sigreturn, sys_clone, sys_nis_syscall, compat_sys_adjtimex
 /*220*/	.word sys32_sigprocmask, sys_ni_syscall, sys32_delete_module, sys_ni_syscall, sys32_getpgid
 	.word sys32_bdflush, sys32_sysfs, sys_nis_syscall, sys32_setfsuid16, sys32_setfsgid16
 /*230*/	.word sys32_select, sys_time, sys_nis_syscall, sys_stime, compat_statfs64
diff -purN linux-2.6.7/arch/x86_64/ia32/ia32entry.S linux-2.6.7-adjtimex/arch/x86_64/ia32/ia32entry.S
--- linux-2.6.7/arch/x86_64/ia32/ia32entry.S	2004-06-17 15:55:37.000000000 +0800
+++ linux-2.6.7-adjtimex/arch/x86_64/ia32/ia32entry.S	2004-06-30 11:21:16.000000000 +0800
@@ -429,7 +429,7 @@ ia32_sys_call_table:
 	.quad sys_setdomainname
 	.quad sys_uname
 	.quad sys_modify_ldt
-	.quad sys32_adjtimex
+	.quad compat_sys_adjtimex
 	.quad sys32_mprotect		/* 125 */
 	.quad compat_sys_sigprocmask
 	.quad quiet_ni_syscall		/* create_module */
diff -purN linux-2.6.7/arch/x86_64/ia32/sys_ia32.c linux-2.6.7-adjtimex/arch/x86_64/ia32/sys_ia32.c
--- linux-2.6.7/arch/x86_64/ia32/sys_ia32.c	2004-06-17 15:55:37.000000000 +0800
+++ linux-2.6.7-adjtimex/arch/x86_64/ia32/sys_ia32.c	2004-06-30 11:21:40.000000000 +0800
@@ -953,82 +953,6 @@ sys32_sendfile(int out_fd, int in_fd, co
 	return ret;
 }
 
-/* Handle adjtimex compatibility. */
-
-struct timex32 {
-	u32 modes;
-	s32 offset, freq, maxerror, esterror;
-	s32 status, constant, precision, tolerance;
-	struct compat_timeval time;
-	s32 tick;
-	s32 ppsfreq, jitter, shift, stabil;
-	s32 jitcnt, calcnt, errcnt, stbcnt;
-	s32  :32; s32  :32; s32  :32; s32  :32;
-	s32  :32; s32  :32; s32  :32; s32  :32;
-	s32  :32; s32  :32; s32  :32; s32  :32;
-};
-
-extern int do_adjtimex(struct timex *);
-
-asmlinkage long
-sys32_adjtimex(struct timex32 __user *utp)
-{
-	struct timex txc;
-	int ret;
-
-	memset(&txc, 0, sizeof(struct timex));
-
-	if(verify_area(VERIFY_READ, utp, sizeof(struct timex32)) ||
-	   __get_user(txc.modes, &utp->modes) ||
-	   __get_user(txc.offset, &utp->offset) ||
-	   __get_user(txc.freq, &utp->freq) ||
-	   __get_user(txc.maxerror, &utp->maxerror) ||
-	   __get_user(txc.esterror, &utp->esterror) ||
-	   __get_user(txc.status, &utp->status) ||
-	   __get_user(txc.constant, &utp->constant) ||
-	   __get_user(txc.precision, &utp->precision) ||
-	   __get_user(txc.tolerance, &utp->tolerance) ||
-	   __get_user(txc.time.tv_sec, &utp->time.tv_sec) ||
-	   __get_user(txc.time.tv_usec, &utp->time.tv_usec) ||
-	   __get_user(txc.tick, &utp->tick) ||
-	   __get_user(txc.ppsfreq, &utp->ppsfreq) ||
-	   __get_user(txc.jitter, &utp->jitter) ||
-	   __get_user(txc.shift, &utp->shift) ||
-	   __get_user(txc.stabil, &utp->stabil) ||
-	   __get_user(txc.jitcnt, &utp->jitcnt) ||
-	   __get_user(txc.calcnt, &utp->calcnt) ||
-	   __get_user(txc.errcnt, &utp->errcnt) ||
-	   __get_user(txc.stbcnt, &utp->stbcnt))
-		return -EFAULT;
-
-	ret = do_adjtimex(&txc);
-
-	if(verify_area(VERIFY_WRITE, utp, sizeof(struct timex32)) ||
-	   __put_user(txc.modes, &utp->modes) ||
-	   __put_user(txc.offset, &utp->offset) ||
-	   __put_user(txc.freq, &utp->freq) ||
-	   __put_user(txc.maxerror, &utp->maxerror) ||
-	   __put_user(txc.esterror, &utp->esterror) ||
-	   __put_user(txc.status, &utp->status) ||
-	   __put_user(txc.constant, &utp->constant) ||
-	   __put_user(txc.precision, &utp->precision) ||
-	   __put_user(txc.tolerance, &utp->tolerance) ||
-	   __put_user(txc.time.tv_sec, &utp->time.tv_sec) ||
-	   __put_user(txc.time.tv_usec, &utp->time.tv_usec) ||
-	   __put_user(txc.tick, &utp->tick) ||
-	   __put_user(txc.ppsfreq, &utp->ppsfreq) ||
-	   __put_user(txc.jitter, &utp->jitter) ||
-	   __put_user(txc.shift, &utp->shift) ||
-	   __put_user(txc.stabil, &utp->stabil) ||
-	   __put_user(txc.jitcnt, &utp->jitcnt) ||
-	   __put_user(txc.calcnt, &utp->calcnt) ||
-	   __put_user(txc.errcnt, &utp->errcnt) ||
-	   __put_user(txc.stbcnt, &utp->stbcnt))
-		ret = -EFAULT;
-
-	return ret;
-}
-
 asmlinkage long sys32_mmap2(unsigned long addr, unsigned long len,
 	unsigned long prot, unsigned long flags,
 	unsigned long fd, unsigned long pgoff)
diff -purN linux-2.6.7/include/linux/compat.h linux-2.6.7-adjtimex/include/linux/compat.h
--- linux-2.6.7/include/linux/compat.h	2004-06-17 15:55:53.000000000 +0800
+++ linux-2.6.7-adjtimex/include/linux/compat.h	2004-06-30 15:15:53.000000000 +0800
@@ -40,6 +40,19 @@ struct compat_tms {
 	compat_clock_t		tms_cstime;
 };
 
+struct compat_timex {
+	u32 modes;
+	s32 offset, freq, maxerror, esterror;
+	s32 status, constant, precision, tolerance;
+	struct compat_timeval time;
+	s32 tick;
+	s32 ppsfreq, jitter, shift, stabil;
+	s32 jitcnt, calcnt, errcnt, stbcnt;
+	s32  :32; s32  :32; s32  :32; s32  :32;
+	s32  :32; s32  :32; s32  :32; s32  :32;
+	s32  :32; s32  :32; s32  :32; s32  :32;
+};
+
 #define _COMPAT_NSIG_WORDS	(_COMPAT_NSIG / _COMPAT_NSIG_BPW)
 
 typedef struct {
@@ -130,5 +143,7 @@ asmlinkage long compat_sys_select(int n,
 		compat_ulong_t __user *outp, compat_ulong_t __user *exp,
 		struct compat_timeval __user *tvp);
 
+asmlinkage long compat_sys_adjtimex(struct compat_timex *utp)
+
 #endif /* CONFIG_COMPAT */
 #endif /* _LINUX_COMPAT_H */
diff -purN linux-2.6.7/kernel/compat.c linux-2.6.7-adjtimex/kernel/compat.c
--- linux-2.6.7/kernel/compat.c	2004-06-17 15:56:05.000000000 +0800
+++ linux-2.6.7-adjtimex/kernel/compat.c	2004-06-30 15:13:38.000000000 +0800
@@ -170,6 +170,64 @@ asmlinkage long compat_sys_times(struct 
 	return compat_jiffies_to_clock_t(jiffies);
 }
 
+extern int do_adjtimex(struct timex *);
+
+asmlinkage long compat_sys_adjtimex(struct compat_timex *utp)
+{
+	struct timex txc;
+	int ret;
+
+	memset(&txc, 0, sizeof(struct timex));
+
+	if(get_user(txc.modes, &utp->modes) ||
+	   __get_user(txc.offset, &utp->offset) ||
+	   __get_user(txc.freq, &utp->freq) ||
+	   __get_user(txc.maxerror, &utp->maxerror) ||
+	   __get_user(txc.esterror, &utp->esterror) ||
+	   __get_user(txc.status, &utp->status) ||
+	   __get_user(txc.constant, &utp->constant) ||
+	   __get_user(txc.precision, &utp->precision) ||
+	   __get_user(txc.tolerance, &utp->tolerance) ||
+	   __get_user(txc.time.tv_sec, &utp->time.tv_sec) ||
+	   __get_user(txc.time.tv_usec, &utp->time.tv_usec) ||
+	   __get_user(txc.tick, &utp->tick) ||
+	   __get_user(txc.ppsfreq, &utp->ppsfreq) ||
+	   __get_user(txc.jitter, &utp->jitter) ||
+	   __get_user(txc.shift, &utp->shift) ||
+	   __get_user(txc.stabil, &utp->stabil) ||
+	   __get_user(txc.jitcnt, &utp->jitcnt) ||
+	   __get_user(txc.calcnt, &utp->calcnt) ||
+	   __get_user(txc.errcnt, &utp->errcnt) ||
+	   __get_user(txc.stbcnt, &utp->stbcnt))
+		return -EFAULT;
+
+	ret = do_adjtimex(&txc);
+
+	if(put_user(txc.modes, &utp->modes) ||
+	   __put_user(txc.offset, &utp->offset) ||
+	   __put_user(txc.freq, &utp->freq) ||
+	   __put_user(txc.maxerror, &utp->maxerror) ||
+	   __put_user(txc.esterror, &utp->esterror) ||
+	   __put_user(txc.status, &utp->status) ||
+	   __put_user(txc.constant, &utp->constant) ||
+	   __put_user(txc.precision, &utp->precision) ||
+	   __put_user(txc.tolerance, &utp->tolerance) ||
+	   __put_user(txc.time.tv_sec, &utp->time.tv_sec) ||
+	   __put_user(txc.time.tv_usec, &utp->time.tv_usec) ||
+	   __put_user(txc.tick, &utp->tick) ||
+	   __put_user(txc.ppsfreq, &utp->ppsfreq) ||
+	   __put_user(txc.jitter, &utp->jitter) ||
+	   __put_user(txc.shift, &utp->shift) ||
+	   __put_user(txc.stabil, &utp->stabil) ||
+	   __put_user(txc.jitcnt, &utp->jitcnt) ||
+	   __put_user(txc.calcnt, &utp->calcnt) ||
+	   __put_user(txc.errcnt, &utp->errcnt) ||
+	   __put_user(txc.stbcnt, &utp->stbcnt))
+		ret = -EFAULT;
+
+	return ret;
+}
+
 /*
  * Assumption: old_sigset_t and compat_old_sigset_t are both
  * types that can be passed to put_user()/get_user().

^ permalink raw reply

* Re: [Qemu-devel] qemu-fast
From: Jim C. Brown @ 2004-07-01  0:50 UTC (permalink / raw)
  To: qemu-devel
In-Reply-To: <200406301934.39253.menola@sbcglobal.net>

On Wed, Jun 30, 2004 at 07:34:38PM -0500, Joe Menola wrote:
> I just installed Qemu last night. After reading the user doc and some recent 
> mailing list postings I've managed to create a raw drive image, 2 of them 
> actually... one to install win98 in and one to hold my win95 cd files for 
> proof of upgrade eligibility. 
> I booted from a win98 start disk and I'll be damned if 98 isn't installing as 
> I type. This is WAAAAAAAAAAAAAAAAAY cool. :)
> Kinda slow though, which leads to my question... the user doc states that a 
> patch is available for 2.6 kernels for enabling qemu-fast support. The doc 
> states that it can be found "in the QEMU source archive".
> What I can't seem to locate is, the QEMU source archive. Any one have a link 
> or sense of direction?
> 
> Thanks in advance, and thanks for such a nifty application.
> 
> -jm
> 

Those patches only work when using linux 2.6 kernel as a guest OS. It won't help
you run Windows 98 with qemu-fast. (On the plus side you can run qemu-fast w/o
needing to recompile your host OS kernel :)

That said, *I think* you can get those patches here, but am not sure if these
are the right ones:

http://lists.gnu.org/archive/html/qemu-devel/2003-12/msg00020.html
http://lists.gnu.org/archive/html/qemu-devel/2004-01/msg00014.html

> 
> _______________________________________________
> Qemu-devel mailing list
> Qemu-devel@nongnu.org
> http://lists.nongnu.org/mailman/listinfo/qemu-devel

-- 
Infinite complexity begets infinite beauty.
Infinite precision begets infinite perfection.

^ permalink raw reply

* Re: SCSI synchronization and error handling
From: James Bottomley @ 2004-07-01  0:49 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: SCSI Mailing List
In-Reply-To: <40E317D9.80904@pobox.com>

On Wed, 2004-06-30 at 14:43, Jeff Garzik wrote:
> What's the best way to ensure that the SMART command is only executed 
> after preceding, queued commands are completed?  My guess is to return 
> MLQUEUE_BUSY if (a) ->queuecommand is passed a non-queued command AND 
> (b) there are commands queued to hardware already.

So you have to quiesce the device before issuing the smart command?  In
which case, scsi_quiesce_device() is the API you want.  Or is this some
type of command ordering problem you're trying to solve?

James




^ permalink raw reply

* [PATCH] 2.6 PPC64: lockfix for rtas error log (third-times-a-charm?)
From: linas @ 2004-06-30 20:31 UTC (permalink / raw)
  To: Benjamin Herrenschmidt
  Cc: paulus, Paul Mackerras, linuxppc64-dev, Linux Kernel list
In-Reply-To: <1088621248.1920.43.camel@gaston>

On Wed, Jun 30, 2004 at 01:47:29PM -0500, Benjamin Herrenschmidt wrote:
> 
> > Well, the problem was that there is no lock that is protecting the
> > use of the single, global buffer.  Adding yet another lock is bad;
> > it makes hunting for deadlocks that much more tedious and difficult;
> > already, finding deadlocks is error-prone, and subject to bit-rot as
> > future hackers update the code.  So instead, the problem can be easily
> > avoided by not using a global buffer.  The code below mallocs/frees.
> > Its not perf-critcal, so I don't mind malloc overhead.  Would this
> > work for you?  Patch attached below.
> 
> I prefer that, but couldn't we move the kmalloc outside of the spinlock
> and so use GFP_KERNEL instead ?

OK,

Upon closer analysis of the code, I see that log_rtas_error() 
was incorrectly named, and was being used incorrectly.  The 
solution is to get rid of it entirely; see patch below. So:

-- In one case kmalloc must be GFP_ATOMIC because rtas_call()
   can happen in any context, incl. irqs.
-- In the other case, I turned it into GFP_KENREL, at the cost
   of doing a needless malloc/free in the vast majority of 
   cases where there is no error.  Small price, as I beleive
   that this routine is very rarely called.

Patch below, 
Signed-off-by: Linas Vepstas <linas@linas.org>

--linas


^ permalink raw reply

* [Qemu-devel] qemu-fast
From: Joe Menola @ 2004-07-01  0:34 UTC (permalink / raw)
  To: qemu-devel

I just installed Qemu last night. After reading the user doc and some recent 
mailing list postings I've managed to create a raw drive image, 2 of them 
actually... one to install win98 in and one to hold my win95 cd files for 
proof of upgrade eligibility. 
I booted from a win98 start disk and I'll be damned if 98 isn't installing as 
I type. This is WAAAAAAAAAAAAAAAAAY cool. :)
Kinda slow though, which leads to my question... the user doc states that a 
patch is available for 2.6 kernels for enabling qemu-fast support. The doc 
states that it can be found "in the QEMU source archive".
What I can't seem to locate is, the QEMU source archive. Any one have a link 
or sense of direction?

Thanks in advance, and thanks for such a nifty application.

-jm

^ permalink raw reply

* 2.6.7-mm5
From: Andrew Morton @ 2004-07-01  0:26 UTC (permalink / raw)
  To: linux-kernel


ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.7/2.6.7-mm5/

- bk-acpi.patch is back.  If devices mysteriously fail to function please
  try reverting it with

       patch -p1 -R -i ~/bk-acpi.patch

- last call for reviewers of the perfctr patches.

- s390, ppc64, ppc32 and IDE updates.




Changes since 2.6.7-mm4:

 linus.patch
 bk-acpi.patch
 bk-agpgart.patch
 bk-alsa.patch
 bk-cpufreq.patch
 bk-driver-core.patch
 bk-ieee1394.patch
 bk-input.patch
 bk-netdev.patch
 bk-ntfs.patch
 bk-pnp.patch
 bk-scsi.patch
 bk-usb.patch

 External trees

-x86_64-setup-section-alignment-fix.patch
-pwc-uncompress-build-fix.patch
-ppc64-fault-deadlock-fix-2.patch
-binary-translator-fs-passing.patch
-translate-japanese-comments-in-arch-v850.patch
-kill-mm_structused_hugetlb.patch
-provide-console_device.patch
-provide-console_device-comment.patch
-provide-console_suspend-and-console_resume.patch
-v267-indydogc-patch-20040627.patch
-fbcon-display-artifacts-fix.patch
-fix-to-microcode-driver-for-the-old-cpus.patch
-credits-update.patch
-pcdp-console-detection-support-fixes.patch
-ppc64-vio-infrastructure-modifications.patch
-ppc64-iseries_veth-integration.patch
-ppc64-viodasd-integration.patch
-ppc64-viocd-integration.patch
-ppc64-viotape-integration.patch
-hpet-fixes-3.patch
-sh64-merge.patch
-cirrusfb-minor-fixes.patch
-signed-bug-in-drivers-video-console-fbconc-con2fb_map.patch
-edd-store-mbr_signature-on-first-16-int13-devices.patch
-combined-patch-for-remaining-trivial-sparse.patch
-dma_get_required_mask.patch
-add-m68k-support-to-checkstack.patch
-small-fixes-to-checkstack.patch
-add-linux-compilerh-to-linux-fdh.patch
-fix-page-count-discrepancy-for-zero-page.patch
-alpha-build-fix.patch

 Merged

+ppc64-remove-rtas-arguments-from-paca.patch
+ppc64-paca-cleanup.patch
+ppc64-janitor-log_rtas_error-call-arguments.patch
+ppc64-janitor-rtas_call-return-variables.patch

 ppc64 udpates

+ppc32-ocp-for-mp10x.patch
+ppc32-ppc44x-updates.patch
+ppc32-ppc4xx-preempt-fixes.patch

 ppc32 updates

+pefrctr-x86_tests-build-fix.patch
+perfctr-update-4-6-ppc32-cleanups.patch
+perfctr-update-6-6-misc-minor-cleanups.patch
+perfctr-update-3-6-__user-annotations.patch
+perfctr-update-2-6-kconfig-related-updates.patch
+perfctr-update-5-6-reduce-stack-usage.patch

 perfctr updates

-r8169_napi-help-text.patch

 This broke

-bridge-fix-bpdu-message_age.patch

 Sort-of merged

-reduce-tlb-flushing-during-process-migration-2-fix.patch
-tlb_migrate_flush-docs.patch

 Folded into  reduce-tlb-flushing-during-process-migration-2.patch

-sched-cleanup-init_idle.patch
-sched-cleanup-improve-sched-fork-apis.patch
-sched-misc-changes.patch
-sched-disable-balance-on-clone-by-default.patch
-sched-exit-race.patch
+sched-clean-init-idle.patch
+sched-clean-fork.patch
+sched-clean-fork-rename-wake_up_new_process-wake_up_new_task.patch
+sched-misc-cleanups-2.patch
+sched-unlikely-rt_task.patch
+sched-misc.patch
+sched-misc-fix-rt.patch
+sched-no-balance-clone.patch
+sched-remove-balance-clone.patch

 New set of CPU scheduler updates

-input-psmouse-state-locking.patch
-input-serio-connect-disconnect-mandatory.patch
-input-serio-renames-1.patch
-input-serio-renames-2.patch
-input-serio-dynamic-allocation.patch
-input-serio-avoid-recursion.patch
-input-serio-sysfs-intergration.patch
-input-serio-rebind.patch
-input-9-19-serio-manual-bind.patch
-input-serio_raw-driver.patch
-input-add-platform_device_register_simple.patch
-input-convert-i8042-into-a-platform-device.patch
-input-more-platform-device-conversions.patch
-input-bind-serio-ports-and-their-parents.patch
-input-synaptics-passthrough-handling.patch
-input-add-bus-default-driver-attributes.patch
-input-serio-use-bus-default-driver-device-attributes.patch
-input-add-driver_find.patch
-input-serio-use-driver_find.patch

 These were partly-merged into bk-input, so I dropped everything.

+pcmcia-net-device-unplugging-ordering-fix.patch

 Fix pcmcia netdev takedown ordering

+remove-upf_resources.patch

 PCMCIA cleanup/fix

+define-max-kernel-symbol-lenght-and-clean-up.patch
+fix-sparse-warnings-in-kernel-power.patch
+fix-sparse-warnings-in.patch

 sparse fixes

+convert-private-abs-to-kernels-abs.patch

 Remove private ABS() implementations

+posix-locking-fix-to-posix_same_owner.patch
+posix-locking-fix-to-locking-code.patch
+posix-locking-fix-up-nfs4statec.patch
+posix-locking-fix-up-lockd.patch
+posix-locking-fl_owner_t-to-pid-mapping.patch

 POSIX file locking fixes

+rivafb-fixes.patch
+mode-switch-in-fbcon_blank.patch
+another-batch-of-fbcon-fixes.patch
+asiliantfb-fixes.patch

 fbdev driver fixes

+pdcp-needs-io_h.patch

 Build fix

+es7000-subarch-update-for-target_cpus.patch

 es7000 build fix

+zombie-with-clone_thread.patch

 Prevent creation of zombies with obscure CLONE_THREAD usage

+64-bit-bug-in-radix-tree-lookup.patch

 Fix 32-bit overflow in the radix-tree code

+s390-core-changes.patch
+s390-comon-i-o-layer.patch
+s390-dasd-driver-changes.patch
+s390-sclp-console-driver.patch
+s390-network-driver-changes.patch
+s390-zfcp-host-adapter.patch

 s390 update

+ide_tf_pio_out_fixes.patch
+ide_tf_pio_out_prehandler.patch
+ide_tf_pio_out_error.patch
+ide_task_in_intr.patch
+ide_pre_task_out_intr.patch
+ide_pre_task_mulout_intr.patch
+ide_tf_no_partial.patch
+ide_non_tf_pio.patch
+ide_no_flagged_pio.patch

 IDE update

+x86_64-edd-build-fix.patch

 Build fix

+telephony-driver-isapnp-fix.patch

 ixj.c actually works!

+1-4-dm-kcopydc-remove-unused-include.patch
+2-4-dm-kcopydc-make-client_add-return-void.patch
+3-4-dm-dm-raid1c-enforce-max-of-9-mirrors.patch
+4-4-dm-dm-raid1c-use-fixed-size-arrays.patch

 device mapper tweaks

+physnode-map-can-go-negative.patch

 Probably fix the NUMAQ remap_pte_range bug.

+flexible-mmap-bug-fix.patch

 Fix BUG in the flexible-mmap patches.





All 161 patches:


linus.patch

kbuild-improve-kernel-build-with-separated-output.patch
  kbuild: Improve Kernel build with separated output

sysfs-leaves-mount.patch
  sysfs backing store: add sysfs_dirent

sysfs-leaves-dir.patch
  sysfs backing store: add sysfs_dirent

sysfs-leaves-file.patch
  sysfs backing store: sysfs_create() changes

sysfs-leaves-bin.patch
  sysfs backing store: bin attribute changes

sysfs-leaves-symlink.patch
  sysfs backing store: sysfs_create_link changes

sysfs-leaves-misc.patch
  sysfs backing store: attribute groups and misc routines

bk-acpi.patch

bk-agpgart.patch

bk-alsa.patch

bk-cpufreq.patch

bk-driver-core.patch

bk-ieee1394.patch

bk-input.patch

bk-netdev.patch

bk-ntfs.patch

bk-pnp.patch

bk-scsi.patch

bk-usb.patch

mm.patch
  add -mmN to EXTRAVERSION

alsa-gus-compile-error.patch
  fix ALSA gus compile error

kgdb-ga.patch
  kgdb stub for ia32 (George Anzinger's one)
  kgdbL warning fix
  kgdb buffer overflow fix
  kgdbL warning fix
  kgdb: CONFIG_DEBUG_INFO fix
  x86_64 fixes
  correct kgdb.txt Documentation link (against  2.6.1-rc1-mm2)
  kgdb: fix for recent gcc
  kgdb warning fixes
  THREAD_SIZE fixes for kgdb
  Fix stack overflow test for non-8k stacks

kgdb-gapatch-fix-for-i386-single-step-into-sysenter.patch
  kgdb-ga.patch fix for i386 single-step into sysenter

kgdboe-netpoll.patch
  kgdb-over-ethernet via netpoll
  kgdboe: fix configuration of MAC address

kgdb-x86_64-support.patch
  kgdb-x86_64-support.patch for 2.6.2-rc1-mm3
  kgdb-x86_64-warning-fixes

kgdb-ia64-support.patch
  IA64 kgdb support
  ia64 kgdb repair and cleanup

kgdb-irqaction-use-cpumask.patch

kgdb-ia64-fix.patch
  ia64 kgdb fix

make-tree_lock-an-rwlock.patch
  make mapping->tree_lock an rwlock

radix_tree_tag_set-atomic.patch
  Make radix_tree_tag_set/clear atomic wrt the tag

radix_tree_tag_set-only-needs-read_lock.patch
  radix_tree_tag_set only needs read_lock()

must-fix.patch
  must fix lists update
  must fix list update
  mustfix update

must-fix-update-5.patch
  must-fix update

mustfix-lists.patch
  mustfix lists

ppc64-remove-rtas-arguments-from-paca.patch
  ppc64: emove RTAS arguments from PACA

ppc64-paca-cleanup.patch
  ppc64: PACA cleanup

ppc64-janitor-log_rtas_error-call-arguments.patch
  ppc64: janitor log_rtas_error() call arguments

ppc64-janitor-rtas_call-return-variables.patch
  ppc64: Janitor rtas_call() return variables

ppc32-ocp-for-mp10x.patch
  ppc32: OCP for MP10x

ppc32-ppc44x-updates.patch
  ppc32: PPC44x defconfig update and fixes

ppc32-ppc4xx-preempt-fixes.patch
  ppc32: PPC4xx preempt fix

ppc64-reloc_hide.patch

invalidate_inodes-speedup.patch
  invalidate_inodes speedup
  more invalidate_inodes speedup fixes

get_user_pages-handle-VM_IO.patch
  fix get_user_pages() against mappings of /dev/mem

fa311-mac-address-fix.patch
  wrong mac address with netgear FA311 ethernet card

pid_max-fix.patch
  Bug when setting pid_max > 32k

jbd-remove-livelock-avoidance.patch
  JBD: remove livelock avoidance code in journal_dirty_data()

journal_add_journal_head-debug.patch
  journal_add_journal_head-debug

list_del-debug.patch
  list_del debug check

oops-dump-preceding-code.patch
  i386 oops output: dump preceding code

lockmeter.patch
  lockmeter
  ia64 CONFIG_LOCKMETER fix

unplug-can-sleep.patch
  unplug functions can sleep

firestream-warnings.patch
  firestream warnings

ext3_rsv_cleanup.patch
  ext3 block reservation patch set -- ext3 preallocation cleanup

ext3_rsv_base.patch
  ext3 block reservation patch set -- ext3 block reservation
  ext3 reservations: fix performance regression
  ext3 block reservation patch set -- mount and ioctl feature
  ext3 block reservation patch set -- dynamically increase reservation window
  ext3 reservation ifdef cleanup patch
  ext3 reservation max window size check patch
  ext3 reservation file ioctl fix

ext3-reservation-default-on.patch
  ext3 reservation: default to on

ext3-lazy-discard-reservation-window-patch.patch
  ext3 lazy discard reservation window patch
  ext3 discard reservation in last iput fix patch
  Fix lazy reservation discard
  ext3 reservations: bad_inode fix
  ext3 reservation discard race fix

hugetlb_shm_group-sysctl-gid-0-fix.patch
  hugetlb_shm_group sysctl-gid-0-fix

really-ptrace-single-step-2.patch
  ptrace single-stepping fix

ipr-ppc64-depends.patch
  Make ipr.c require ppc

disk-barrier-core.patch
  disk barriers: core
  disk-barrier-core-tweaks

disk-barrier-ide.patch
  disk barriers: IDE
  disk-barrier-ide-symbol-expoprt
  disk-barrier ide warning fix

barrier-update.patch
  barrier update

disk-barrier-scsi.patch
  disk barriers: scsi

disk-barrier-dm.patch
  disk barriers: devicemapper

disk-barrier-md.patch
  disk barriers: MD

reiserfs-v3-barrier-support.patch
  reiserfs v3 barrier support
  reiserfs-v3-barrier-support-tweak

sync_dirty_buffer-retval.patch
  make sync_dirty_buffer() return something useful

ext3-barrier-support.patch
  ext3 barrier support

jbd-barrier-fallback-on-failure.patch
  jbd: barrier fallback on failure

ide-print-failed-opcode.patch
  ide: print failed opcode on IO errors
  From: Jens Axboe <axboe@suse.de>
  Subject: Re: ide errors in 7-rc1-mm1 and later

add-bh_eopnotsupp-for-testing.patch
  add BH_Eopnotsupp for testing async barrier failures

handle-async-barrier-failures.patch
  Handle async barrier failures

enable-suspend-resuming-of-e1000.patch
  Enable suspend/resuming of e1000

tty_io-hangup-locking.patch
  tty_io.c hangup locking

perfctr-core.patch
  From: Mikael Pettersson <mikpe@csd.uu.se>
  Subject: [PATCH][1/6] perfctr-2.7.3 for 2.6.7-rc1-mm1: core
  CONFIG_PERFCTR=n build fix

perfctr-i386.patch
  From: Mikael Pettersson <mikpe@csd.uu.se>
  Subject: [PATCH][2/6] perfctr-2.7.3 for 2.6.7-rc1-mm1: i386
  perfctr #if/#ifdef cleanup
  perfctr Dothan support

pefrctr-x86_tests-build-fix.patch
  perfctr x86_tests build fix

perfctr-x86_64.patch
  From: Mikael Pettersson <mikpe@csd.uu.se>
  Subject: [PATCH][3/6] perfctr-2.7.3 for 2.6.7-rc1-mm1: x86_64

perfctr-ppc.patch
  From: Mikael Pettersson <mikpe@csd.uu.se>
  Subject: [PATCH][4/6] perfctr-2.7.3 for 2.6.7-rc1-mm1: PowerPC

perfctr-ppc32-update.patch
  perfctr ppc32 update

perfctr-update-4-6-ppc32-cleanups.patch
  perfctr update 4/6: PPC32 cleanups

perfctr-virtualised-counters.patch
  From: Mikael Pettersson <mikpe@csd.uu.se>
  Subject: [PATCH][5/6] perfctr-2.7.3 for 2.6.7-rc1-mm1: virtualised counters

perfctr-update-6-6-misc-minor-cleanups.patch
  perfctr update 6/6: misc minor cleanups

perfctr-update-3-6-__user-annotations.patch
  perfctr update 3/6: __user annotations

perfctr-ifdef-cleanup.patch
  perfctr ifdef cleanup

perfctr-update-2-6-kconfig-related-updates.patch
  perfctr update 2/6: Kconfig-related updates

perfctr-cpus_complement-fix.patch
  perfctr-cpus_complement-fix

perfctr-cpumask-cleanup.patch
  perfctr cpumask cleanup

perfctr-update-5-6-reduce-stack-usage.patch
  perfctr update 5/6: reduce stack usage

perfctr-misc.patch
  From: Mikael Pettersson <mikpe@csd.uu.se>
  Subject: [PATCH][6/6] perfctr-2.7.3 for 2.6.7-rc1-mm1: misc

ext3-online-resize-patch.patch
  ext3: online resizing

ext3-online-resize-warning-fix.patch
  ext3-online-resize-warning-fix

net-at1700c-depends-on-mca_legacy.patch
  net/at1700.c depends on MCA_LEGACY

net-ne2c-needs-mca_legacy.patch
  net/ne2.c needs MCA_LEGACY

altix-serial-driver-2.patch
  Altix serial driver updates
  altix-serial-driver-fix

reduce-tlb-flushing-during-process-migration-2.patch
  Reduce TLB flushing during process migration
  reduce-tlb-flushing-during-process-migration-2-fix
  tlb_migrate_flush documentation

sched-clean-init-idle.patch
  sched: cleanup init_idle()

sched-clean-fork.patch
  sched: cleanup, improve sched <=> fork APIs

sched-clean-fork-rename-wake_up_new_process-wake_up_new_task.patch
  sched: rename wake_up_new_process -> wake_up_new_task

sched-misc-cleanups-2.patch
  sched: misc cleanups #2

sched-unlikely-rt_task.patch
  sched: make rt_task unlikely

sched-misc.patch
  sched: sched misc changes

sched-misc-fix-rt.patch
  sched: fix RT scheduling & interactivity estimator

sched-no-balance-clone.patch
  sched: disable balance on clone

sched-remove-balance-clone.patch
  sched: remove balance on clone

memory-backed-inodes-fix.patch
  memory-backed inodes fix

ext3_bread-cleanup.patch
  ext3_bread() cleanup

flexible-mmap-2.6.7-mm3-A8.patch
  i386 virtual memory layout rework

next-step-of-smp-support-fix-device-suspending.patch
  swsusp: preparation for smp support & fix device suspending

next-step-of-smp-support-fix-device-suspending-warning-fix.patch
  next-step-of-smp-support-fix-device-suspending warning fix

next-step-of-smp-support-fix-device-suspending-warning-fix-2.patch
  next-step-of-smp-support-fix-device-suspending warning fix 2

next-step-of-smp-support-fix-device-suspending-x86_64-fix.patch
  next-step-of-smp-support-fix-device-suspending x86_64 fix

produce-a-warning-on-unchecked-inode_setattr-use.patch
  produce a warning on unchecked inode_setattr use

driver-model-and-sysfs-support-for-pcmcia-1-3.patch
  driver model and sysfs support for PCMCIA (1/3)

update-drivers-net-pcmcia-2-3.patch
  update drivers/net/pcmcia (2/3)

update-drivers-net-wireless-3-3.patch
  update drivers/net/wireless (3/3)

bugfix-for-clock_realtime-absolute-timer.patch
  Bugfix for CLOCK_REALTIME absolute timer

pcmcia-net-device-unplugging-ordering-fix.patch
  PCMCIA net device unplugging ordering fix

remove-upf_resources.patch
  serial: remove UPF_RESOURCES

define-max-kernel-symbol-lenght-and-clean-up.patch
  sparse: define max kernel symbol length and clean up errors in kernel/kallsyms.c

fix-sparse-warnings-in-kernel-power.patch
  sparse: fix sparse warnings in kernel/power/*

fix-sparse-warnings-in.patch
  sparse: fix sparse in drivers/pnp/pnpbios/*

convert-private-abs-to-kernels-abs.patch
  convert private ABS() to kernel's abs()

posix-locking-fix-to-posix_same_owner.patch
  posix locking: Minimal fix to posix_same_owner()

posix-locking-fix-to-locking-code.patch
  posix locking: more locking code fixes

posix-locking-fix-up-nfs4statec.patch
  posix locking: Fix up nfs4state.c

posix-locking-fix-up-lockd.patch
  posix locking: Fix up lockd to make use of the new interface

posix-locking-fl_owner_t-to-pid-mapping.patch
  posix locking: mapping between fl_owner_t and client-side "pid"

rivafb-fixes.patch
  Rivafb fixes

mode-switch-in-fbcon_blank.patch
  Mode Switch in fbcon_blank()

another-batch-of-fbcon-fixes.patch
  Another batch of fbcon fixes

pdcp-needs-io_h.patch
  pcdp.c needs io.h

es7000-subarch-update-for-target_cpus.patch
  es7000 subarch update for target_cpus()

zombie-with-clone_thread.patch
  Fix zombie with CLONE_THREAD

asiliantfb-fixes.patch
  asiliantfb fix

64-bit-bug-in-radix-tree-lookup.patch
  64 bit bug in radix-tree lookup.

s390-core-changes.patch
  s390: core changes

s390-comon-i-o-layer.patch
  s390: comon i/o layer

s390-dasd-driver-changes.patch
  s390: dasd driver changes

s390-sclp-console-driver.patch
  s390: sclp console driver

s390-network-driver-changes.patch
  s390: network driver changes

s390-zfcp-host-adapter.patch
  s390: zfcp host adapter

ide_tf_pio_out_fixes.patch
  ide: PIO-out fixes for ide-taskfile.c (CONFIG_IDE_TASKFILE_IO=n)

ide_tf_pio_out_prehandler.patch
  ide: PIO-out ->prehandler() fixes (CONFIG_IDE_TASKFILE_IO=y)

ide_tf_pio_out_error.patch
  ide: PIO-out error handling fixes (CONFIG_IDE_TASKFILE_IO=y)

ide_task_in_intr.patch
  ide: remove BUSY check from task_in_intr() (CONFIG_IDE_TASKFILE_IO=n)

ide_pre_task_out_intr.patch
  remove pre_task_out_intr() comment (CONFIG_IDE_TASKFILE_IO=n)

ide_pre_task_mulout_intr.patch
  ide: pre_task_mulout_intr() cleanup (CONFIG_IDE_TASKFILE_IO=n)

ide_tf_no_partial.patch
  ide: no partial completions for PIO (CONFIG_IDE_TASKFILE_IO=y)

ide_non_tf_pio.patch
  ide: merge CONFIG_IDE_TASKFILE_IO=y|n PIO handlers together

ide_no_flagged_pio.patch
  ide: use "normal" handlers for "flagged" taskfiles (ide-taskfile.c)

x86_64-edd-build-fix.patch
  x86_64 EDD build fix

telephony-driver-isapnp-fix.patch
  Telephony Driver ISAPNP fix

1-4-dm-kcopydc-remove-unused-include.patch
  DM: kcopyd.c: Remove unused include

2-4-dm-kcopydc-make-client_add-return-void.patch
  DM: kcopyd.c: make client_add() return void

3-4-dm-dm-raid1c-enforce-max-of-9-mirrors.patch
  DM: dm-raid1.c: Enforce max of 9 mirrors

4-4-dm-dm-raid1c-use-fixed-size-arrays.patch
  DM: dm-raid1.c: Use fixed-size arrays

physnode-map-can-go-negative.patch
  ia32 NUMA: physnode_map entries can be negative

flexible-mmap-bug-fix.patch
  flexible-mmap BUG fix




^ permalink raw reply

* Re: RAW I/O
From: Bryan Henderson @ 2004-07-01  0:26 UTC (permalink / raw)
  To: Kernel The; +Cc: linux-scsi
In-Reply-To: <20040629053446.73235.qmail@web90102.mail.scd.yahoo.com>

>I want to do RAW I/O to a disk/partition from my ram
>disk driver. How I can achieve this?
>
>alloc_kiovec(..), map_user_kiobuf(...) and
>brw_kiovec(...) functions can be used for this? But
>these function map user space into kernel space
>memory, but in my driver I will be having only kernel
>space memory.

(Incidentally, this isn't a SCSI question -- it's a Linux block device 
question -- the answer below applies to any block device).

Yes, kiovecs are all about mapping user space memory; not useful in your 
case.

But if you follow the brw_kiovec() code, you'll eventually come to the 
basic block I/O submitting interface.  Essentially, 1) fill in the 
relevant fields of a buffer head: b_state, b_page, b_addr, b_size, b_rdev, 
b_rsector, b_endio, b_private.  2) find the block request queue that feeds 
your device, with blk_get_queue(devno).  3) submit the buffer head by 
calling the queue's make_request_fn function 
(blk_get_queue()->make_request_fn).

Some people prefer to call the higher level submit_bh() or 
generic_make_request(), but I find that they assume too much that they're 
being called for buffer cache I/O.  That's not what you're doing.

All of this information is specific to Linux 2.4, which I can tell you're 
using because only 2.4 has kiovecs.  The interface is cleaner in 2.6.


^ permalink raw reply

* [U-Boot-Users] write_via_fpu() doesn't work?
From: Shawn @ 2004-07-01  0:24 UTC (permalink / raw)
  To: u-boot

Hi,

I'm debugging the flash_init(), which is ported from SL8245. Through the
following three lines of code, it always gets wrong result.
	write_via_fpu (&addr[0xaaa8], precmd0);
	write_via_fpu (&addr[0x5550], precmd1);
	write_via_fpu (&addr[0xaaa8], cmdid);

But if I manually write to flash via BDI, it always returns correct
result. Doesn't write_via_fpu() work?

(gdb) n
137                     write_via_fpu (&addr[0xaaa8], cmdid);
(gdb) n
139                     DEBUGF ("Flash bank # %d:\n"
(gdb) p *addr
$6 = 0xffffffff
(gdb) mon mmd 0xff80aaa8 000000aa000000aa
(gdb) mon mmd 0xff805550 0000005500000055
(gdb) mon mmd 0xff80aaa8 0000009000000090
(gdb) mon mdd 0xff800000
ff800000 : 0000000100000001  ........
ff800008 : 2222227e2222227e  """~"""~

Thanks,
-Shawn.


		
__________________________________
Do you Yahoo!?
Yahoo! Mail - 50x more storage than other providers!
http://promotions.yahoo.com/new_mail

^ permalink raw reply

* Re: policy help
From: Greg Norris @ 2004-07-01  0:16 UTC (permalink / raw)
  To: Russell Coker; +Cc: SE-Linux
In-Reply-To: <200406301327.35935.russell@coker.com.au>

On Wed, Jun 30, 2004 at 01:27:35PM +1000, Russell Coker wrote:
> >    allow dnsmasq_t netif_type:netif { udp_send udp_recv };
> >    allow dnsmasq_t node_type:node { udp_send udp_recv };
> 
> Use can_network(dnsmasq_t) for this and more.

Thanx.  I switched to that approach, and everything seems to be working
as intended now.  I was avoiding can_network originally, because I was
trying to strictly limit network permissions... dnsmasq doesn't use
TCP, for example, so I didn't want to allow it.  I might revisit this
later (after working through some unrelated policies), although I'm not
at all sure it's worth the effort in this case. ;-)

--
This message was distributed to subscribers of the selinux mailing list.
If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with
the words "unsubscribe selinux" without quotes as the message.

^ permalink raw reply

* Re: traceroute
From: Cedric Blancher @ 2004-07-01  0:16 UTC (permalink / raw)
  To: Florian Boelstler; +Cc: netfilter
In-Reply-To: <40E334EC.1080606@web.de>

Le mer 30/06/2004 à 23:47, Florian Boelstler a écrit :
> My traceroute says:
> traceroute to www.google.akadns.net (66.102.11.99), 30 hops max, 38 byte
> packets
> traceroute: sendto: Operation not permitted
>  1 traceroute: wrote www.google.akadns.net 38 chars, ret=-1
> [ ... ]

You must have an OUTPUT rule that forbid UDP to high ports, thus
traceroute cannot send its packets.

-- 
http://www.netexit.com/~sid/
PGP KeyID: 157E98EE FingerPrint: FA62226DA9E72FA8AECAA240008B480E157E98EE
>> Hi! I'm your friendly neighbourhood signature virus.
>> Copy me to your signature file and help me spread!


^ permalink raw reply

* Re: per-process namespace?
From: Serge E. Hallyn @ 2004-07-01  0:14 UTC (permalink / raw)
  To: Ram Pai; +Cc: linux-kernel
In-Reply-To: <1088619320.2927.77.camel@localhost.localdomain>

> The per-process namespace concept comes in handy here except for the
> static nature of the namespace. In the sense, any changes to the system
> namespace do not reflect in the children namespace.

Static?

It's not static!  It's private, as advertised.

It sounds like you're asking (or your customer is asking) for
copy-on-write namespaces  :)

^ permalink raw reply

* Re: [Lhms-devel] new memory hotremoval patch
From: Dave Hansen @ 2004-07-01  0:11 UTC (permalink / raw)
  To: IWAMOTO Toshihiro; +Cc: Linux Kernel Mailing List, lhms, linux-mm
In-Reply-To: <20040630111719.EBACF70A92@sv1.valinux.co.jp>

On Wed, 2004-06-30 at 04:17, IWAMOTO Toshihiro wrote:
> Due to struct page changes, page->mapping == NULL predicate can no
> longer be used for detecting cancellation of an anonymous page
> remapping operation.  So the PG_again bit is being used again.
> It may be still possible to kill the PG_again bit, but the priority is
> rather low.

But, you reintroduced it everywhere, including file-backed pages, not
just for anonymous pages?  Why was this necessary?

-- Dave


^ permalink raw reply

* Re: [Lhms-devel] new memory hotremoval patch
From: Dave Hansen @ 2004-07-01  0:11 UTC (permalink / raw)
  To: IWAMOTO Toshihiro; +Cc: Linux Kernel Mailing List, lhms, linux-mm
In-Reply-To: <20040630111719.EBACF70A92@sv1.valinux.co.jp>

On Wed, 2004-06-30 at 04:17, IWAMOTO Toshihiro wrote:
> Due to struct page changes, page->mapping == NULL predicate can no
> longer be used for detecting cancellation of an anonymous page
> remapping operation.  So the PG_again bit is being used again.
> It may be still possible to kill the PG_again bit, but the priority is
> rather low.

But, you reintroduced it everywhere, including file-backed pages, not
just for anonymous pages?  Why was this necessary?

-- Dave

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"aart@kvack.org"> aart@kvack.org </a>

^ permalink raw reply

* Re: Using GDB kills kernel
From: peterc @ 2004-07-01  0:09 UTC (permalink / raw)
  To: linux-ia64
In-Reply-To: <16610.19218.349114.463377@wombat.chubb.wattle.id.au>

>>>>> "Alex" = Alex Williamson <alex.williamson@hp.com> writes:

Alex> On Wed, 2004-06-30 at 15:09 +1000, Peter Chubb wrote:
>>  With David's current patch against 2.6.7-BK, attempting to use GDB
>> causes a firmware assertion failure on my ZX2000.  Looks like it's
>> causing a SAL call or something.
>> 
>> gdb ./h (gdb) r Firmware assertion failed: (((DATA8) addr - salNvm)
>> < NVM_SIZE) || (((DATA8) addr - efiNvm) < EFI_NVM_SIZE), file
>> bbsram_new.c line 570 ....
>> 

Alex>    According to our firmware guys, that message is trying to say
Alex> that something tried to access non-volatile memory outside of
Alex> the SAL or EFI address ranges (ie. bad address that happened to
Alex> hit NVM).  I can't reproduce it on my box.  Does it happen every
Alex> time?  Any dependency on the binary gdb is debugging?  Thanks,


I can reproduce the problem on any one-processor Zx2000, when using
gdb on any process.

On a dual processor, I see an oops instead:

Unable to handle kernel paging request at virtual address
a00080a40bc4c008 
gdb[426]: Oops 8821862825984 [1] 
  
Call Trace: 
 [<a000000100015b20>] show_stack+0x80/0xa0 
                    spà00004040bd79a0 bspà00004040bd12e8 
 [<a000000100024c90>] die+0x1f0/0x280 
                    spà00004040bd7b70 bspà00004040bd12b0 
 [<a00000010003fb40>] ia64_do_page_fault+0x360/0x960 
                    spà00004040bd7b70 bspà00004040bd1248 
 [<a00000010000e1a0>] ia64_leave_kernel+0x0/0x260 
                    spà00004040bd7c00 bspà00004040bd1248 
 [<a0000001000e0c40>] get_user_pages+0x980/0x9c0 
                    spà00004040bd7dd0 bspà00004040bd10e8 
 [<a000000100088f00>] access_process_vm+0x1a0/0x4e0 
                    spà00004040bd7de0 bspà00004040bd1038 
 [<a000000100018e50>] ia64_peek+0x230/0x260 
                    spà00004040bd7e00 bspà00004040bd0fe0 
 [<a00000010001c070>] sys_ptrace+0x390/0xb20 
                    spà00004040bd7e20 bspà00004040bd0f48 
 [<a00000010000e020>] ia64_ret_from_syscall+0x0/0x20 
                    spà00004040bd7e30 bspà00004040bd0f48 


0xa0000001000e0c40 where the fault occurred is 
include/linux/mm.h:307 -- the atomic-increment of page->_count in
get_page.
--
Dr Peter Chubb  http://www.gelato.unsw.edu.au  peterc AT gelato.unsw.edu.au
The technical we do immediately,  the political takes *forever*

^ permalink raw reply

* Re: [uml-devel] Humfs directory creation bug.
From: Jeff Dike @ 2004-07-01  1:00 UTC (permalink / raw)
  To: Piotr Neuman; +Cc: user-mode-linux-devel
In-Reply-To: <200406071844.27297.sikkh@wp.pl>

sikkh@wp.pl said:
> Humfs code misreported device when getting stat info on directories.
> This code  hopefully fixes that (mv will work with hardlinks as
> expected now). 
> Apply to 2.4.26-1 UML release (in arch/um/fs/hostfs/). Patch: 

Nice spotting.

However, you missed a kfree(file) along an error path.

				Jeff



-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 - 
digital self defense, top technical experts, no vendor pitches, 
unmatched networking opportunities. Visit www.blackhat.com
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

^ permalink raw reply

* Re: problem with cpu eating too much power, prize given if solved
From: Michael Frank @ 2004-07-01  0:03 UTC (permalink / raw)
  To: Keld Jørn Simonsen
  Cc: Pavel Machek, acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
In-Reply-To: <20040630173754.GA29587-EittdKFJ/bZ/SzgSGea1oA@public.gmane.org>

On Wed, 30 Jun 2004 19:37:54 +0200, Keld Jørn Simonsen <keld-6PR53cSIHaE@public.gmane.org> wrote:

> On Wed, Jun 30, 2004 at 10:16:31PM +0800, Michael Frank wrote:
>> On Wed, 30 Jun 2004 00:11:11 +0200, Pavel Machek <pavel-+ZI9xUNit7I@public.gmane.org> wrote:
>>
>> >Hi!
>> >
>> >>>>Many times I just want to read the screen, eg emails or documents,
>> >>>>and then still the cpu will be in idle mode, where
>> >>>>it uses 7.5 W out of the about 15 W that the whole machine uses.
>> >>>>I have found out from Intel data sheets that my
>> >>>>Mobile Intel Celeron 2.0 GHz CPU consumes 7.5 W in idle loop/
>> >>>>stop grant/sleep states, (and 5.0 W i deep sleep state).
>> >>>>
>> >>>>So I would like to have the CPU stopped completely (consuming 0 W)
>> >>>>while I still could read the screen. In that way I should
>> >>>>be able to have about double the lifetime on the battery,
>> >>>>going to about 7 hours from the 3.5 hours I have now.
>> >>>>
>> >>>>I would like the machine to wake up again by any keystroke
>> >>>>on the keyboard or mouse input. I would like the input to be
>> >>>>reacted upon (not just used to wake up the system, and
>> >>>>then forgotten).
>> >>>>
>> >>>
>> >>>S1 is what you want... but... if you get what you asked for,
>> >>>do you realize that for example clock would not update on the desktop
>> >>>in this mode?
>> >>
>> >>Which hardware can power down the CPU on its own?
>> >
>> >I thought that CPU powered down is pretty much definition S1.
>> >
>>
>> Please refer to http://acpi.sourceforge.net/documentation/sleep.html
>> and ACPI spec 2.0a around Page 216
>>
>> "Sleep States
>> 	S1 - "Stopgrant"
>> 	Power to cpu is maintained, but no instructions are executed.
>> 	The CPU halts itself and may shut down many of its internal
>> 	 components. In Microsoft Windows, the "Standby" command
>> 	is associated with this state by default.
>> "
>
> Well, I think what I want is S2, from the same document:
>
>      S2
>
>      While defined in the spec, this state is not currently in use. It
>      resembles S3 with the qualification that some devices are permitted to
>      remain on.

"some devices" could include the CPU - fair enough!

>
>      S3 - "Suspend to RAM"
>
>      All power to the cpu is shut off, and the contents of its registers are
>      flushed to RAM, which remains on. In Microsoft Windows, the "Standby"
>      command can be associated with this state if enabled in the BIOS.
>      Because it requires a high degree of coordination between the cpu,
>      chipset, devices, OS, BIOS, and OS device drivers, this system state is
>      the most prone to errors and instability.
>      Pavel Machek has created a small document with some hints how to solve
>      problems with S3. You can find it in the kernel sources at
>      Documentation/power/tricks.txt.
>      S3 is currently _not_ supported by the 2.4.x kernel series in Linux.
>
>
> I would like the CPU to power down, save things in memory, and then
> still have the screen and associated hardware on, and possibly also the
> keyboard and mouse if that is needed to capture an ACPI event, including
> the actual keystroke. This seems to be S2. I am not sure if all of S2
> needs to be implemented to do what I asked for, I just would like the
> functionality I described.
>
>> If you look at the original post, S1 "Stopgrant" costs 5W on his celeron.
>> It takes a lot
>> more on many 90nm chips. I read in the Centrino datasheet that it can draw
>> 15W
>> stopgrant at  _maximum_ vcore!!!. The maximum  possible power consumption
>> is only 25W!.
>> Now, that is life with modern CMOS, leakage is most of the power
>> consumption....
>> I think it will improve but 1:3 is the best you can expect for multi GHZ
>> CPU's.
>
> According to that, then what I ask for could also be beneficial to
> centrino CPU's.

It would be benefitial to most CPU's also desktops.

>
>> So again, which (mainboard/notebook) HW does depower the CPU and keeps the
>> rest running ?
>
> I thought this was something that most mainboards would support, given
> that we make the appropiate SW in the kernel.

If you want to depower the CPU, you have to depower its bridge
connections as well,  _No_  Mainboard especially the chipsets
can do that. . ... also need a seperate set of main regulators for the
CPU.

The software side would be mostly CPU part of S3.

>
> Another thing is that if a mainboard/BIOS supports ACPI, then it should
> actually support all of ACPI, including S2 support. Or am I wrong?

All optional by the spec. You get S0, and S5 and S4 and S3 when you
are  lucky. Got a P4 with S1 and S3, but its DSDT is so buggy I run
it with ACPI=off and use swsusp 2 on 2.4.

>
>> As to ACPI there should be a S2.5 state, or a S3 extension to power down
>> the CPU and run the rest...
>
> I thought S2 was actually powering down the cpu, saving all registers
> and things in memory, like S3, and then leaving some devices on. As I have read it,
> this is clean S2, and not a 2.5 level. But I am not an ACPI expert.

It could be, provided someone writes a spec on how to power the CPU down
while keeping the rest running and the manufacturers implement it.

ACPI  for Linux implements the spec and supports features supported
by hardware. I suggest you discuss in a PC hardware forum.

	Best Regards
	Michael


-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 -
digital self defense, top technical experts, no vendor pitches,
unmatched networking opportunities. Visit www.blackhat.com

^ permalink raw reply

* MARK and routing issue
From: Steve Wakelin @ 2004-06-30 23:58 UTC (permalink / raw)
  To: netfilter

Hello,

Perhaps someone could point me in the right direction.

I am simply ;-( trying to MARK packets and then route them according to
the mark.

[root@localhost sysconfig]# ip rule
0:      from all lookup local
32760:  from all fwmark 0x6 lookup T4
32761:  from all fwmark 0x5 lookup T3
32762:  from 192.168.252.1 lookup T2
32763:  from 192.168.253.1 lookup T1
32764:  from 192.168.252.1 lookup T2
32765:  from 192.168.253.1 lookup T1
32766:  from all lookup main
32767:  from all lookup default

[root@localhost sysconfig]# ip route list table T3
10.3.0.1 via 10.3.0.2 dev tun1
default via 10.3.0.2 dev tun1

[root@localhost sysconfig]# ip route list table T4
10.3.0.1 via 10.3.0.3 dev tun2
default via 10.3.0.3 dev tun2

[root@localhost sysconfig]# iptables -t mangle -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
MARK       all  --  10.15.1.0/24         10.3.0.0/24         MARK set
0x5
MARK       all  --  10.15.1.0/24         10.3.0.0/24         MARK set
0x6

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination

[root@localhost sysconfig]# ping -I 10.15.1.1 10.3.0.1
PING 10.3.0.1 (10.3.0.1) from 10.15.1.1 : 56(84) bytes of data.
ping: sendmsg: Network is unreachable
ping: sendmsg: Network is unreachable
ping: sendmsg: Network is unreachable

Will someone please enlighten me as to what I have missed?

Thanks in advance.

Regards

/Steve



^ permalink raw reply

* Re: A question about PROT_NONE on ARM and ARM26
From: Ian Molton @ 2004-06-30 23:48 UTC (permalink / raw)
  To: Jamie Lokier; +Cc: linux-arm-kernel, linux-kernel
In-Reply-To: <20040630233014.GC32560@mail.shareable.org>

On Thu, 1 Jul 2004 00:30:14 +0100
Jamie Lokier <jamie@shareable.org> wrote:

> "ge" is a signed comparison, and unsigned is needed here, unless I
> missed something subtle.  So "bge" and "ldrge" should be "bhi" and "ldrhi".

technically, I think you're right here.

in practise, the arm26 address space is too small (64MB) for this to
ever cause a problem.

^ permalink raw reply


This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.