* [U-Boot-Users] questions regarding support for new command (getspr/setspr)
From: Kumar Gala @ 2004-01-28 5:43 UTC (permalink / raw)
To: u-boot
I was wondering if it was considered useful to extend the
CFG_CMD_SETGETDCR done by Erik Theisen for DCR registers on the 4xx
family to all PowerPC products for SPRs (CFG_CMD_SETGETSPR).
This is rather simple but can be a useful command.
If, so I had a few questions:
1. Is it ok that the command does not do any checking on the SPR
number. This is quick difficult and would have to be done per
processor since what SPRs exists is implementation specific. If the
user gives the commands an SPR that does not exist the result is going
to be some exception (is this ok)
2. What numerical format should the spr number for the command be taken
in? My think is decimal
3. For setspr what numerical format should the spr value be taken in?
My thinking is hex
4. For getspr what numerical format should the spr be printed in? My
thinking is hex
If so, I will fixup my working patch and submit it once I get answers
to the questions.
thanks
- kumar
^ permalink raw reply
* Re: [parisc-linux] error?
From: Naresh Kumar @ 2004-01-28 5:26 UTC (permalink / raw)
To: Grant Grundler; +Cc: parisc-linux
In-Reply-To: <20040127172256.GB28476@colo.lackof.org>
Grant,
I was referring to linux-2.6. There are two 'break' statements in 'case
PAT_GMMIO:'. Removing the first 'break' will do.
Regards,
Naresh.
> Those are "extra"?
> The version of code in linux-2.4 CVS has:
> case PAT_GMMIO:
> printk(KERN_WARNING MODULE_NAME
> " range[%d] : ignoring GMMIO (0x%lx)\n",
> i, p->start);
> lba_dev->gmmio_base = p->start;
> break;
>
> The code you quoted is missing the "case PAT_GMMIO" and printk.
>
> thanks,
> grant
^ permalink raw reply
* [U-Boot-Users] Internal Loopback testing
From: Neelakantan @ 2004-01-28 5:26 UTC (permalink / raw)
To: u-boot
Hi,
?
I want to verify if the networking capabilities in u-boot is working properly.So i want todo loopback testing.
?
Have any of u done internal loopback testing,if so could anyone pls let me know the steps involved in doing it.
?
OR??Is there any code available in the web for internal loopback testing?.
?
I saw some code for loopback testing in cpu/mpc8260/ether_fcc.c,but in that it is given that it is an external loopback test.
?
I?also tried in the net to get some information about the loopback testing,but i was not able to.
?
With Grace,
N.S.Neelakantan
****************************************
Confidentiality Notice
The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain confidential or privileged information. If you are not the intended recipient, please notify the sender at mailadmin at isofttech.com immediately and destroy all copies of this message and any attachments.
****************************************
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.denx.de/pipermail/u-boot/attachments/20040128/9df258b8/attachment.htm
^ permalink raw reply
* Re: [PATCH|RFC] IPv6: have a proxy discard link-local traffic
From: Pekka Savola @ 2004-01-28 5:26 UTC (permalink / raw)
To: YOSHIFUJI Hideaki / 吉藤英明
Cc: vnuorval, davem, usagi-core, netdev
In-Reply-To: <20040128.085414.32889499.yoshfuji@linux-ipv6.org>
On Wed, 28 Jan 2004, YOSHIFUJI Hideaki / [iso-2022-jp] ^[$B5HF#1QL@^[(B wrote:
> In article <Pine.LNX.4.58.0401272259160.28384@rhea.tcs.hut.fi> (at Tue, 27 Jan 2004 23:11:20 +0200 (EET)), Ville Nuorvala <vnuorval@tcs.hut.fi> says:
> > + /* The proxying router can't forward traffic sent to a link-local
> > + address, so signal the sender and discard the packet. This
> > + behavior is required by the MIPv6 specification. */
>
> Would you please clarify the word "can't" and its reasons?
> won't? don't? or whatever?
I think "can't" in this context means, "it can't be _forwarded_
because it's link-local". It could be proxied using some other
function than ip6_forward, though.
--
Pekka Savola "You each name yourselves king, yet the
Netcore Oy kingdom bleeds."
Systems. Networks. Security. -- George R.R. Martin: A Clash of Kings
^ permalink raw reply
* [parisc-linux] Re: [parisc-linux-cvs] linux-2.6 carlos
From: Carlos O'Donell @ 2004-01-28 5:25 UTC (permalink / raw)
To: parisc-linux
In-Reply-To: <20040128051415.4C9724941AA@palinux.hppa>
On Tue, Jan 27, 2004 at 10:14:15PM -0700, Carlos O'Donell wrote:
> CVSROOT: /var/cvs
> Module name: linux-2.6
> Changes by: carlos 04/01/27 22:14:15
>
> Modified files:
> include/asm-parisc: posix_types.h
>
> Log message:
> __kernel_time_t should be of type long on 32-bit systems, it used to be int
>
The generic code expects this to be of type long on all builds, even
32-bit. This might cause other warnings in parisc drivers that have
gotten used to having time_t as int.
Index: include/asm-parisc/posix_types.h
===================================================================
RCS file: /var/cvs/linux-2.6/include/asm-parisc/posix_types.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- include/asm-parisc/posix_types.h 28 Sep 2003 04:06:17 -0000 1.2
+++ include/asm-parisc/posix_types.h 28 Jan 2004 05:14:14 -0000 1.3
@@ -29,7 +29,7 @@ typedef long __kernel_time_t;
typedef unsigned int __kernel_size_t;
typedef int __kernel_ssize_t;
typedef int __kernel_ptrdiff_t;
-typedef int __kernel_time_t;
+typedef long __kernel_time_t;
#endif
typedef char * __kernel_caddr_t;
^ permalink raw reply
* [parisc-linux] Re: [parisc-linux-cvs] linux-2.6 carlos
From: Carlos O'Donell @ 2004-01-28 5:23 UTC (permalink / raw)
To: parisc-linux
In-Reply-To: <20040128051247.D6C6C4941AA@palinux.hppa>
On Tue, Jan 27, 2004 at 10:12:47PM -0700, Carlos O'Donell wrote:
> CVSROOT: /var/cvs
> Module name: linux-2.6
> Changes by: carlos 04/01/27 22:12:47
>
> Modified files:
> kernel : signal.c compat_signal.c
> include/linux : compat_siginfo.h compat.h
> include/asm-parisc: compat_ucontext.h compat_rt_sigframe.h
> include/asm-generic: compat_signal.h
>
> Log message:
> Update the compat_siginfo_t framework.
>
This patch is an update based on feedback from the linux-arch community.
Notably we add is_compat_task() and let the compiler optimize out the
code when CONFIG_COMPAT is not set. It also completes the changeover to
using include/linux/compat_siginfo.h instead of the asm-generic version,
which required that all arches add a compat_siginfo.h to their asm
directory.
Index: kernel/signal.c
===================================================================
RCS file: /var/cvs/linux-2.6/kernel/signal.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -p -r1.10 -r1.11
--- kernel/signal.c 11 Dec 2003 00:48:55 -0000 1.10
+++ kernel/signal.c 28 Jan 2004 05:12:46 -0000 1.11
@@ -24,15 +24,11 @@
#include <linux/binfmts.h>
#include <linux/security.h>
#include <linux/ptrace.h>
+#include <linux/compat_siginfo.h>
#include <asm/param.h>
#include <asm/uaccess.h>
#include <asm/siginfo.h>
-#ifdef CONFIG_COMPAT
-#include <linux/personality.h>
-#include <asm/compat_siginfo.h>
-#endif
-
/*
* SLAB caches for signal bits.
*/
@@ -2011,12 +2007,11 @@ int copy_siginfo_to_user(siginfo_t __use
if (from->si_code < 0)
return __copy_to_user(to, from, sizeof(siginfo_t))
? -EFAULT : 0;
-# ifdef CONFIG_COMPAT
+
/* Use compat_siginfo_t with 32-bit signals */
- if(personality(current->personality) == PER_LINUX32){
+ if(is_compat_task(current)){
return compat_copy_siginfo_to_user((compat_siginfo_t __user *)to,from);
}
-# endif
/*
* If you change siginfo_t structure, please be sure
Index: kernel/compat_signal.c
===================================================================
RCS file: /var/cvs/linux-2.6/kernel/compat_signal.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- kernel/compat_signal.c 10 Dec 2003 22:37:50 -0000 1.1
+++ kernel/compat_signal.c 28 Jan 2004 05:12:46 -0000 1.2
@@ -4,7 +4,7 @@
* 2003-12-20 Carlos O'Donell
* Copied linux/kernel/compat_signal.c (copy_siginfo_to_user)
* and modified to use compat_siginfo_t for thunking down to
- * 32-bit userspace with an ELF64 kernel.
+ * 32-bit userspace from a 64-bit kernel.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -19,14 +19,12 @@
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
-/*#define __KERNEL_SYSCALLS__*/
-
+#include <linux/compat_siginfo.h>
#include <asm/errno.h>
-#include <asm/compat_siginfo.h>
#include <asm/uaccess.h>
#include <asm/siginfo.h>
@@ -41,8 +39,8 @@ int compat_copy_siginfo_to_user(compat_s
return -EFAULT;
/*
- * If you change siginfo_t structure, please be sure
- * this code is fixed accordingly.
+ * If you change compat_siginfo_t structure *or* siginfo_t,
+ * please be sure this code is fixed accordingly.
* It should never copy any pad contained in the structure
* to avoid security leaks, but must copy the generic
* 3 ints plus the relevant union member.
@@ -86,7 +84,7 @@ int compat_copy_siginfo_to_user(compat_s
case __SI_FAULT:
compat_from.si_addr = (compat_uptr_t)((u64)(from->si_addr) & 0xffffffffUL);
err |= __put_user(compat_from.si_addr, &to->si_addr);
-#ifdef __ARCH_SI_TRAPNO
+#ifdef __ARCH_SI_COMPAT_TRAPNO
compat_from.si_trapno = (compat_int_t)(from->si_addr);
err |= __put_user(compat_from.si_trapno, &to->si_trapno);
#endif
Index: include/linux/compat_siginfo.h
===================================================================
RCS file: /var/cvs/linux-2.6/include/linux/compat_siginfo.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- include/linux/compat_siginfo.h 26 Jan 2004 21:09:14 -0000 1.1
+++ include/linux/compat_siginfo.h 28 Jan 2004 05:12:46 -0000 1.2
@@ -6,18 +6,18 @@
#ifndef CONFIG_COMPAT
-/* No compatibility layer required, add empty definitions
- for the compiler */
+/* No compatibility layer required, add empty definitions for the compiler */
typedef struct compat_siginfo{
} compat_siginfo_t;
static inline int compat_copy_siginfo_to_user(void *x, unsigned long y)
{
- return 0;
+ return -1;
}
#else
+
#include <linux/compiler.h>
#include <asm/siginfo.h>
@@ -166,3 +166,4 @@ extern int compat_copy_siginfo_to_user(c
#endif /* CONFIG_COMPAT */
#endif /* _ASM_GENERIC_COMPAT_SIGINFO_H */
+
Index: include/linux/compat.h
===================================================================
RCS file: /var/cvs/linux-2.6/include/linux/compat.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -p -r1.6 -r1.7
--- include/linux/compat.h 27 Jan 2004 22:02:36 -0000 1.6
+++ include/linux/compat.h 28 Jan 2004 05:12:46 -0000 1.7
@@ -6,15 +6,26 @@
*/
#include <linux/config.h>
-#ifdef CONFIG_COMPAT
+#ifndef CONFIG_COMPAT
+
+/* Non-native task requiring compat... doesn't exist */
+#define is_compat_task(x) 0
+
+#else
#include <linux/stat.h>
#include <linux/param.h> /* for HZ */
+#include <linux/personality.h> /* Conditional process compat */
#include <asm/compat.h>
#define compat_jiffies_to_clock_t(x) \
(((unsigned long)(x) * COMPAT_USER_HZ) / HZ)
+/* Non-native task requiring compat */
+#ifndef HAVE_ARCH_IS_COMPAT_TASK
+#define is_compat_task(x) (x->personality == PER_LINUX32)
+#endif
+
struct compat_itimerspec {
struct compat_timespec it_interval;
struct compat_timespec it_value;
Index: include/asm-parisc/compat_ucontext.h
===================================================================
RCS file: /var/cvs/linux-2.6/include/asm-parisc/compat_ucontext.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- include/asm-parisc/compat_ucontext.h 10 Dec 2003 22:37:10 -0000 1.1
+++ include/asm-parisc/compat_ucontext.h 28 Jan 2004 05:12:47 -0000 1.2
@@ -4,7 +4,7 @@
#include<linux/compat.h>
#include<asm/compat_signal.h>
-/* ELF32 ucontext as seen from an ELF64 kernel */
+/* 32-bit ucontext as seen from an 64-bit kernel */
struct compat_ucontext {
compat_uint_t uc_flags;
compat_uptr_t uc_link;
Index: include/asm-parisc/compat_rt_sigframe.h
===================================================================
RCS file: /var/cvs/linux-2.6/include/asm-parisc/compat_rt_sigframe.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- include/asm-parisc/compat_rt_sigframe.h 10 Dec 2003 22:36:09 -0000 1.1
+++ include/asm-parisc/compat_rt_sigframe.h 28 Jan 2004 05:12:47 -0000 1.2
@@ -1,5 +1,5 @@
#include<linux/compat.h>
-#include<asm/compat_siginfo.h>
+#include<linux/compat_siginfo.h>
#include<asm/compat_ucontext.h>
#ifndef _ASM_PARISC_COMPAT_RT_SIGFRAME_H
Index: include/asm-generic/compat_signal.h
===================================================================
RCS file: /var/cvs/linux-2.6/include/asm-generic/compat_signal.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- include/asm-generic/compat_signal.h 10 Dec 2003 22:35:48 -0000 1.1
+++ include/asm-generic/compat_signal.h 28 Jan 2004 05:12:47 -0000 1.2
@@ -1,8 +1,8 @@
#ifndef _ASM_GENERIC_COMPAT_SIGNAL_H
#define _ASM_GENERIC_COMPAT_SIGNAL_H
-# ifndef __ASSEMBLY__
-# include <linux/types.h>
+#ifndef __ASSEMBLY__
+#include <linux/compat.h>
typedef compat_uptr_t compat_sighandler_t;
@@ -12,8 +12,6 @@ typedef struct compat_sigaltstack {
compat_size_t ss_size;
} compat_stack_t;
-# ifdef __KERNEL__
-
/* Most things should be clean enough to redefine this at will, if care
is taken to make libc match. */
@@ -23,6 +21,5 @@ struct compat_sigaction {
compat_sigset_t sa_mask; /* mask last for extensibility */
};
-# endif /* __KERNEL__ */
-# endif /* !__ASSEMBLY */
-#endif /* _ASM_GENERIC_COMPAT_SIGNAL_H */
+#endif /* !__ASSEMBLY__ */
+#endif /* !_ASM_GENERIC_COMPAT_SIGNAL_H */
^ permalink raw reply
* [PATCH] locks on pcnet32 watchdog timer
From: chinmay albal @ 2004-01-28 5:24 UTC (permalink / raw)
To: linux-net; +Cc: tsbogend, linux-kernel
Hi,
We sometimes receive a "Bus master arbitration failure, status ffff"
error on pcnet32 drivers while running a huge network load on a 2.6.x
kernel. Applying spinlocks on the watchdog timer routine helps getting
across the problem. A patch for the same is given below.
This patch has been created on 2.6.2-rc1 and tested on an SMP system on
IA32 platform.
Please cc me.
-------------------------------8<--------------------------------------
--- pcnet32-orig.c 2004-01-28 10:43:04.000000000 +0530
+++ pcnet32.c 2004-01-28 10:45:00.000000000 +0530
@@ -1695,12 +1695,14 @@
static void pcnet32_watchdog(struct net_device *dev)
{
struct pcnet32_private *lp = dev->priv;
-
+ unsigned long flags;
+ spin_lock_irqsave(&lp->lock, flags);
/* Print the link status if it has changed */
if (lp->mii)
mii_check_media (&lp->mii_if, 1, 0);
mod_timer (&(lp->watchdog_timer), PCNET32_WATCHDOG_TIMEOUT);
+ spin_unlock_irqrestore(&lp->lock, flags);
}
static struct pci_driver pcnet32_driver = {
---------------------------------8<--------------------------------------
Regards,
Chinmay Albal
Linux Technology Centre,
IBM Software Labs, Bangalore,
mail - albal@in.ibm.com
^ permalink raw reply
* Re: [ACPI] RFC: ACPI table overflow handling
From: Len Brown @ 2004-01-28 5:20 UTC (permalink / raw)
To: Jes Sorensen
Cc: Bjorn Helgaas, linux-kernel, ACPI Developers, jbarnes, steiner
In-Reply-To: <BF1FE1855350A0479097B3A0D2A80EE001E60811@hdsmsx402.hd.intel.com>
Accepted.
thanks Jes, Bjorn,
-Len
On Tue, 2004-01-13 at 04:49, Jes Sorensen wrote:
> >>>>> "Bjorn" == Bjorn Helgaas <bjorn.helgaas@hp.com> writes:
>
> Bjorn> On Sunday 11 January 2004 7:30 am, Jes Sorensen wrote:
> >> (acpi_table_parse_madt(ACPI_MADT_IOSAPIC, acpi_parse_iosapic, 256)
>
> Bjorn> The "256" looks like it's based on the "iosapic_lists[256]"
> Bjorn> definition. We probably should introduce a #define for those
> Bjorn> cases (sorry, I should have noticed this the first time).
>
> No problem, easy fix.
>
> >> +++ linux-2.6.0-test11-ia64/arch/x86_64/kernel/acpi/boot.c Sun Jan
> >> 11 05:31:58 2004 + result =
> Bjorn> Is NO_IRQ_VECTORS a typo for NR_IRQ_VECTORS?
>
> Yup typo, thanks for catching this one.
>
> >> +++ linux-2.6.0-test11-ia64/drivers/acpi/numa.c Thu Jan 8 02:49:24
> >> 2004 acpi_table_parse_srat ( enum acpi_srat_entry_id id, -
> >> acpi_madt_entry_handler handler) + acpi_madt_entry_handler handler,
> >> + int max_entries)
>
> Bjorn> Should "max_entries" be unsigned? I notice you used unsigned
> Bjorn> types in the implementation, i.e., "count".
>
> I have no strong preference since I find it unlikely that anyone will
> want to loop it 2^31 times, but for esthetics lets make it unsigned.
>
> How about this one then?
>
> Cheers,
> Jes
>
> diff -urN -X /usr/people/jes/exclude-linux --exclude=io --exclude=sn
> --exclude='qla1280.[ch]'
> orig/linux-2.6.0-test11-ia64/arch/i386/kernel/acpi/boot.c
> linux-2.6.0-test11-ia64/arch/i386/kernel/acpi/boot.c
> --- orig/linux-2.6.0-test11-ia64/arch/i386/kernel/acpi/boot.c Wed
> Nov 26 12:45:28 2003
> +++ linux-2.6.0-test11-ia64/arch/i386/kernel/acpi/boot.c Sun
> Jan 11 05:16:24 2004
> @@ -44,8 +44,8 @@
> extern int acpi_irq;
> extern int acpi_ht;
>
> -int acpi_lapic = 0;
> -int acpi_ioapic = 0;
> +int acpi_lapic;
> +int acpi_ioapic;
>
> /*
> --------------------------------------------------------------------------
> Boot-time Configuration
> @@ -418,7 +418,7 @@
> * and (optionally) overriden by a LAPIC_ADDR_OVR entry
> (64-bit value).
> */
>
> - result = acpi_table_parse_madt(ACPI_MADT_LAPIC_ADDR_OVR,
> acpi_parse_lapic_addr_ovr);
> + result = acpi_table_parse_madt(ACPI_MADT_LAPIC_ADDR_OVR,
> acpi_parse_lapic_addr_ovr, 0);
> if (result < 0) {
> printk(KERN_ERR PREFIX "Error parsing LAPIC address
> override entry\n");
> return result;
> @@ -426,7 +426,8 @@
>
> mp_register_lapic_address(acpi_lapic_addr);
>
> - result = acpi_table_parse_madt(ACPI_MADT_LAPIC,
> acpi_parse_lapic);
> + result = acpi_table_parse_madt(ACPI_MADT_LAPIC,
> acpi_parse_lapic,
> + MAX_APICS);
> if (!result) {
> printk(KERN_ERR PREFIX "No LAPIC entries present\n");
> /* TBD: Cleanup to allow fallback to MPS */
> @@ -438,7 +439,7 @@
> return result;
> }
>
> - result = acpi_table_parse_madt(ACPI_MADT_LAPIC_NMI,
> acpi_parse_lapic_nmi);
> + result = acpi_table_parse_madt(ACPI_MADT_LAPIC_NMI,
> acpi_parse_lapic_nmi, 0);
> if (result < 0) {
> printk(KERN_ERR PREFIX "Error parsing LAPIC NMI
> entry\n");
> /* TBD: Cleanup to allow fallback to MPS */
> @@ -475,8 +476,8 @@
> return 1;
> }
>
> - result = acpi_table_parse_madt(ACPI_MADT_IOAPIC,
> acpi_parse_ioapic);
> - if (!result) {
> + result = acpi_table_parse_madt(ACPI_MADT_IOAPIC,
> acpi_parse_ioapic, MAX_IO_APICS);
> + if (!result) {
> printk(KERN_ERR PREFIX "No IOAPIC entries present\n");
> return -ENODEV;
> }
> @@ -488,14 +489,14 @@
> /* Build a default routing table for legacy (ISA) interrupts.
> */
> mp_config_acpi_legacy_irqs();
>
> - result = acpi_table_parse_madt(ACPI_MADT_INT_SRC_OVR,
> acpi_parse_int_src_ovr);
> + result = acpi_table_parse_madt(ACPI_MADT_INT_SRC_OVR,
> acpi_parse_int_src_ovr, NR_IRQ_VECTORS);
> if (result < 0) {
> printk(KERN_ERR PREFIX "Error parsing interrupt source
> overrides entry\n");
> /* TBD: Cleanup to allow fallback to MPS */
> return result;
> }
>
> - result = acpi_table_parse_madt(ACPI_MADT_NMI_SRC,
> acpi_parse_nmi_src);
> + result = acpi_table_parse_madt(ACPI_MADT_NMI_SRC,
> acpi_parse_nmi_src, NR_IRQ_VECTORS);
> if (result < 0) {
> printk(KERN_ERR PREFIX "Error parsing NMI SRC
> entry\n");
> /* TBD: Cleanup to allow fallback to MPS */
> diff -urN -X /usr/people/jes/exclude-linux --exclude=io --exclude=sn
> --exclude='qla1280.[ch]'
> orig/linux-2.6.0-test11-ia64/arch/ia64/kernel/acpi.c
> linux-2.6.0-test11-ia64/arch/ia64/kernel/acpi.c
> --- orig/linux-2.6.0-test11-ia64/arch/ia64/kernel/acpi.c Wed
> Nov 26 12:44:07 2003
> +++ linux-2.6.0-test11-ia64/arch/ia64/kernel/acpi.c Tue Jan 13
> 01:30:49 2004
> @@ -189,8 +189,6 @@
>
> if (!lsapic->flags.enabled)
> printk(" disabled");
> - else if (available_cpus >= NR_CPUS)
> - printk(" ignored (increase NR_CPUS)");
> else {
> printk(" enabled");
> #ifdef CONFIG_SMP
> @@ -393,12 +391,6 @@
> size = ma->length_hi;
> size = (size << 32) | ma->length_lo;
>
> - if (num_memblks >= NR_MEMBLKS) {
> - printk(KERN_ERR "Too many mem chunks in SRAT. Ignoring
> %ld MBytes at %lx\n",
> - size/(1024*1024), paddr);
> - return;
> - }
> -
> /* Ignore disabled entries */
> if (!ma->flags.enabled)
> return;
> @@ -550,29 +542,29 @@
>
> /* Local APIC */
>
> - if (acpi_table_parse_madt(ACPI_MADT_LAPIC_ADDR_OVR,
> acpi_parse_lapic_addr_ovr) < 0)
> + if (acpi_table_parse_madt(ACPI_MADT_LAPIC_ADDR_OVR,
> acpi_parse_lapic_addr_ovr, 0) < 0)
> printk(KERN_ERR PREFIX "Error parsing LAPIC address
> override entry\n");
>
> - if (acpi_table_parse_madt(ACPI_MADT_LSAPIC, acpi_parse_lsapic)
> < 1)
> + if (acpi_table_parse_madt(ACPI_MADT_LSAPIC, acpi_parse_lsapic,
> NR_CPUS) < 1)
> printk(KERN_ERR PREFIX "Error parsing MADT - no LAPIC
> entries\n");
>
> - if (acpi_table_parse_madt(ACPI_MADT_LAPIC_NMI,
> acpi_parse_lapic_nmi) < 0)
> + if (acpi_table_parse_madt(ACPI_MADT_LAPIC_NMI,
> acpi_parse_lapic_nmi, 0) < 0)
> printk(KERN_ERR PREFIX "Error parsing LAPIC NMI
> entry\n");
>
> /* I/O APIC */
>
> - if (acpi_table_parse_madt(ACPI_MADT_IOSAPIC,
> acpi_parse_iosapic) < 1)
> + if (acpi_table_parse_madt(ACPI_MADT_IOSAPIC,
> acpi_parse_iosapic, NR_IOSAPICS) < 1)
> printk(KERN_ERR PREFIX "Error parsing MADT - no
> IOSAPIC entries\n");
>
> /* System-Level Interrupt Routing */
>
> - if (acpi_table_parse_madt(ACPI_MADT_PLAT_INT_SRC,
> acpi_parse_plat_int_src) < 0)
> + if (acpi_table_parse_madt(ACPI_MADT_PLAT_INT_SRC,
> acpi_parse_plat_int_src, ACPI_MAX_PLATFORM_INTERRUPTS) < 0)
> printk(KERN_ERR PREFIX "Error parsing platform
> interrupt source entry\n");
>
> - if (acpi_table_parse_madt(ACPI_MADT_INT_SRC_OVR,
> acpi_parse_int_src_ovr) < 0)
> + if (acpi_table_parse_madt(ACPI_MADT_INT_SRC_OVR,
> acpi_parse_int_src_ovr, 0) < 0)
> printk(KERN_ERR PREFIX "Error parsing interrupt source
> overrides entry\n");
>
> - if (acpi_table_parse_madt(ACPI_MADT_NMI_SRC,
> acpi_parse_nmi_src) < 0)
> + if (acpi_table_parse_madt(ACPI_MADT_NMI_SRC,
> acpi_parse_nmi_src, 0) < 0)
> printk(KERN_ERR PREFIX "Error parsing NMI SRC
> entry\n");
> skip_madt:
>
> diff -urN -X /usr/people/jes/exclude-linux --exclude=io --exclude=sn
> --exclude='qla1280.[ch]'
> orig/linux-2.6.0-test11-ia64/arch/ia64/kernel/iosapic.c
> linux-2.6.0-test11-ia64/arch/ia64/kernel/iosapic.c
> --- orig/linux-2.6.0-test11-ia64/arch/ia64/kernel/iosapic.c Wed
> Nov 26 12:44:02 2003
> +++ linux-2.6.0-test11-ia64/arch/ia64/kernel/iosapic.c Tue Jan 13
> 01:29:44 2004
> @@ -114,7 +114,7 @@
> char *addr; /* base address of IOSAPIC */
> unsigned int gsi_base; /* first GSI assigned to this
> IOSAPIC */
> unsigned short num_rte; /* number of RTE in this
> IOSAPIC */
> -} iosapic_lists[256];
> +} iosapic_lists[NR_IOSAPICS];
>
> static int num_iosapic;
>
> diff -urN -X /usr/people/jes/exclude-linux --exclude=io --exclude=sn
> --exclude='qla1280.[ch]'
> orig/linux-2.6.0-test11-ia64/arch/x86_64/kernel/acpi/boot.c
> linux-2.6.0-test11-ia64/arch/x86_64/kernel/acpi/boot.c
> --- orig/linux-2.6.0-test11-ia64/arch/x86_64/kernel/acpi/boot.c Wed
> Nov 26 12:43:24 2003
> +++ linux-2.6.0-test11-ia64/arch/x86_64/kernel/acpi/boot.c Tue
> Jan 13 00:33:45 2004
> @@ -46,8 +46,8 @@
> #include <asm/proto.h>
> #include <asm/tlbflush.h>
>
> -int acpi_lapic = 0;
> -int acpi_ioapic = 0;
> +int acpi_lapic;
> +int acpi_ioapic;
>
> #define PREFIX "ACPI: "
>
> @@ -398,7 +398,7 @@
> * and (optionally) overriden by a LAPIC_ADDR_OVR entry
> (64-bit value).
> */
>
> - result = acpi_table_parse_madt(ACPI_MADT_LAPIC_ADDR_OVR,
> acpi_parse_lapic_addr_ovr);
> + result = acpi_table_parse_madt(ACPI_MADT_LAPIC_ADDR_OVR,
> acpi_parse_lapic_addr_ovr, 0);
> if (result < 0) {
> printk(KERN_ERR PREFIX "Error parsing LAPIC address
> override entry\n");
> return result;
> @@ -406,7 +406,8 @@
>
> mp_register_lapic_address(acpi_lapic_addr);
>
> - result = acpi_table_parse_madt(ACPI_MADT_LAPIC,
> acpi_parse_lapic);
> + result = acpi_table_parse_madt(ACPI_MADT_LAPIC,
> acpi_parse_lapic,
> + MAX_APICS);
> if (!result) {
> printk(KERN_ERR PREFIX "No LAPIC entries present\n");
> /* TBD: Cleanup to allow fallback to MPS */
> @@ -418,7 +419,7 @@
> return result;
> }
>
> - result = acpi_table_parse_madt(ACPI_MADT_LAPIC_NMI,
> acpi_parse_lapic_nmi);
> + result = acpi_table_parse_madt(ACPI_MADT_LAPIC_NMI,
> acpi_parse_lapic_nmi, 0);
> if (result < 0) {
> printk(KERN_ERR PREFIX "Error parsing LAPIC NMI
> entry\n");
> /* TBD: Cleanup to allow fallback to MPS */
> @@ -455,8 +456,8 @@
> return 1;
> }
>
> - result = acpi_table_parse_madt(ACPI_MADT_IOAPIC,
> acpi_parse_ioapic);
> - if (!result) {
> + result = acpi_table_parse_madt(ACPI_MADT_IOAPIC,
> acpi_parse_ioapic, MAX_IO_APICS);
> + if (!result) {
> printk(KERN_ERR PREFIX "No IOAPIC entries present\n");
> return -ENODEV;
> }
> @@ -468,14 +469,15 @@
> /* Build a default routing table for legacy (ISA) interrupts.
> */
> mp_config_acpi_legacy_irqs();
>
> - result = acpi_table_parse_madt(ACPI_MADT_INT_SRC_OVR,
> acpi_parse_int_src_ovr);
> + result = acpi_table_parse_madt(ACPI_MADT_INT_SRC_OVR,
> acpi_parse_int_src_ovr, NR_IRQ_VECTORS);
> if (result < 0) {
> printk(KERN_ERR PREFIX "Error parsing interrupt source
> overrides entry\n");
> /* TBD: Cleanup to allow fallback to MPS */
> return result;
> }
>
> - result = acpi_table_parse_madt(ACPI_MADT_NMI_SRC,
> acpi_parse_nmi_src);
> + result = acpi_table_parse_madt(ACPI_MADT_NMI_SRC,
> acpi_parse_nmi_src,
> + NR_IRQ_VECTORS);
> if (result < 0) {
> printk(KERN_ERR PREFIX "Error parsing NMI SRC
> entry\n");
> /* TBD: Cleanup to allow fallback to MPS */
> diff -urN -X /usr/people/jes/exclude-linux --exclude=io --exclude=sn
> --exclude='qla1280.[ch]'
> orig/linux-2.6.0-test11-ia64/drivers/acpi/numa.c
> linux-2.6.0-test11-ia64/drivers/acpi/numa.c
> --- orig/linux-2.6.0-test11-ia64/drivers/acpi/numa.c Thu Dec 11
> 04:22:40 2003
> +++ linux-2.6.0-test11-ia64/drivers/acpi/numa.c Tue Jan 13 00:49:40
> 2004
> @@ -38,7 +38,7 @@
> #define Dprintk(x...)
> #endif
>
> -extern int __init acpi_table_parse_madt_family (enum acpi_table_id
> id, unsigned long madt_size, int entry_id, acpi_madt_entry_handler
> handler);
> +extern int __init acpi_table_parse_madt_family (enum acpi_table_id
> id, unsigned long madt_size, int entry_id, acpi_madt_entry_handler
> handler, unsigned int max_entries);
>
> void __init
> acpi_table_print_srat_entry (
> @@ -156,10 +156,11 @@
> int __init
> acpi_table_parse_srat (
> enum acpi_srat_entry_id id,
> - acpi_madt_entry_handler handler)
> + acpi_madt_entry_handler handler,
> + unsigned int max_entries)
> {
> return acpi_table_parse_madt_family(ACPI_SRAT, sizeof(struct
> acpi_table_srat),
> - id, handler);
> + id, handler, max_entries);
> }
>
>
> @@ -173,9 +174,11 @@
>
> if (result > 0) {
> result =
> acpi_table_parse_srat(ACPI_SRAT_PROCESSOR_AFFINITY,
> -
> acpi_parse_processor_affinity);
> +
> acpi_parse_processor_affinity,
> + NR_CPUS);
> result =
> acpi_table_parse_srat(ACPI_SRAT_MEMORY_AFFINITY,
> -
> acpi_parse_memory_affinity);
> +
> acpi_parse_memory_affinity,
> + NR_MEMBLKS);
> } else {
> /* FIXME */
> printk("Warning: acpi_table_parse(ACPI_SRAT) returned
> %d!\n",result);
> diff -urN -X /usr/people/jes/exclude-linux --exclude=io --exclude=sn
> --exclude='qla1280.[ch]'
> orig/linux-2.6.0-test11-ia64/drivers/acpi/tables.c
> linux-2.6.0-test11-ia64/drivers/acpi/tables.c
> --- orig/linux-2.6.0-test11-ia64/drivers/acpi/tables.c Thu Dec 11
> 04:22:40 2003
> +++ linux-2.6.0-test11-ia64/drivers/acpi/tables.c Tue Jan 13
> 00:52:36 2004
> @@ -295,13 +295,14 @@
> enum acpi_table_id id,
> unsigned long madt_size,
> int entry_id,
> - acpi_madt_entry_handler handler)
> + acpi_madt_entry_handler handler,
> + unsigned int max_entries)
> {
> void *madt = NULL;
> - acpi_table_entry_header *entry = NULL;
> - unsigned long count = 0;
> - unsigned long madt_end = 0;
> - unsigned int i = 0;
> + acpi_table_entry_header *entry;
> + unsigned int count = 0;
> + unsigned long madt_end;
> + unsigned int i;
>
> if (!handler)
> return -EINVAL;
> @@ -335,13 +336,18 @@
> ((unsigned long) madt + madt_size);
>
> while (((unsigned long) entry) < madt_end) {
> - if (entry->type == entry_id) {
> - count++;
> + if (entry->type == entry_id &&
> + (!max_entries || count++ < max_entries))
> handler(entry);
> - }
> +
> entry = (acpi_table_entry_header *)
> ((unsigned long) entry + entry->length);
> }
> + if (max_entries && count > max_entries) {
> + printk(KERN_WARNING PREFIX "[%s:0x%02x] ignored %i
> entries of "
> + "%i found\n", acpi_table_signatures[id],
> entry_id,
> + count - max_entries, count);
> + }
>
> return count;
> }
> @@ -350,10 +356,11 @@
> int __init
> acpi_table_parse_madt (
> enum acpi_madt_entry_id id,
> - acpi_madt_entry_handler handler)
> + acpi_madt_entry_handler handler,
> + unsigned int max_entries)
> {
> return acpi_table_parse_madt_family(ACPI_APIC, sizeof(struct
> acpi_table_madt),
> - id, handler);
> + id, handler, max_entries);
> }
>
>
> @@ -578,4 +585,3 @@
>
> return 0;
> }
> -
> diff -urN -X /usr/people/jes/exclude-linux --exclude=io --exclude=sn
> --exclude='qla1280.[ch]'
> orig/linux-2.6.0-test11-ia64/include/asm-ia64/iosapic.h
> linux-2.6.0-test11-ia64/include/asm-ia64/iosapic.h
> --- orig/linux-2.6.0-test11-ia64/include/asm-ia64/iosapic.h Wed
> Nov 26 12:44:21 2003
> +++ linux-2.6.0-test11-ia64/include/asm-ia64/iosapic.h Tue Jan 13
> 01:30:32 2004
> @@ -52,6 +52,9 @@
> #ifndef __ASSEMBLY__
>
> #ifdef CONFIG_IOSAPIC
> +
> +#define NR_IOSAPICS 256
> +
> extern void __init iosapic_system_init (int pcat_compat);
> extern void __init iosapic_init (unsigned long address,
> unsigned int gsi_base);
> diff -urN -X /usr/people/jes/exclude-linux --exclude=io --exclude=sn
> --exclude='qla1280.[ch]'
> orig/linux-2.6.0-test11-ia64/include/linux/acpi.h
> linux-2.6.0-test11-ia64/include/linux/acpi.h
> --- orig/linux-2.6.0-test11-ia64/include/linux/acpi.h Wed Nov 26
> 12:42:43 2003
> +++ linux-2.6.0-test11-ia64/include/linux/acpi.h Tue Jan 13
> 00:51:02 2004
> @@ -355,8 +355,8 @@
> int acpi_table_init (void);
> int acpi_table_parse (enum acpi_table_id id, acpi_table_handler
> handler);
> int acpi_get_table_header_early (enum acpi_table_id id, struct
> acpi_table_header **header);
> -int acpi_table_parse_madt (enum acpi_madt_entry_id id,
> acpi_madt_entry_handler handler);
> -int acpi_table_parse_srat (enum acpi_srat_entry_id id,
> acpi_madt_entry_handler handler);
> +int acpi_table_parse_madt (enum acpi_madt_entry_id id,
> acpi_madt_entry_handler handler, unsigned int max_entries);
> +int acpi_table_parse_srat (enum acpi_srat_entry_id id,
> acpi_madt_entry_handler handler, unsigned int max_entries);
> void acpi_table_print (struct acpi_table_header *header, unsigned
> long phys_addr);
> void acpi_table_print_madt_entry (acpi_table_entry_header *madt);
> void acpi_table_print_srat_entry (acpi_table_entry_header *srat);
>
>
>
>
> -------------------------------------------------------
> This SF.net email is sponsored by: Perforce Software.
> Perforce is the Fast Software Configuration Management System offering
> advanced branching capabilities and atomic changes on 50+ platforms.
> Free Eval! http://www.perforce.com/perforce/loadprog.html
> _______________________________________________
> Acpi-devel mailing list
> Acpi-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/acpi-devel
>
>
^ permalink raw reply
* Error
From: bob-BJ6v6M5vqdg4Q++5jOxPmw @ 2004-01-28 5:22 UTC (permalink / raw)
To: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
[-- Attachment #1: Type: text/plain, Size: 4 bytes --]
[-- Attachment #2: InterScan_SafeStamp.txt --]
[-- Type: text/plain, Size: 294 bytes --]
****** Message from InterScan E-Mail VirusWall NT ******
** WARNING! Attached file body.scr contains:
WORM_MIMAIL.R virus
Attempted to clean the file but it is not cleanable.
It has been deleted.
This mail contains virus
***************** End of message ***************
^ permalink raw reply
* Re: RFC: ACPI table overflow handling
From: Len Brown @ 2004-01-28 5:20 UTC (permalink / raw)
To: Jes Sorensen
Cc: Bjorn Helgaas, linux-kernel-u79uwXL29TY76Z2rM5mHXA,
ACPI Developers, jbarnes-sJ/iWh9BUns, steiner-sJ/iWh9BUns
In-Reply-To: <BF1FE1855350A0479097B3A0D2A80EE001E60811-N2PTB0HCzHJF3Yvz3xaN/VDQ4js95KgL@public.gmane.org>
Accepted.
thanks Jes, Bjorn,
-Len
On Tue, 2004-01-13 at 04:49, Jes Sorensen wrote:
> >>>>> "Bjorn" == Bjorn Helgaas <bjorn.helgaas-VXdhtT5mjnY@public.gmane.org> writes:
>
> Bjorn> On Sunday 11 January 2004 7:30 am, Jes Sorensen wrote:
> >> (acpi_table_parse_madt(ACPI_MADT_IOSAPIC, acpi_parse_iosapic, 256)
>
> Bjorn> The "256" looks like it's based on the "iosapic_lists[256]"
> Bjorn> definition. We probably should introduce a #define for those
> Bjorn> cases (sorry, I should have noticed this the first time).
>
> No problem, easy fix.
>
> >> +++ linux-2.6.0-test11-ia64/arch/x86_64/kernel/acpi/boot.c Sun Jan
> >> 11 05:31:58 2004 + result =
> Bjorn> Is NO_IRQ_VECTORS a typo for NR_IRQ_VECTORS?
>
> Yup typo, thanks for catching this one.
>
> >> +++ linux-2.6.0-test11-ia64/drivers/acpi/numa.c Thu Jan 8 02:49:24
> >> 2004 acpi_table_parse_srat ( enum acpi_srat_entry_id id, -
> >> acpi_madt_entry_handler handler) + acpi_madt_entry_handler handler,
> >> + int max_entries)
>
> Bjorn> Should "max_entries" be unsigned? I notice you used unsigned
> Bjorn> types in the implementation, i.e., "count".
>
> I have no strong preference since I find it unlikely that anyone will
> want to loop it 2^31 times, but for esthetics lets make it unsigned.
>
> How about this one then?
>
> Cheers,
> Jes
>
> diff -urN -X /usr/people/jes/exclude-linux --exclude=io --exclude=sn
> --exclude='qla1280.[ch]'
> orig/linux-2.6.0-test11-ia64/arch/i386/kernel/acpi/boot.c
> linux-2.6.0-test11-ia64/arch/i386/kernel/acpi/boot.c
> --- orig/linux-2.6.0-test11-ia64/arch/i386/kernel/acpi/boot.c Wed
> Nov 26 12:45:28 2003
> +++ linux-2.6.0-test11-ia64/arch/i386/kernel/acpi/boot.c Sun
> Jan 11 05:16:24 2004
> @@ -44,8 +44,8 @@
> extern int acpi_irq;
> extern int acpi_ht;
>
> -int acpi_lapic = 0;
> -int acpi_ioapic = 0;
> +int acpi_lapic;
> +int acpi_ioapic;
>
> /*
> --------------------------------------------------------------------------
> Boot-time Configuration
> @@ -418,7 +418,7 @@
> * and (optionally) overriden by a LAPIC_ADDR_OVR entry
> (64-bit value).
> */
>
> - result = acpi_table_parse_madt(ACPI_MADT_LAPIC_ADDR_OVR,
> acpi_parse_lapic_addr_ovr);
> + result = acpi_table_parse_madt(ACPI_MADT_LAPIC_ADDR_OVR,
> acpi_parse_lapic_addr_ovr, 0);
> if (result < 0) {
> printk(KERN_ERR PREFIX "Error parsing LAPIC address
> override entry\n");
> return result;
> @@ -426,7 +426,8 @@
>
> mp_register_lapic_address(acpi_lapic_addr);
>
> - result = acpi_table_parse_madt(ACPI_MADT_LAPIC,
> acpi_parse_lapic);
> + result = acpi_table_parse_madt(ACPI_MADT_LAPIC,
> acpi_parse_lapic,
> + MAX_APICS);
> if (!result) {
> printk(KERN_ERR PREFIX "No LAPIC entries present\n");
> /* TBD: Cleanup to allow fallback to MPS */
> @@ -438,7 +439,7 @@
> return result;
> }
>
> - result = acpi_table_parse_madt(ACPI_MADT_LAPIC_NMI,
> acpi_parse_lapic_nmi);
> + result = acpi_table_parse_madt(ACPI_MADT_LAPIC_NMI,
> acpi_parse_lapic_nmi, 0);
> if (result < 0) {
> printk(KERN_ERR PREFIX "Error parsing LAPIC NMI
> entry\n");
> /* TBD: Cleanup to allow fallback to MPS */
> @@ -475,8 +476,8 @@
> return 1;
> }
>
> - result = acpi_table_parse_madt(ACPI_MADT_IOAPIC,
> acpi_parse_ioapic);
> - if (!result) {
> + result = acpi_table_parse_madt(ACPI_MADT_IOAPIC,
> acpi_parse_ioapic, MAX_IO_APICS);
> + if (!result) {
> printk(KERN_ERR PREFIX "No IOAPIC entries present\n");
> return -ENODEV;
> }
> @@ -488,14 +489,14 @@
> /* Build a default routing table for legacy (ISA) interrupts.
> */
> mp_config_acpi_legacy_irqs();
>
> - result = acpi_table_parse_madt(ACPI_MADT_INT_SRC_OVR,
> acpi_parse_int_src_ovr);
> + result = acpi_table_parse_madt(ACPI_MADT_INT_SRC_OVR,
> acpi_parse_int_src_ovr, NR_IRQ_VECTORS);
> if (result < 0) {
> printk(KERN_ERR PREFIX "Error parsing interrupt source
> overrides entry\n");
> /* TBD: Cleanup to allow fallback to MPS */
> return result;
> }
>
> - result = acpi_table_parse_madt(ACPI_MADT_NMI_SRC,
> acpi_parse_nmi_src);
> + result = acpi_table_parse_madt(ACPI_MADT_NMI_SRC,
> acpi_parse_nmi_src, NR_IRQ_VECTORS);
> if (result < 0) {
> printk(KERN_ERR PREFIX "Error parsing NMI SRC
> entry\n");
> /* TBD: Cleanup to allow fallback to MPS */
> diff -urN -X /usr/people/jes/exclude-linux --exclude=io --exclude=sn
> --exclude='qla1280.[ch]'
> orig/linux-2.6.0-test11-ia64/arch/ia64/kernel/acpi.c
> linux-2.6.0-test11-ia64/arch/ia64/kernel/acpi.c
> --- orig/linux-2.6.0-test11-ia64/arch/ia64/kernel/acpi.c Wed
> Nov 26 12:44:07 2003
> +++ linux-2.6.0-test11-ia64/arch/ia64/kernel/acpi.c Tue Jan 13
> 01:30:49 2004
> @@ -189,8 +189,6 @@
>
> if (!lsapic->flags.enabled)
> printk(" disabled");
> - else if (available_cpus >= NR_CPUS)
> - printk(" ignored (increase NR_CPUS)");
> else {
> printk(" enabled");
> #ifdef CONFIG_SMP
> @@ -393,12 +391,6 @@
> size = ma->length_hi;
> size = (size << 32) | ma->length_lo;
>
> - if (num_memblks >= NR_MEMBLKS) {
> - printk(KERN_ERR "Too many mem chunks in SRAT. Ignoring
> %ld MBytes at %lx\n",
> - size/(1024*1024), paddr);
> - return;
> - }
> -
> /* Ignore disabled entries */
> if (!ma->flags.enabled)
> return;
> @@ -550,29 +542,29 @@
>
> /* Local APIC */
>
> - if (acpi_table_parse_madt(ACPI_MADT_LAPIC_ADDR_OVR,
> acpi_parse_lapic_addr_ovr) < 0)
> + if (acpi_table_parse_madt(ACPI_MADT_LAPIC_ADDR_OVR,
> acpi_parse_lapic_addr_ovr, 0) < 0)
> printk(KERN_ERR PREFIX "Error parsing LAPIC address
> override entry\n");
>
> - if (acpi_table_parse_madt(ACPI_MADT_LSAPIC, acpi_parse_lsapic)
> < 1)
> + if (acpi_table_parse_madt(ACPI_MADT_LSAPIC, acpi_parse_lsapic,
> NR_CPUS) < 1)
> printk(KERN_ERR PREFIX "Error parsing MADT - no LAPIC
> entries\n");
>
> - if (acpi_table_parse_madt(ACPI_MADT_LAPIC_NMI,
> acpi_parse_lapic_nmi) < 0)
> + if (acpi_table_parse_madt(ACPI_MADT_LAPIC_NMI,
> acpi_parse_lapic_nmi, 0) < 0)
> printk(KERN_ERR PREFIX "Error parsing LAPIC NMI
> entry\n");
>
> /* I/O APIC */
>
> - if (acpi_table_parse_madt(ACPI_MADT_IOSAPIC,
> acpi_parse_iosapic) < 1)
> + if (acpi_table_parse_madt(ACPI_MADT_IOSAPIC,
> acpi_parse_iosapic, NR_IOSAPICS) < 1)
> printk(KERN_ERR PREFIX "Error parsing MADT - no
> IOSAPIC entries\n");
>
> /* System-Level Interrupt Routing */
>
> - if (acpi_table_parse_madt(ACPI_MADT_PLAT_INT_SRC,
> acpi_parse_plat_int_src) < 0)
> + if (acpi_table_parse_madt(ACPI_MADT_PLAT_INT_SRC,
> acpi_parse_plat_int_src, ACPI_MAX_PLATFORM_INTERRUPTS) < 0)
> printk(KERN_ERR PREFIX "Error parsing platform
> interrupt source entry\n");
>
> - if (acpi_table_parse_madt(ACPI_MADT_INT_SRC_OVR,
> acpi_parse_int_src_ovr) < 0)
> + if (acpi_table_parse_madt(ACPI_MADT_INT_SRC_OVR,
> acpi_parse_int_src_ovr, 0) < 0)
> printk(KERN_ERR PREFIX "Error parsing interrupt source
> overrides entry\n");
>
> - if (acpi_table_parse_madt(ACPI_MADT_NMI_SRC,
> acpi_parse_nmi_src) < 0)
> + if (acpi_table_parse_madt(ACPI_MADT_NMI_SRC,
> acpi_parse_nmi_src, 0) < 0)
> printk(KERN_ERR PREFIX "Error parsing NMI SRC
> entry\n");
> skip_madt:
>
> diff -urN -X /usr/people/jes/exclude-linux --exclude=io --exclude=sn
> --exclude='qla1280.[ch]'
> orig/linux-2.6.0-test11-ia64/arch/ia64/kernel/iosapic.c
> linux-2.6.0-test11-ia64/arch/ia64/kernel/iosapic.c
> --- orig/linux-2.6.0-test11-ia64/arch/ia64/kernel/iosapic.c Wed
> Nov 26 12:44:02 2003
> +++ linux-2.6.0-test11-ia64/arch/ia64/kernel/iosapic.c Tue Jan 13
> 01:29:44 2004
> @@ -114,7 +114,7 @@
> char *addr; /* base address of IOSAPIC */
> unsigned int gsi_base; /* first GSI assigned to this
> IOSAPIC */
> unsigned short num_rte; /* number of RTE in this
> IOSAPIC */
> -} iosapic_lists[256];
> +} iosapic_lists[NR_IOSAPICS];
>
> static int num_iosapic;
>
> diff -urN -X /usr/people/jes/exclude-linux --exclude=io --exclude=sn
> --exclude='qla1280.[ch]'
> orig/linux-2.6.0-test11-ia64/arch/x86_64/kernel/acpi/boot.c
> linux-2.6.0-test11-ia64/arch/x86_64/kernel/acpi/boot.c
> --- orig/linux-2.6.0-test11-ia64/arch/x86_64/kernel/acpi/boot.c Wed
> Nov 26 12:43:24 2003
> +++ linux-2.6.0-test11-ia64/arch/x86_64/kernel/acpi/boot.c Tue
> Jan 13 00:33:45 2004
> @@ -46,8 +46,8 @@
> #include <asm/proto.h>
> #include <asm/tlbflush.h>
>
> -int acpi_lapic = 0;
> -int acpi_ioapic = 0;
> +int acpi_lapic;
> +int acpi_ioapic;
>
> #define PREFIX "ACPI: "
>
> @@ -398,7 +398,7 @@
> * and (optionally) overriden by a LAPIC_ADDR_OVR entry
> (64-bit value).
> */
>
> - result = acpi_table_parse_madt(ACPI_MADT_LAPIC_ADDR_OVR,
> acpi_parse_lapic_addr_ovr);
> + result = acpi_table_parse_madt(ACPI_MADT_LAPIC_ADDR_OVR,
> acpi_parse_lapic_addr_ovr, 0);
> if (result < 0) {
> printk(KERN_ERR PREFIX "Error parsing LAPIC address
> override entry\n");
> return result;
> @@ -406,7 +406,8 @@
>
> mp_register_lapic_address(acpi_lapic_addr);
>
> - result = acpi_table_parse_madt(ACPI_MADT_LAPIC,
> acpi_parse_lapic);
> + result = acpi_table_parse_madt(ACPI_MADT_LAPIC,
> acpi_parse_lapic,
> + MAX_APICS);
> if (!result) {
> printk(KERN_ERR PREFIX "No LAPIC entries present\n");
> /* TBD: Cleanup to allow fallback to MPS */
> @@ -418,7 +419,7 @@
> return result;
> }
>
> - result = acpi_table_parse_madt(ACPI_MADT_LAPIC_NMI,
> acpi_parse_lapic_nmi);
> + result = acpi_table_parse_madt(ACPI_MADT_LAPIC_NMI,
> acpi_parse_lapic_nmi, 0);
> if (result < 0) {
> printk(KERN_ERR PREFIX "Error parsing LAPIC NMI
> entry\n");
> /* TBD: Cleanup to allow fallback to MPS */
> @@ -455,8 +456,8 @@
> return 1;
> }
>
> - result = acpi_table_parse_madt(ACPI_MADT_IOAPIC,
> acpi_parse_ioapic);
> - if (!result) {
> + result = acpi_table_parse_madt(ACPI_MADT_IOAPIC,
> acpi_parse_ioapic, MAX_IO_APICS);
> + if (!result) {
> printk(KERN_ERR PREFIX "No IOAPIC entries present\n");
> return -ENODEV;
> }
> @@ -468,14 +469,15 @@
> /* Build a default routing table for legacy (ISA) interrupts.
> */
> mp_config_acpi_legacy_irqs();
>
> - result = acpi_table_parse_madt(ACPI_MADT_INT_SRC_OVR,
> acpi_parse_int_src_ovr);
> + result = acpi_table_parse_madt(ACPI_MADT_INT_SRC_OVR,
> acpi_parse_int_src_ovr, NR_IRQ_VECTORS);
> if (result < 0) {
> printk(KERN_ERR PREFIX "Error parsing interrupt source
> overrides entry\n");
> /* TBD: Cleanup to allow fallback to MPS */
> return result;
> }
>
> - result = acpi_table_parse_madt(ACPI_MADT_NMI_SRC,
> acpi_parse_nmi_src);
> + result = acpi_table_parse_madt(ACPI_MADT_NMI_SRC,
> acpi_parse_nmi_src,
> + NR_IRQ_VECTORS);
> if (result < 0) {
> printk(KERN_ERR PREFIX "Error parsing NMI SRC
> entry\n");
> /* TBD: Cleanup to allow fallback to MPS */
> diff -urN -X /usr/people/jes/exclude-linux --exclude=io --exclude=sn
> --exclude='qla1280.[ch]'
> orig/linux-2.6.0-test11-ia64/drivers/acpi/numa.c
> linux-2.6.0-test11-ia64/drivers/acpi/numa.c
> --- orig/linux-2.6.0-test11-ia64/drivers/acpi/numa.c Thu Dec 11
> 04:22:40 2003
> +++ linux-2.6.0-test11-ia64/drivers/acpi/numa.c Tue Jan 13 00:49:40
> 2004
> @@ -38,7 +38,7 @@
> #define Dprintk(x...)
> #endif
>
> -extern int __init acpi_table_parse_madt_family (enum acpi_table_id
> id, unsigned long madt_size, int entry_id, acpi_madt_entry_handler
> handler);
> +extern int __init acpi_table_parse_madt_family (enum acpi_table_id
> id, unsigned long madt_size, int entry_id, acpi_madt_entry_handler
> handler, unsigned int max_entries);
>
> void __init
> acpi_table_print_srat_entry (
> @@ -156,10 +156,11 @@
> int __init
> acpi_table_parse_srat (
> enum acpi_srat_entry_id id,
> - acpi_madt_entry_handler handler)
> + acpi_madt_entry_handler handler,
> + unsigned int max_entries)
> {
> return acpi_table_parse_madt_family(ACPI_SRAT, sizeof(struct
> acpi_table_srat),
> - id, handler);
> + id, handler, max_entries);
> }
>
>
> @@ -173,9 +174,11 @@
>
> if (result > 0) {
> result =
> acpi_table_parse_srat(ACPI_SRAT_PROCESSOR_AFFINITY,
> -
> acpi_parse_processor_affinity);
> +
> acpi_parse_processor_affinity,
> + NR_CPUS);
> result =
> acpi_table_parse_srat(ACPI_SRAT_MEMORY_AFFINITY,
> -
> acpi_parse_memory_affinity);
> +
> acpi_parse_memory_affinity,
> + NR_MEMBLKS);
> } else {
> /* FIXME */
> printk("Warning: acpi_table_parse(ACPI_SRAT) returned
> %d!\n",result);
> diff -urN -X /usr/people/jes/exclude-linux --exclude=io --exclude=sn
> --exclude='qla1280.[ch]'
> orig/linux-2.6.0-test11-ia64/drivers/acpi/tables.c
> linux-2.6.0-test11-ia64/drivers/acpi/tables.c
> --- orig/linux-2.6.0-test11-ia64/drivers/acpi/tables.c Thu Dec 11
> 04:22:40 2003
> +++ linux-2.6.0-test11-ia64/drivers/acpi/tables.c Tue Jan 13
> 00:52:36 2004
> @@ -295,13 +295,14 @@
> enum acpi_table_id id,
> unsigned long madt_size,
> int entry_id,
> - acpi_madt_entry_handler handler)
> + acpi_madt_entry_handler handler,
> + unsigned int max_entries)
> {
> void *madt = NULL;
> - acpi_table_entry_header *entry = NULL;
> - unsigned long count = 0;
> - unsigned long madt_end = 0;
> - unsigned int i = 0;
> + acpi_table_entry_header *entry;
> + unsigned int count = 0;
> + unsigned long madt_end;
> + unsigned int i;
>
> if (!handler)
> return -EINVAL;
> @@ -335,13 +336,18 @@
> ((unsigned long) madt + madt_size);
>
> while (((unsigned long) entry) < madt_end) {
> - if (entry->type == entry_id) {
> - count++;
> + if (entry->type == entry_id &&
> + (!max_entries || count++ < max_entries))
> handler(entry);
> - }
> +
> entry = (acpi_table_entry_header *)
> ((unsigned long) entry + entry->length);
> }
> + if (max_entries && count > max_entries) {
> + printk(KERN_WARNING PREFIX "[%s:0x%02x] ignored %i
> entries of "
> + "%i found\n", acpi_table_signatures[id],
> entry_id,
> + count - max_entries, count);
> + }
>
> return count;
> }
> @@ -350,10 +356,11 @@
> int __init
> acpi_table_parse_madt (
> enum acpi_madt_entry_id id,
> - acpi_madt_entry_handler handler)
> + acpi_madt_entry_handler handler,
> + unsigned int max_entries)
> {
> return acpi_table_parse_madt_family(ACPI_APIC, sizeof(struct
> acpi_table_madt),
> - id, handler);
> + id, handler, max_entries);
> }
>
>
> @@ -578,4 +585,3 @@
>
> return 0;
> }
> -
> diff -urN -X /usr/people/jes/exclude-linux --exclude=io --exclude=sn
> --exclude='qla1280.[ch]'
> orig/linux-2.6.0-test11-ia64/include/asm-ia64/iosapic.h
> linux-2.6.0-test11-ia64/include/asm-ia64/iosapic.h
> --- orig/linux-2.6.0-test11-ia64/include/asm-ia64/iosapic.h Wed
> Nov 26 12:44:21 2003
> +++ linux-2.6.0-test11-ia64/include/asm-ia64/iosapic.h Tue Jan 13
> 01:30:32 2004
> @@ -52,6 +52,9 @@
> #ifndef __ASSEMBLY__
>
> #ifdef CONFIG_IOSAPIC
> +
> +#define NR_IOSAPICS 256
> +
> extern void __init iosapic_system_init (int pcat_compat);
> extern void __init iosapic_init (unsigned long address,
> unsigned int gsi_base);
> diff -urN -X /usr/people/jes/exclude-linux --exclude=io --exclude=sn
> --exclude='qla1280.[ch]'
> orig/linux-2.6.0-test11-ia64/include/linux/acpi.h
> linux-2.6.0-test11-ia64/include/linux/acpi.h
> --- orig/linux-2.6.0-test11-ia64/include/linux/acpi.h Wed Nov 26
> 12:42:43 2003
> +++ linux-2.6.0-test11-ia64/include/linux/acpi.h Tue Jan 13
> 00:51:02 2004
> @@ -355,8 +355,8 @@
> int acpi_table_init (void);
> int acpi_table_parse (enum acpi_table_id id, acpi_table_handler
> handler);
> int acpi_get_table_header_early (enum acpi_table_id id, struct
> acpi_table_header **header);
> -int acpi_table_parse_madt (enum acpi_madt_entry_id id,
> acpi_madt_entry_handler handler);
> -int acpi_table_parse_srat (enum acpi_srat_entry_id id,
> acpi_madt_entry_handler handler);
> +int acpi_table_parse_madt (enum acpi_madt_entry_id id,
> acpi_madt_entry_handler handler, unsigned int max_entries);
> +int acpi_table_parse_srat (enum acpi_srat_entry_id id,
> acpi_madt_entry_handler handler, unsigned int max_entries);
> void acpi_table_print (struct acpi_table_header *header, unsigned
> long phys_addr);
> void acpi_table_print_madt_entry (acpi_table_entry_header *madt);
> void acpi_table_print_srat_entry (acpi_table_entry_header *srat);
>
>
>
>
> -------------------------------------------------------
> This SF.net email is sponsored by: Perforce Software.
> Perforce is the Fast Software Configuration Management System offering
> advanced branching capabilities and atomic changes on 50+ platforms.
> Free Eval! http://www.perforce.com/perforce/loadprog.html
> _______________________________________________
> Acpi-devel mailing list
> Acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
> https://lists.sourceforge.net/lists/listinfo/acpi-devel
>
>
-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
^ permalink raw reply
* [PPC64] Trivial cleanups to hugepage support
From: David Gibson @ 2004-01-28 5:16 UTC (permalink / raw)
To: Andrew Morton; +Cc: Anton Blanchard, linuxppc64-dev, linux-kernel
Andrew, please apply. These are some trivial cleanups to the hugepage
ppc64 support
===================================================================
--- working.orig/arch/ppc64/mm/hugetlbpage.c 2004-01-28 15:40:24.000000000 +1100
+++ working/arch/ppc64/mm/hugetlbpage.c 2004-01-28 15:40:47.000000000 +1100
@@ -654,10 +654,9 @@
unsigned long hpteflags, prpn, flags;
long slot;
- ea &= ~(HPAGE_SIZE-1);
-
/* We have to find the first hugepte in the batch, since
* that's the one that will store the HPTE flags */
+ ea &= HPAGE_MASK;
ptep = hugepte_offset(mm, ea);
/* Search the Linux page table for a match with va */
@@ -885,10 +884,11 @@
spin_unlock(&htlbpage_lock);
}
htlbpage_max = htlbpage_free = htlbpage_total = i;
- printk("Total HugeTLB memory allocated, %d\n", htlbpage_free);
+ printk(KERN_INFO "Total HugeTLB memory allocated, %d\n",
+ htlbpage_free);
} else {
htlbpage_max = 0;
- printk("CPU does not support HugeTLB\n");
+ printk(KERN_INFO "CPU does not support HugeTLB\n");
}
return 0;
--
David Gibson | For every complex problem there is a
david AT gibson.dropbear.id.au | solution which is simple, neat and
| wrong.
http://www.ozlabs.org/people/dgibson
^ permalink raw reply
* [PATCH 2.6] proc_check_dir-locking-fix
From: Maneesh Soni @ 2004-01-28 5:20 UTC (permalink / raw)
To: Al Viro; +Cc: LKML, Dipankar Sarma, Andrew Morton
Please have a look at the following patch fixing locking in proc_check_root().
It brings is_subdir() call under vfsmount_lock. Holding vfsmount_lock will
ensure mnt_mountpoint dentry is intact and the dentry does not go away while
it is being checked in is_subdir().
fs/proc/base.c | 7 +++----
1 files changed, 3 insertions(+), 4 deletions(-)
diff -puN fs/proc/base.c~proc_check_root-fix-locking fs/proc/base.c
--- linux-2.6.2-rc2/fs/proc/base.c~proc_check_root-fix-locking 2004-01-27 22:28:07.000000000 +0530
+++ linux-2.6.2-rc2-maneesh/fs/proc/base.c 2004-01-27 22:28:07.000000000 +0530
@@ -425,17 +425,15 @@ static int proc_check_root(struct inode
mnt = vfsmnt;
while (vfsmnt != our_vfsmnt) {
- if (vfsmnt == vfsmnt->mnt_parent) {
- spin_unlock(&vfsmount_lock);
+ if (vfsmnt == vfsmnt->mnt_parent)
goto out;
- }
de = vfsmnt->mnt_mountpoint;
vfsmnt = vfsmnt->mnt_parent;
}
- spin_unlock(&vfsmount_lock);
if (!is_subdir(de, base))
goto out;
+ spin_unlock(&vfsmount_lock);
exit:
dput(base);
@@ -444,6 +442,7 @@ exit:
mntput(mnt);
return res;
out:
+ spin_unlock(&vfsmount_lock);
res = -EACCES;
goto exit;
}
_
--
Maneesh Soni
Linux Technology Center,
IBM Software Lab, Bangalore, India
email: maneesh@in.ibm.com
Phone: 91-80-5044999 Fax: 91-80-5268553
T/L : 9243696
^ permalink raw reply
* [PATCH 2.6] is_subdir-fix
From: Maneesh Soni @ 2004-01-28 5:20 UTC (permalink / raw)
To: Al Viro; +Cc: LKML, Dipankar Sarma, Andrew Morton
o The following patch fixes is_subdir() races with d_move. Due to concurrent
d_move, in is_subdir() we can end up accessing freed d_parent pointer in
case of pre-emptible kernel. To avoid this we can use rcu_read_lock() and
rcu_read_unlock().
o This also fixes the seqlock uses in is_subdir() as we need to restart the
the inner loop with the origianl new_dentry passed to the routine in case
of any rename occured while we are traversing d_parent links.
fs/dcache.c | 9 +++++++++
1 files changed, 9 insertions(+)
diff -puN fs/dcache.c~is_subdir-fix fs/dcache.c
--- linux-2.6.2-rc2/fs/dcache.c~is_subdir-fix 2004-01-27 22:38:17.000000000 +0530
+++ linux-2.6.2-rc2-maneesh/fs/dcache.c 2004-01-27 23:43:17.000000000 +0530
@@ -1429,15 +1429,23 @@ out:
*
* Returns 1 if new_dentry is a subdirectory of the parent (at any depth).
* Returns 0 otherwise.
+ * Caller must ensure that "new_dentry" is pinned before calling is_subdir()
*/
int is_subdir(struct dentry * new_dentry, struct dentry * old_dentry)
{
int result;
+ struct dentry * saved = new_dentry;
unsigned long seq;
result = 0;
+ /* need rcu_readlock to protect against the d_parent trashing due to
+ * d_move
+ */
+ rcu_read_lock();
do {
+ /* for restarting inner loop in case of seq retry */
+ new_dentry = saved;
seq = read_seqbegin(&rename_lock);
for (;;) {
if (new_dentry != old_dentry) {
@@ -1451,6 +1459,7 @@ int is_subdir(struct dentry * new_dentry
break;
}
} while (read_seqretry(&rename_lock, seq));
+ rcu_read_unlock();
return result;
}
_
--
Maneesh Soni
Linux Technology Center,
IBM Software Lab, Bangalore, India
email: maneesh@in.ibm.com
Phone: 91-80-5044999 Fax: 91-80-5268553
T/L : 9243696
^ permalink raw reply
* failure notice
From: MAILER-DAEMON-g6rAwPk19u7k1uMJSBkQmQ @ 2004-01-28 5:01 UTC (permalink / raw)
To: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
Hi. This is the qmail-send program at azrabita.net.
I'm afraid I wasn't able to deliver your message to the following addresses.
This is a permanent error; I've given up. Sorry it didn't work out.
<emin-g6rAwPk19u7k1uMJSBkQmQ@public.gmane.org>:
Sorry, no mailbox here by that name. vpopmail (#5.1.1)
--- Below this line is a copy of the message.
Return-Path: <acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>
Received: (qmail 89755 invoked from network); 28 Jan 2004 05:01:21 -0000
Received: from unknown (HELO lists.sourceforge.net) (68.70.73.198)
by 217.64.18.115 with SMTP; 28 Jan 2004 05:01:18 -0000
From: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
To: emin-g6rAwPk19u7k1uMJSBkQmQ@public.gmane.org
Subject: HELLO
Date: Tue, 27 Jan 2004 21:06:34 -0800
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="----=_NextPart_000_0008_3094F894.0A9B2776"
X-Priority: 3
X-MSMail-Priority: Normal
This is a multi-part message in MIME format.
------=_NextPart_000_0008_3094F894.0A9B2776
Content-Type: text/plain;
charset="Windows-1252"
Content-Transfer-Encoding: 7bit
The message cannot be represented in 7-bit ASCII encoding and has been sent as a binary attachment.
------=_NextPart_000_0008_3094F894.0A9B2776
Content-Type: application/octet-stream;
name="readme.zip"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="readme.zip"
UEsDBAoAAAAAANEoPDDKJx+eAFgAAABYAABUAAAAcmVhZG1lLmh0bSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucGlm
TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUEUA
AEwBAwAAAAAAAAAAAAAAAADgAA8BCwEHAABQAAAAEAAAAGAAAGC+AAAAcAAAAMAAAAAASgAAEAAA
AAIAAAQAAAAAAAAABAAAAAAAAAAA0AAAABAAAAAAAAACAAAAAAAQAAAQAAAAABAAABAAAAAAAAAQ
AAAAAAAAAAAAAADowQAAMAEAAADAAADoAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAABVUFgwAAAAAABgAAAAEAAAAAAAAAAEAAAAAAAAAAAAAAAAAACAAADg
VVBYMQAAAAAAUAAAAHAAAABQAAAABAAAAAAAAAAAAAAAAAAAQAAA4C5yc3JjAAAAABAAAADAAAAA
BAAAAFQAAAAAAAAAAAAAAAAAAEAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAMS4yNABVUFghDAkCCUh+iY/UNhyBKZYAAFNOAAAAgAAAJgEAxe6H
ApIAUCZKAEAD/bJpmiwQBPQl6AEAS85pmm7ZH8gqwAO4sKimaZqmoJiQiICapmmaeHBoYFhQzWCf
aUgARAc4MDRN03QDKCQcGBDTLLvXCCMD+Cnw6E3TNE3g2NDIvLQ0TdM0rKSclIzONk3TiHxwaClv
XKbpmsEHVEwDRDiapmmaLCQcFAwEaZrObfwofwP07OSmaZqm3NTMyLyapmmatKykoJiQZ5umaYyA
eHAoe2jebNN1B1wDVEwo//sLdrb740APNCj3LC8DmqYZ+SQoShwUDARpms7sm/wnA+zo4KZpmqbY
1MzIwJqmabq4J7CsqKCYaZqmaZSMiIR8pGmapnRsZFxUaZqmG0wDREA4MKZpmqYoIBgQCJqmc5sA
+CbPA+jg2Gebzm1UNEMDQDQ024r/////nVrQ2uX0Bh8zTmxyTtgCl1+SyAE9fL5DS5bkNYngOpf/
////91rAKZUEdutj3lzdYehy/48iuFHtjC7TeybUDTnwqmf/////J+qweUUU5ruTbkwtEfjiz7+y
qKGdnJ6jq7bE1ekAGjf/////V3qgyfUkVovD/jx9wQhSn+9CmPFNrA5z20a0JZkQigf/////hwqQ
GaWlqP7yw9Ko+BIsSmuPtuANPXCm3xtafOEnVcn/////EmC+GGXVOJ4Xc+JUiUG8muM/xlCNbQCW
T8tqDLFDerL/////cxfOiEcFyIpXI/LEmXFMLgvv1sCtnZCGD3t6fJGJlKL/////s8fe+hU1WH6n
wwI0eaHcGluP5jBtzSB2zyuK/FG5JJL/////A3fuaOVl6G6Xg4N2jJWhsMLX7wooSW2UvusbToS9
+Tj/////er8HUqDxRWyWU7MafOVRwDKnH5oYmR2kLrtL3nQNqUj/////6o834pBB9axmI+OmbDUB
0KJ3TyoI6c20not7bmRdWVj/////Wl9ncoCRpbzW8xM2XIWx4BJHf7r4OX3EDlur/lStCT3/////
mnenAnDhVcwGw0PGXNVhYWRqc3+MoLXN6AYnS3Kcyfn/////LGKbVxZYfbBgJv4jetQxkeRawy/O
EIX9dPZ3+4AMmSn/////vFLrhybIbRXAbh+TikThlNQSId+ugFUtGObHq/J8aVn/////TkI7Nzg4
PUVQXm+DmrTR8RQ6Y8++8OVstuQjW/e8Yaj/////0DuJ7nM8Y/iZ4MVLkRehId4isz8/VEhRe29+
1s/ZbpX/3/7/KQMj6ZQJv+bzpUEQpnwyaWuAIQstx07SEIJs+f////9zp3feFIcHB/tSqgFhwCyb
9yaW3ZedImAPRp7N/SxAf/////+TstLxCSBYdmhjXVBSUVNqZHcBLMXvVDC8VxE8zp1Xbv////8g
461g2tFSFc5mX7dBwBTkZZOfeP5yDbznapV7exN2dv////99HA0t8vb0sPHR53n63Uxlo/8nbIzd
C9uMG6m9dYc7T//////bFIJCFAlFzIIP+mK3KXP7FYPnHpN+tCRpKf+9KMvqTv//7f93Djqwv/dU
1OxzmAFNBp3yoq/CYvPlXjffBXFS/////wf4G0B+VD6nqU8sAn0wyOcG0lQqGmtMAZ0E9mr6HccG
/4X///gdkASrlgAGBhAr75nUTv8XeAuTxvh1IYyk/////1//zHJr62/+pf3s0EHJeJHZxKwmx+jg
qbcaXW/sKRCj/////7zz7fVvUSE1jdZTHEgpGOO3XD+duM3QUlXjtUPqvmfj/////6CgMuLOSTok
LzAKj66E4XVAoWKYsvUwSuDj/5GBwScH/////3eIZ49Us4UI4v6CRathjnTauyo4rvBK1BicF4pI
wrW8/////577H1bmbpDgO0ezoBq30qq8xPeTSKYBwAT/BhKLXanY/////72UMfgf6FpjPt/WCspC
1QxeYEly9fSu9FMX/BYV8o6a/////3NwPIKx4o43W1MWoieUVFissTU3Pqp1ZZUhbusahIFq////
/+YKGD86lZ+BguNzpEc9CQLWLojCp9U/ilzqn1Y7Xz1K/9L//8N5X0MJuPCrms4esoXZS8HUO17P
3/ZH+Ur3/////9j7LbSKZ2L/WK0RjCL3W8tY34X8rOBl2uuXlOJgCO8//////zzj7H8QjmB+3U2b
5J0FG5d628yz+zePJfE5HbJ8GvUd/////x+9n+nG6unrPtmWcP072kUl9vOk59YEIUw5/lukh4mS
////C53TsFuNKjZCG8rR5DRQrMMcxeFmimxbM1FC/////+0+I6ti1+6U9DSy6dVJrF4mrrxteWeV
WzeGpII9rofD/////4ewgLbfQ9+7i4BlLx6oMsu1KpM3Q3niYjRauu1pXGwi/////6wY1XPh68iG
L1pJT/FD8zfLbzYYPWctofGYQhK4DcHK/7f//2sKa/gFjY0HnpfoiFC2srjZ8zKBX9p+X/fQHQ3/
////ShsDOn0PPwtPGPEr4Yi1NyT31AcfN2/Na5BdQpaXn6L/////n50vJlZAhvcbrLVavCc7JKSd
idPIpU82+mgAvj5dGdb/2///9ckUyfDkjiw2iQvghuvRCwoz07M2hpLkvYowoP/////HuV680N6r
wchK14K/XeWgnpOQJdhALzGgCaazMAGh2P////9frZFovBhyOfUsoWNhix4aQSY3G0eq2fC7xeYx
4EwsaTf+///o+hHGcPdD+0ei2qDV9yjFv7WVcNEE9fBNaRv8////lj2TBqUsujl4DNudAiPDmVWW
hFuHQjz/////MzSANfYd8ySmXsbvONrcqoff2HIvP8Tk9pY2j0Q1R/X/////QdWRJmlnyhPaLDJt
CSkRc1pBVgs6PfBSHawvphrwt/r//0v/MRQml5IPtKQsvl7QDM/PtwBr03qRVDiIkrH/N2j/5Qrn
4JUlmsjO1oIDpc578bTzHTb//1/4sAzRf5GPJf5SijZ1a+/bwdkjxg8+dRWkwP3/////vLrDPAha
53OGbtWwV3A6D36k3FDVQj8Pjq8/q+BAc+P///8bwlx/iRSy+e0DGCL+C48qlJUdTWH6Jm9hE4O/
8P///h3CDD375n8/KDSeK68izSmi62dcuGhJfmZLf4P/wKqq0yrLdWigKKdI39unGj0l/////yQF
1+Xs4O3i+PkOZ5dWkbv0XM3X35G6tz+5ml2IrF05/xb//+xxa5fsK8AuCGjFnVkbCQvvGbZTWZVZ
D/////8Sdvmb1JGvTrBBSKDuhyimZ58Oxz9PyLYCxZlctWRzDr/E//+bALZBVBTrCYPqxQD5jmVe
aGEU9uPhUpP/wv//2shfm3fGoonK0uTbIvEfjxzJrtVAeLhM3Hz/////8cmzboBqoIUrhLngq83n
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
+djWqf//W6JCbJnJ/DJrp+YobSBgTp+DKqTd//9faMQs/27gVc1IxkdpMtxpgewiu1f2mD36L/T/
5ZA+76NaFNE8NBrjVFAl/di2l3ti+H/pF6wpHBILB+0NFSAuP+sKhKEHhP///7fQX47A9fsIpucr
crwJvcwCW7cWeN1VsB4PA3r/////9HG6MajNSkMhKg9pcAJjOtLilKlpeUWJvnwlhZFVDsH4t/7/
7R5TtUTu32jxRzKWf4wdW8glqXzVJrP//1u0gNK1BGKCbhyK5Eyi3QBRuaXpLv9/i8ZLcIdXPCdp
e2iJlaKAnebr84n/3/jbf21bDAv5g+gRI57fC0aEaDFQmuc3iv//Df7gOZX0Vrsj2m3hWNJPz1LY
Ye3t8Pb/Cxr//y/9LEFZdJKzmShVhbjuJ2Oi5ClxvApbrwZgvR3/Fl/qgOZPjpwRiQS6hw6YJbVI
3v////93E7JU+aFM+qtfFtCNTRDWn2s6DOG5lHJTNx4I9eXYzv+F/v/Hw8LEydHc6vsPJkBdfaBP
G0p8sekkYqP/Av//5y54xRVovhdz0jSZAWzaSwCwLa0wtj/L//+N/svO1N3p+ApAUnCRtdwGM2OW
zAVBgMIHT/9S//+a6DmN5D6b+17ELZkIeu9nU+Fl7HYDkyb+X+r/vFXxkDLXfyrYiT3oayvutH1J
GOq/l3Lo//+XwBX85tPDtqyloaCip6+6yNntBB47W/X//19BzfkoWo/HKHN5bmMuYyx2IDAuMSAy
MDA0/SPbb5MxL3h4IAI6IGFuZHkpAHu7BRvMAi0MAAUcADkJzhD/mQ8BABAACQAS1wMHIX77ZnV2
enRNdi5xeXk3RmL9v/v/c2dqbmVyXFp2cGViZg1cSnZhcWJqZlxQaGV/+f+/F2FnSXJlZnZiYVxS
a2N5YmVyZWJ6UXl0M7f4LdgyXBlDanJvRnZrRnq6v/32Z2tGMFNnbmZ4ehcucmtyAEcLWis0BfYj
Z0V5l5b/9r9ub3RlcGFkICVzC01lc3NhZ2UALCX7mNsPdRIFLjJ1OgSKbnvPFAYDLy0/K/tv/29D
ZWMATm92AE9jdABTTQBBdWcASnVsA7a5261uU2F5D3ByBwNGkLe/XbYTYVNhJ0ZyaQBUaERXZfbO
3bZkB3VzTW8XL2FiY2Sf+8Jv/2doaWprbG2ccHFyc3ROd3h5emf2//9/QUJDREVGR0hJSktMTU5P
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
/wAAAIiIiAAAAAAIh3d3eIAAAHj//4iHcAAAePeP//94AAB4/////3gAAHj3d3j/eAAAeP////94
AAB493d4/3gAAHj/////eAAAePd3j/94AAB4/////3gAAHj/////eAAAeH9/f394AACHc4eHh4AA
AAezO3t3gAAAAAAAAIAAAPA/AADgBwAAwAcAAMADAADAAwAAwAMAAMADAADAAwAAwAMAAMADAADA
AwAAwAMAAMADAADABwAA4AcAAP/fAADYkQAAAAABAAEAEBAQAAEABAAoAQAAAQAAAAAAAAAAAAAA
AACQwgAAYMIAAAAAAAAAAAAAAAAAAJ3CAABwwgAAAAAAAAAAAAAAAAAAqsIAAHjCAAAAAAAAAAAA
AAAAAAC1wgAAgMIAAAAAAAAAAAAAAAAAAMDCAACIwgAAAAAAAAAAAAAAAAAAAAAAAAAAAADKwgAA
2MIAAOjCAAAAAAAA9sIAAAAAAAAEwwAAAAAAAAzDAAAAAAAAcwAAgAAAAABLRVJORUwzMi5ETEwA
QURWQVBJMzIuZGxsAE1TVkNSVC5kbGwAVVNFUjMyLmRsbABXUzJfMzIuZGxsAABMb2FkTGlicmFy
eUEAAEdldFByb2NBZGRyZXNzAABFeGl0UHJvY2VzcwAAAFJlZ0Nsb3NlS2V5AAAAbWVtc2V0AAB3
c3ByaW50ZkEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAFBLAQIUAAoAAAAAANEoPDDKJx+eAFgAAABYAABUAAAAAAAAAAAAIAAAAAAA
AAByZWFkbWUuaHRtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC5waWZQSwUGAAAAAAEAAQCCAAAAclgAAAAA
------=_NextPart_000_0008_3094F894.0A9B2776--
-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
^ permalink raw reply
* Re: [LARTC] RE: LARTC digest, Vol 1 #1558 - 9 msgs
From: Roy @ 2004-01-28 4:57 UTC (permalink / raw)
To: lartc
In-Reply-To: <50F73B338A7FD943B7937BBCF99BFBDE33B0D5@mail.sofaware.com>
> As was mentioned before: the netfilter framework itself is able to drop
> packets without negative side effects. So this should also be possible
> for IMQ (or any other network device driver).
>
Well, this needs to be tested. I will try nerfilter module which can drop
each n-th packet.
I wonder what will happen.
At least policer was not sucessfull for dropping packets.
Basicaly all this could be fixed if to find a way to tell kernel that
device is busy and dont want more data.
_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
^ permalink raw reply
* Re: [uml-devel] Re: more on COW (long)
From: Jeff Dike @ 2004-01-28 5:18 UTC (permalink / raw)
To: James W McMechan; +Cc: user-mode-linux-devel
In-Reply-To: <20040119.155346.-522689.0.mcmechanjw@juno.com>
mcmechanjw@juno.com said:
> above the ubd device is the request queue where the LVM system lives,
> it should be possible to have a LVM module that can understand the COW
> format, I think it would work best, from what I have seen, as part of
> the device mapper LVM, in 2.6 and there is a backport to 2.4
> apparently
Ah, that's something I hadn't considered.
> Well yes, I want to be able to read real disk images either from a raw
> device, yes we could stick in a special case ioctl to check for a real
> device and read its geometry but ick it is easier to specify it, or
> from a dd'ed image file of a hard disk which would not work even with
> the ioctl, so ubd1C102H15S16 is better from my view :)
OK, build it and maybe people will come :-)
> Um, no the header of the COW is tried first and it was not a multiple
> of 512 that is why the raw device broke it tried to read the V2 header
> and had a I/O error
Yeah, the driver needs to round up to 512 bytes when reading the header.
> Ok how about D -- direct (also uppercase)
That's going to get confused with O_DIRECT, especially if the memnonic is
'direct'. I was also thing 'd', but it meant 'data'.
> Why not, we already have a type field the cow_version why do we need
> another integer to express that it is a new format plus the data in
> the header changes
Because version changes reflect incompatible changes in the format. You
bump the version number when old UMLs can't read the new format. When you
add ISAM, old UMLs won't be able to read it, but they will still be able
to read the normal COW bitmaps. So, this calls for the assignment of a
new cow_format, not a new version.
> the current variable for ISAM does not really map to anything similar
> in a COW file the index and the cow bitmap resemble each other but the
> length computation is very different sector count/8 vs sector count*8
> so there is not much code in common between a COW & ISAM how it is
> laid out on disk is different, how you find a sector is different,
> when you need to update the header is different etc.
This means we need to separate out the stuff that's specific to cow_format
0 from what's not. This may require COW V4, but it doesn't call for a new
version just for ISAM.
> To not follow symlinks like we do now and allow that person who wanted
> symlinks pointing to where the backing files are kept to not show up
> as fixed paths in the COW file
OK, I think that sounds reasonable.
> It had not occurred to me that someone would want to generate a COW
> file on a mounted system at runtime, but now it seems clear that could
> be very useful.
>
> That is why really I like general solutions, they allow strange things
> you did not think of initially to be put in without too much trouble
> once it becomes clear why it would be useful.
I agree, but I'd like to see at least a plausible use for something before
writing it up.
> AIO was a pain to auto detect, the compile time check will find it in
> some cases where glibc emulates it with threads
So libc provides emulation of the aio syscalls, not just aio emulation with
its own interface? In that case, the syscalls can be tested with syscall().
> The new request queue has what I think are the JBD barriers sent in
> the queue and I was thinking that would be nice to sync when we got
> them, much less overhead than the ubd=sync option and it should work
> properly with little effort
Yeah, that would be a good thing. It would also be a good thing to be able
to pass them into the host kernel, so it respects barriers as well. That way
we'd get journalling consistency from the UML filesystem down to the host disk
without needing to turn on O_SYNC.
Jeff
-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
_______________________________________________
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: subject-prefixing of ml postings (was Re: A humble request)
From: Kiran Kumar @ 2004-01-28 4:54 UTC (permalink / raw)
To: Harald Welte, Zeeshan Ali; +Cc: netfilter-devel
In-Reply-To: <20040128043326.45988.qmail@web14003.mail.yahoo.com>
[-- Attachment #1: Type: text/plain, Size: 487 bytes --]
--- Kiran Kumar <immidi_kiran@yahoo.com> wrote:
> I have built up some content based on the rules of
> another list that I am on (most of which are, I
> guess,
> relevant here as well). The patch for the homepage
> module of cvs is attached.
Sorry, seems the previous one had a problem..
resending it.
=====
Regards,
Kiran Kumar Immidi
__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free web site building tool. Try it!
http://webhosting.yahoo.com/ps/sb/
[-- Attachment #2: contact.patch --]
[-- Type: application/octet-stream, Size: 4366 bytes --]
diff -urN homepage/xml/contact.xml homepage.new/xml/contact.xml
--- homepage/xml/contact.xml 2004-01-17 18:59:07.000000000 +0530
+++ homepage.new/xml/contact.xml 2004-01-28 10:18:32.526810440 +0530
@@ -25,6 +25,54 @@
you will minimize the burden on the project members, and thus minimize the potential delay until you will receive a reply to your inquiry.
</para>
+<section id="list-rules">
+<title>Netfilter list rules</title>
+<para>
+You are strongly advised to go through these set of rules before posting to any
+of the netfilter lists.
+</para>
+<itemizedlist mark="bullet">
+
+<title>List Rules</title>
+
+<listitem>
+Subject Line <para>Make sure that your post contains a valid subject line containing a gist of your post rather than things like 'Help!!!' or even bad 'HELP ME PLEEEEEASE' </para>
+</listitem>
+
+<listitem>
+Top-posts <para>Do not "top-post" (reply to a message by adding text to the top of the message instead of below), as it loses the reader and the flow of the message and can annoy other readers. </para>
+</listitem>
+
+<listitem>
+Overquoting <para>If you are replying to another message, quote only the portions of that message that you are specifically responding to, and insert your comments after those quotes. Do not simply quote back the entire message! Trim off everything apart from the 2-3 most relevant lines of the original message.</para>
+
+<para>In general, your reply should contain at least as much text as the amount of text you are quoting, if not more. Never quote back dozens of lines of text and simply add a single line of text to the bottom - people will *hate* you for that!</para>
+</listitem>
+
+<listitem>
+HTML Messages <para>HTML is not email, and email doesn't contain HTML, so please turn HTML formatting OFF in your email client. Do not use italics, colors, bold, fonts, pictures, sounds, or other HTML elements. Providing HREF (link) elements is allowed. Please use only 7-bit text when sending email to the lists.</para>
+</listitem>
+
+<listitem>
+Message recycling <para>Do not start a New message or thread by hitting "Reply" in your mail client and changing the subject. When you do this, you mess up other participant's ability to read mail in a threaded fashion. When you mean to post a new message, use New, and when you want to reply to an existing message, hit Reply. </para>
+</listitem>
+
+<listitem>
+Pseudo-legal disclaimers <para>Do not attach obnoxious pseudo-legal, nonsensical disclaimers to your messages. People on open source lists do not like to be threatened with these. If your company insists on attaching such disclaimers to messages going out to mailing lists (where, by definition, the sender has *NO* control over who gets to see the message), then either use a webmail system, or just don't post.</para>
+</listitem>
+
+<listitem>
+Off-topic <para>Stay on-topic for the list. This isn't a good place to discuss automobiles, politics, music, or anything that is not related to Netfilter. Sometimes topics will diverge from the general discussion, but please try to keep it relevant to the list topic. Do not ask usage questions in the devel list, or vice versa</para>
+</listitem>
+
+<listitem>
+Message time and date <para>Please make sure the date and time on your computer is always current. When your date is set to something such as the year 2006, messages posted by you will get sorted based on that date, which may put them outside of the related month or year they belong in.</para>
+</listitem>
+
+</itemizedlist>
+
+</section>
+
<section id="ml-announce">
<title>The netfilter-announce mailinglist</title>
<para>
diff -urN homepage/xml/layout.xml homepage.new/xml/layout.xml
--- homepage/xml/layout.xml 2004-01-10 03:41:52.000000000 +0530
+++ homepage.new/xml/layout.xml 2004-01-28 10:18:32.527810288 +0530
@@ -111,6 +111,10 @@
<tocentry page="security/2003-08-01-nat-sack.xml" filename="2003-08-01-nat-sack.html"/>
</tocentry>
<tocentry page="contact.xml" filename="contact.html">
+ <tocentry id="list-rules" href="/contact.html#list-rules">
+ <title>The netfilter mailinglist rules</title>
+ <titleabbrev>List Rules</titleabbrev>
+ </tocentry>
<tocentry id="toc-contact-ml-announce" href="/contact.html#ml-announce">
<title>The netfilter announce mailinglist</title>
<titleabbrev>netfilter-announce list</titleabbrev>
^ permalink raw reply
* Re: RFC: Trailing blanks in source files
From: Pragnesh Sampat @ 2004-01-28 4:53 UTC (permalink / raw)
To: Randy.Dunlap; +Cc: jw schultz, linux-kernel, rv
In-Reply-To: <20040127195558.342dba6c.rddunlap@osdl.org>
> | > I frequently sneakily remove all newly-added trailing whitespace from the
> | > patches people send me. In 15 years it'll all be gone.
> |
> | This would maybe warrant a bk option to remove trailing
> | whitespace from modified lines. Preferably with an
> | notification that it is happening so if for some reason you
> | do want trailing whitespace you could abort or override.
> |
> | A patch filter that removed trailing whitespace from + lines
> | could also be used.
>
> AFAIK Andrew already uses a script to check for trailing spaces,
> and I do also. Yes, it could be modified to be a conversion filter,
> but it doesn't happen frequently, and when it does, I want to let
> the poster know about it, so I like to have the evidence handy. :)
Recent versions of emacs, for those that use it, have whitespace.el (for
cleaning up as you go along). It can cleanup different kinds of
whitespace based on settings. Check C-h f whitespace-describe for more
details. Got used to that heavily at one point, these days I am kind of
neutral, sometimes I do it, sometimes I don't bother.
-Pragnesh
^ permalink raw reply
* Re: [RFC/PATCH, 2/4] readX_check() performance evaluation
From: Paul Mackerras @ 2004-01-28 4:44 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Hironobu Ishii, linux-kernel, linux-ia64
In-Reply-To: <Pine.LNX.4.58.0401271847440.10794@home.osdl.org>
Linus Torvalds writes:
> Does anybody see any downsides to something like this?
Looks OK to me.
On pSeries (ppc64) machines, we don't get an asynchronous machine
check, but instead the read will return all 1s, and the system will
isolate the slot and arrange that all further reads return all 1s.
If you get all 1s back on a read, you are supposed to do a firmware
call to find out if there was actually an error.
With your design, I would make readX_check set a bit somewhere
(associated with the dev argument) if it saw all 1s, and then make
read_pcix_errors do the firmware call if the bit is set.
The only thing to be careful of is that drivers cope correctly with an
all-1s value returned. E.g. they shouldn't do:
while (readb_check(dev, offset) & BUSY)
udelay(1);
But of course they shouldn't do that anyway. :)
Paul.
^ permalink raw reply
* Re: virus warning
From: Nilesh @ 2004-01-28 4:46 UTC (permalink / raw)
To: Alexis; +Cc: netfilter
In-Reply-To: <002901c3e4d7$fb73fcd0$0200000a@heretic>
How do u add rule in iptable firewall for this
in my mail server there are two cards
eth0 for internet and eth1 for lan
please let me know ASAP
thanks
--- Alexis <alexis@attla.net.ar> wrote:
> In this case, we are protected !!!!!
>
> We are all using a firewall with netfilter and input
> policy drop
>
> :))))
>
>
>
> ----- Original Message -----
> From: "Fritz Mesedilla"
> <fritz.mesedilla@overturemedia.com>
> To: "Netfilter Mailing List (E-mail)"
> <netfilter@lists.netfilter.org>
> Sent: Tuesday, January 27, 2004 4:30 AM
> Subject: RE: virus warning
>
>
>
> I forgot to send the details.
>
>
> W32.Novarg.A@mm is a mass-mailing worm. The worm
> will arrive as an
> attachment with a file extension of .bat, .cmd,
> .exe, .pif, .scr, or .zip.
>
> When the machine gets infected, the worm will set up
> a backdoor into the
> system by opening TCP ports 3127 thru 3198. This
> will potentially allow a
> hacker to connect to the machine and utilize it as a
> proxy to gain access to
> it's network resources. In addition, the backdoor
> has the ability to
> download and execute arbitrary files.
>
> The worm will perform a DoS starting on February 1,
> 2004. On February 12,
> 2004 the worm has a trigger date to stop spreading.
>
>
>
http://securityresponse.symantec.com/avcenter/venc/data/w32.novarg.a@mm.html
>
>
>
> Cheers,
>
> fritz <www.mesedilla.com>
> ---
> + Basta Ikaw Lord
>
>
>
>
> -----Original Message-----
> From:
> Sent: Tuesday, January 27, 2004 2:45 PM
> To: Netfilter Mailing List (E-mail)
> Subject: Re: virus warning
>
>
>
> Obviously this is a really new one ... F-prot didn't
> catch it .. and mines
> up to date ...
> However ... since kmail and linux don't much like 7
> bit mime ... *grin*
>
> I'm handing this one up to the folks at F-Prot to
> see why they didn't catch
> it...
>
>
> Alistair.
>
> On January 27, 2004 12:44 am, Fritz Mesedilla wrote:
> > friends,
> >
> > we got a virus in our list.
> > clamav warned me about it.
> > it's now spreading like fire even on other lists.
> >
> > thought you might like to be warned.
> >
> >
> > Cheers,
> >
> > fritz <www.mesedilla.com>
> > ---
> > + Basta Ikaw Lord
> >
> >
> >
> >
> >
>
----------------------------------------------------------------------
> > This email and any files transmitted with it are
> confidential and
> > intended solely for the use of the individual or
> entity to whom they
> > are addressed. If you have received this email in
> error please notify
> > the sender immediately by e-mail and delete this
> e-mail from your
> > system. Please note that any views or opinions
> presented in this
> > email are solely those of the author and do not
> necessarily represent
> > those of the company. Finally, the recipient
> should check this email
> > and any attachments for the presence of viruses.
> The company accepts
> > no liability for any damage caused by any virus
> transmitted by this
> > email.
> >
> > Overture Media, Inc.
> > Direct Line: (632) 635-4785
> > Trunkline: (632) 631-8971 Local 146
> > Fax: (632) 637-2206
> > Level 1 Summit Media Offices, Robinsons Galleria
> EDSA Cor. Ortigas Ave.,
> > Quezon City 1100
>
>
>
----------------------------------------------------------------------
> This email and any files transmitted with it are
> confidential and
> intended solely for the use of the individual or
> entity to whom they
> are addressed. If you have received this email in
> error please notify
> the sender immediately by e-mail and delete this
> e-mail from your
> system. Please note that any views or opinions
> presented in this
> email are solely those of the author and do not
> necessarily represent
> those of the company. Finally, the recipient should
> check this email
> and any attachments for the presence of viruses. The
> company accepts
> no liability for any damage caused by any virus
> transmitted by this
> email.
>
> Overture Media, Inc.
> Direct Line: (632) 635-4785
> Trunkline: (632) 631-8971 Local 146
> Fax: (632) 637-2206
> Level 1 Summit Media Offices, Robinsons Galleria
> EDSA Cor. Ortigas Ave.,
> Quezon City 1100
>
>
>
>
>
__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free web site building tool. Try it!
http://webhosting.yahoo.com/ps/sb/
^ permalink raw reply
* Re: [RFC/PATCH, 2/4] readX_check() performance evaluation
From: Paul Mackerras @ 2004-01-28 4:44 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Hironobu Ishii, linux-kernel, linux-ia64
In-Reply-To: <Pine.LNX.4.58.0401271847440.10794@home.osdl.org>
Linus Torvalds writes:
> Does anybody see any downsides to something like this?
Looks OK to me.
On pSeries (ppc64) machines, we don't get an asynchronous machine
check, but instead the read will return all 1s, and the system will
isolate the slot and arrange that all further reads return all 1s.
If you get all 1s back on a read, you are supposed to do a firmware
call to find out if there was actually an error.
With your design, I would make readX_check set a bit somewhere
(associated with the dev argument) if it saw all 1s, and then make
read_pcix_errors do the firmware call if the bit is set.
The only thing to be careful of is that drivers cope correctly with an
all-1s value returned. E.g. they shouldn't do:
while (readb_check(dev, offset) & BUSY)
udelay(1);
But of course they shouldn't do that anyway. :)
Paul.
^ permalink raw reply
* Re: 2.6.2-rc2-bk1 oopses on boot (ACPI patch)
From: Dmitry Torokhov @ 2004-01-28 4:37 UTC (permalink / raw)
To: Andrew Morton, Alessandro Suardi; +Cc: linux-kernel, linux-acpi
In-Reply-To: <20040127184228.3a0b8a86.akpm@osdl.org>
On Tuesday 27 January 2004 09:42 pm, Andrew Morton wrote:
> Alessandro Suardi <alessandro.suardi@oracle.com> wrote:
> > Already reported, but I'll do so once again, since it looks like
> > in a short while I won't be able to boot official kernels in my
> > current config...
> >
> > Original report here:
> >
> > http://www.ussg.iu.edu/hypermail/linux/kernel/0312.3/0442.html
>
> Divide by zero. Looks like ACPI is now passing bad values into the
> frequency change notifier.
It is a common problem with Dell's DSDT implementation which does not
follow ACPI spec and it's been going on for ages. From the original
report:
cpufreq: CPU0 - ACPI performance management activated
cpufreq: *P0: 1Mhz, 0 mW, 0 uS
cpufreq: P1: 0Mhz, 0 mW, 0 uS
divide error: 0000 [#1]
As you can see all data is bogus... Patching DSDT cures it for sure,
sometimes CONFIG_ACPI_RELAXED_AML helps as well.
I suppose ACPI P-states driver could check frequencies/latencies and
refuse to activate if the are bogus.
--
Dmitry
^ permalink raw reply
* [linux-lvm] RE:LVM Snapshots for remote archiving.
From: C R Ritson @ 2004-01-28 4:35 UTC (permalink / raw)
To: linux-lvm
>I want to use 24-hour snap shots as an archival tool.
>I have 2 identical file servers, one primary and one as an off-site=20
>mirror. I'd like the primary system to generate a transaction
>log that=20
>rolls over every 24-hours and gets transmitted to the remote site.
I do something similar but with tapes, not a second server. Every
evening, about 15 minutes before the backups, I delete an old snapshot
and create a new one. As this snapshot is mounted and exported via NFS I
have to undo this first (which has caused slight problems,
occasionally). I then backup the newly created snapshot to tape using
amanda. Using the snapshot ensures that amanda and dump (even though
working at the block level) is guaranteed not to see a changing
filesystem, and the snapshot remains available for most of the next 24
hours for a user-initiated recovery of yesterday's version of a file.
Any longer than that, and we have to go to the tapes, but amanda's
indexing makes it quite easy to step back in time and see the filenames
that were previously on disk (though not change dates). Such as it is, I
can make the snapshot script available.
Chris Ritson (Computing Officer)
Rm 618, Claremont Bridge, EMAIL: C.R.Ritson@newcastle.ac.uk
School of Computing Science, PHONE: +44 191 222 8175
University of Newcastle, FAX : +44 191 222 8232
Newcastle on Tyne, UK NE1 7RU. http://www.cs.ncl.ac.uk/~c.r.ritson/
^ permalink raw reply
* Re: subject-prefixing of ml postings (was Re: A humble request)
From: Kiran Kumar @ 2004-01-28 4:33 UTC (permalink / raw)
To: Harald Welte, Zeeshan Ali; +Cc: netfilter-devel
In-Reply-To: <20040127105451.GF11761@sunbeam.de.gnumonks.org>
[-- Attachment #1: Type: text/plain, Size: 645 bytes --]
--- Harald Welte <laforge@netfilter.org> wrote:
> P.P.S.: Would anybody be willing to make a
> docbook-website XML document
> for our new homepage about 'how to use the
> netfilter/iptables
> mailinglists' with content like the above one? That
> would be really
> appreciated.
I have built up some content based on the rules of
another list that I am on (most of which are, I guess,
relevant here as well). The patch for the homepage
module of cvs is attached.
=====
Regards,
Kiran Kumar Immidi
__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free web site building tool. Try it!
http://webhosting.yahoo.com/ps/sb/
[-- Attachment #2: contact.patch --]
[-- Type: application/octet-stream, Size: 4450 bytes --]
diff -urN homepage/xml/contact.xml homepage.new/xml/contact.xml
--- homepage/xml/contact.xml 2004-01-17 18:59:07.000000000 +0530
+++ homepage.new/xml/contact.xml 2004-01-28 09:58:18.266406080 +0530
@@ -25,6 +25,52 @@
you will minimize the burden on the project members, and thus minimize the potential delay until you will receive a reply to your inquiry.
</para>
+<section id="list-rules">
+<title>Netfilter list rules</title>
+<para>
+You are strongly advised to go through these set of rules before posting to any
+of the netfilter lists.
+</para>
+<itemizedlist mark="bullet">
+
+<title>List Rules</title>
+
+<listitem>
+Subject Line <para>Make sure that your post contains a valid subject line containing a gist of your post rather than things like 'Help!!!' or even bad 'HELP ME PLEEEEEASE' </para>
+</listitem>
+
+<listitem>
+Top-posts <para>Do not "top-post" (reply to a message by adding text to the top of the message instead of below), as it loses the reader and the flow of the message and can annoy other readers. </para>
+</listitem>
+
+<listitem>
+Overquoting <para>If you are replying to another message, quote only the portions of that message that you are specifically responding to, and insert your comments after those quotes. Do not simply quote back the entire message! Trim off everything apart from the 2-3 most relevant lines of the original message.</para>
+
+<para>In general, your reply should contain at least as much text as the amount of text you are quoting, if not more. Never quote back dozens of lines of text and simply add a single line of text to the bottom - people will *hate* you for that!</para>
+</listitem>
+
+<listitem>
+HTML Messages <para>HTML is not email, and email doesn't contain HTML, so please turn HTML formatting OFF in your email client. Do not use italics, colors, bold, fonts, pictures, sounds, or other HTML elements. Providing HREF (link) elements is allowed. Please use only 7-bit text when sending email to the lists.</para>
+</listitem>
+
+<listitem>
+Message recycling <para>Do not start a New message or thread by hitting "Reply" in your mail client and changing the subject. When you do this, you mess up other participant's ability to read mail in a threaded fashion. When you mean to post a new message, use New, and when you want to reply to an existing message, hit Reply. </para>
+</listitem>
+
+<listitem>
+Pseudo-legal disclaimers <para>Do not attach obnoxious pseudo-legal, nonsensical disclaimers to your messages. People on open source lists do not like to be threatened with these. If your company insists on attaching such disclaimers to messages going out to mailing lists (where, by definition, the sender has *NO* control over who gets to see the message), then either use a webmail system, or just don't post.</para>
+</listitem>
+
+<listitem>
+Off-topic <para>Stay on-topic for the list. This isn't a good place to discuss automobiles, politics, music, or anything that is not related to Netfilter. Sometimes topics will diverge from the general discussion, but please try to keep it relevant to the list topic. Do not ask usage questions in the devel list, or vice versa</para>
+</listitem>
+
+<listitem>
+Message time and date <para>Please make sure the date and time on your computer is always current. When your date is set to something such as the year 2006, messages posted by you will get sorted based on that date, which may put them outside of the related month or year they belong in.</para>
+</listitem>
+
+</itemizedlist>
+
<section id="ml-announce">
<title>The netfilter-announce mailinglist</title>
<para>
diff -urN homepage/xml/layout.xml homepage.new/xml/layout.xml
--- homepage/xml/layout.xml 2004-01-10 03:41:52.000000000 +0530
+++ homepage.new/xml/layout.xml 2004-01-28 09:57:09.691831000 +0530
@@ -111,6 +111,10 @@
<tocentry page="security/2003-08-01-nat-sack.xml" filename="2003-08-01-nat-sack.html"/>
</tocentry>
<tocentry page="contact.xml" filename="contact.html">
+ <tocentry id="list-rules" href="/contact.html#list-rules">
+ <title>The netfilter mailinglist rules</title>
+ <titleabbrev>List Rules</titleabbrev>
+ </tocentry>
<tocentry id="toc-contact-ml-announce" href="/contact.html#ml-announce">
<title>The netfilter announce mailinglist</title>
<titleabbrev>netfilter-announce list</titleabbrev>
^ permalink raw reply
* PROBLEM: CPU lockup during halt for Shuttle SB61G2 p4 with hyperthreading 2.4.24
From: Tom Epperly @ 2004-01-28 4:26 UTC (permalink / raw)
To: linux-smp
[1.] CPU lockup during halt for Shuttle SB61G2 p4 with hyperthreading
[2.] Full description
I've got a Shuttle SB61G2 purchased 12/31/03 with a 2.6GHz P4 with
hyperthreading. Sometimes when shutting down, I get the "Power down."
message, but it doesn't actually power down the system. It just sits
there indefinitely. I tried enabling nmi_watchdog=1, and I
intermittently get kernel oopses. I only started having problems when I
compiled the kernel with SMP enabled. A non-SMP kernel never locks up.
I transcribed the oops message from my screen and ran ksymoops on it. I
am running a vanilla 2.4.24 downloaded from kernel.org compiled with
gcc-2.95.
Please Cc me on replies as I am not subscribed to linux-smp.
[3.] Keywords: Lockup SMP
[4.] Linux version 2.4.24-vanilla (root@faerun) (gcc version 2.95.4
20011002 (Debian prerelease)) #3 SMP Fri Jan 16 07:30:34 PST 2004
[5.]
I had to write this on paper and then type it in by hand. I was very
careful, but transcription errors are always a possibility:
ksymoops 2.4.9 on i686 2.4.24-vanilla. Options used
-V (default)
-k /proc/ksyms (default)
-l /proc/modules (default)
-o /lib/modules/2.4.24-vanilla/ (default)
-m /boot/System.map-2.4.24-vanilla (default)
Warning: You did not tell me where to find symbol information. I will
assume that the log matches the kernel and modules that are running
right now and I'll use the default options above for symbol resolution.
If the current kernel and/or modules do not match the log, you can get
more accurate output by telling me the kernel version and where to find
map, modules, ksyms etc. ksymoops -h explains the options.
Error (regular_file): read_system_map stat
/boot/System.map-2.4.24-vanilla failed
ksymoops: No such file or directory
Warning (compare_maps): mismatch on symbol _nv000173rm , nvidia says
f8e4bb20, /lib/modules/2.4.24-vanilla/kernel/drivers/video/nvidia.o says
f8e4b900. Ignoring
/lib/modules/2.4.24-vanilla/kernel/drivers/video/nvidia.o entry
NMI Watchdog detected LOCKUP on CPU1, eip c01a6757, registers:
EIP: 0010: [<c01a6757>] Tainted: P
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00000046
eax: 00000011 ebx: f7cc9e48 ecx: f7cc9e48 edx: 00000400
esi: 00000010 edi: 00000000 ebp: bffffbc8 esp: f7cc9e08
ds: 0018 es: 0018 ss: 0018
Process halt (pid: 1220, stackpage=f7cc9000)
Stack: 00000018 c01b29cb 00000400 f7cc9e48 00000010 00002001 c02e5e18
00000011
c02e5e18 c01b26d7 00000010 f7cc9e48 c1c32114 00002001 00000000
00000000
00000000 c01b24b9 00000000 00000001 f7cc9e68 00002001 c02e5e40
c02e5e40
Call Trace: [<c01b29cb>] [<c01b26d7>] [<c01b24b9>] [<c01b2d5e>]
[<c01c1394>]
[<c0105523>] [<c012487d>] [<c0122d8a>] [<c0122e11>] [<c01231067>]
[<c01239a5>]
[<c0141864>] [<c014954d>] [<c0106f27>]
Code: 66 89 01 eb 11 eb 11 8d 74 26 00 ed 89 01 eb 08 0f 0b 4f 01 ec ff
>>EIP; c01a6757 <acpi_os_stall_R__ver_acpi_os_stall+67/17c> <=====
>>ebx; f7cc9e48 <_end+3794bfe4/385cf1fc>
>>ecx; f7cc9e48 <_end+3794bfe4/385cf1fc>
>>esp; f7cc9e08 <_end+3794bfa4/385cf1fc>
Trace; c01b29cb <acpi_set_register_R__ver_acpi_set_register+4db/6cc>
Trace; c01b26d7 <acpi_set_register_R__ver_acpi_set_register+1e7/6cc>
Trace; c01b24b9 <acpi_get_register_R__ver_acpi_get_register+51/88>
Trace; c01b2d5e
<acpi_enter_sleep_state_R__ver_acpi_enter_sleep_state+1a2/1bc>
Trace; c01c1394
<acpi_pci_irq_enable_R__ver_acpi_pci_irq_enable+bb4/2868>
Trace; c0105523 <machine_power_off+b/314>
Trace; c012487d <unregister_reboot_notifier+365/11a4>
Trace; c0122d8a <dequeue_signal+432/438>
Trace; c0122e11 <send_sig_info+81/98>
Trace; c01231067 <END_OF_CODE+b083c2710/????>
Trace; c01239a5 <notify_parent+685/edc>
Trace; c0141864 <blkdev_put+148/154>
Trace; c014954d <kill_fasync+4f5/528>
Trace; c0106f27 <__read_lock_failed+115f/1520>
Code; c01a6757 <acpi_os_stall_R__ver_acpi_os_stall+67/17c>
00000000 <_EIP>:
Code; c01a6757 <acpi_os_stall_R__ver_acpi_os_stall+67/17c> <=====
0: 66 89 01 mov %ax,(%ecx) <=====
Code; c01a675a <acpi_os_stall_R__ver_acpi_os_stall+6a/17c>
3: eb 11 jmp 16 <_EIP+0x16>
Code; c01a675c <acpi_os_stall_R__ver_acpi_os_stall+6c/17c>
5: eb 11 jmp 18 <_EIP+0x18>
Code; c01a675e <acpi_os_stall_R__ver_acpi_os_stall+6e/17c>
7: 8d 74 26 00 lea 0x0(%esi,1),%esi
Code; c01a6762 <acpi_os_stall_R__ver_acpi_os_stall+72/17c>
b: ed in (%dx),%eax
Code; c01a6763 <acpi_os_stall_R__ver_acpi_os_stall+73/17c>
c: 89 01 mov %eax,(%ecx)
Code; c01a6765 <acpi_os_stall_R__ver_acpi_os_stall+75/17c>
e: eb 08 jmp 18 <_EIP+0x18>
Code; c01a6767 <acpi_os_stall_R__ver_acpi_os_stall+77/17c>
10: 0f 0b ud2a
Code; c01a6769 <acpi_os_stall_R__ver_acpi_os_stall+79/17c>
12: 4f dec %edi
Code; c01a676a <acpi_os_stall_R__ver_acpi_os_stall+7a/17c>
13: 01 ec add %ebp,%esp
Code; c01a676c <acpi_os_stall_R__ver_acpi_os_stall+7c/17c>
15: ff 00 incl (%eax)
2 warnings and 1 error issued. Results may not be reliable.
[6.]
I booted my machine. gdm (X11) fires up using nVidia drivers. Choose
shutdown from gdm menu. Oops. It happens every once in a while when I
shutdown.
[7.]
[7.1]
faerun:/usr/src/linux-2.4.24# sh scripts/ver_linux
If some fields are empty or look unusual you may have an old version.
Compare to the current minimal requirements in Documentation/Changes.
Linux faerun 2.4.24-vanilla #3 SMP Fri Jan 16 07:30:34 PST 2004 i686
GNU/Linux
Gnu C 3.3.3
Gnu make 3.80
util-linux 2.12
mount 2.12
modutils 2.4.26
e2fsprogs 1.35-WIP
PPP 2.4.2
Linux C Library 2.3.2
Dynamic linker (ldd) 2.3.2
Procps 3.1.15
Net-tools 1.60
Console-tools 0.2.3
Sh-utils 5.0.91
Modules Loaded nvidia joydev mousedev hid input binfmt_misc uhci
ide-scsi scsi_mod it87 i2c-proc i2c-isa i2c-core v_midi sound i810_audio
ehci-hcd
I used "make CC=gcc-2.95 HOSTCC=gcc-2.95" when compiling the kernel and
its modules.
faerun:/usr/src/linux-2.4.24#
[7.2.]
faerun:/usr/src/linux-2.4.24# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 2
model name : Intel(R) Pentium(R) 4 CPU 2.60GHz
stepping : 9
cpu MHz : 2605.987
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe cid
bogomips : 5203.55
processor : 1
vendor_id : GenuineIntel
cpu family : 15
model : 2
model name : Intel(R) Pentium(R) 4 CPU 2.60GHz
stepping : 9
cpu MHz : 2605.987
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe cid
bogomips : 5203.55
Intel 865G chipset
faerun:/usr/src/linux-2.4.24#
[7.3.]
faerun:/usr/src/linux-2.4.24# cat /proc/modules
nvidia 1969376 14 (autoclean)
joydev 7104 0 (unused)
mousedev 3864 1
hid 13864 0 (unused)
input 3456 0 [joydev mousedev hid]
binfmt_misc 5896 1
uhci 24752 0 (unused)
ide-scsi 8976 0
scsi_mod 87496 1 [ide-scsi]
it87 9768 0 (unused)
i2c-proc 5972 0 [it87]
i2c-isa 788 0 (unused)
i2c-core 14788 0 [it87 i2c-proc i2c-isa]
v_midi 4996 0 (unused)
sound 56428 0 [v_midi]
i810_audio 24312 1
ehci-hcd 15880 0 (unused)
faerun:/usr/src/linux-2.4.24#
[7.4.]
faerun:/usr/src/linux-2.4.24# cat /proc/ioports
0000-001f : dma1
0020-003f : pic1
0040-005f : timer
0060-006f : keyboard
0070-007f : rtc
0080-008f : dma page reg
00a0-00bf : pic2
00c0-00df : dma2
00f0-00ff : fpu
0170-0177 : ide1
01f0-01f7 : ide0
0290-0297 : it87
0376-0376 : ide1
03c0-03df : vga+
03f6-03f6 : ide0
03f8-03ff : serial(set)
0500-051f : Intel Corp. 82801EB SMBus Controller
0cf8-0cff : PCI conf1
9000-90ff : Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+
9000-90ff : 8139too
9400-947f : VIA Technologies, Inc. IEEE 1394 Host Controller
a000-a01f : Intel Corp. 82801EB USB
a000-a01f : usb-uhci
a400-a41f : Intel Corp. 82801EB USB
a400-a41f : usb-uhci
a800-a81f : Intel Corp. 82801EB USB
a800-a81f : usb-uhci
ac00-ac1f : Intel Corp. 82801EB USB
ac00-ac1f : usb-uhci
b400-b4ff : Intel Corp. 82801EB AC'97 Audio Controller
b400-b4ff : Intel ICH5
b800-b83f : Intel Corp. 82801EB AC'97 Audio Controller
b800-b83f : Intel ICH5
f000-f00f : Intel Corp. 82801EB Ultra ATA Storage Controller
f000-f007 : ide0
f008-f00f : ide1
faerun:/usr/src/linux-2.4.24# cat /proc/iomem
00000000-0009f7ff : System RAM
0009f800-0009ffff : reserved
000a0000-000bffff : Video RAM area
000c0000-000c7fff : Video ROM
000f0000-000fffff : System ROM
00100000-3ffeffff : System RAM
00100000-00281001 : Kernel code
00281002-0031e83f : Kernel data
3fff0000-3fff2fff : ACPI Non-volatile Storage
3fff3000-3fffffff : ACPI Tables
40000000-400003ff : Intel Corp. 82801EB Ultra ATA Storage Controller
e8000000-efffffff : PCI Bus #01
e8000000-efffffff : PCI device 10de:0322 (nVidia Corporation)
f0000000-f3ffffff : Intel Corp. 82865G/PE/P Processor to I/O Controller
f4000000-f5ffffff : PCI Bus #01
f4000000-f4ffffff : PCI device 10de:0322 (nVidia Corporation)
f7000000-f70000ff : Realtek Semiconductor Co., Ltd.
RTL-8139/8139C/8139C+
f7000000-f70000ff : 8139too
f7001000-f70017ff : VIA Technologies, Inc. IEEE 1394 Host Controller
f8000000-f80003ff : Intel Corp. 82801EB USB2
f8000000-f80003ff : ehci_hcd
f8001000-f80011ff : Intel Corp. 82801EB AC'97 Audio Controller
f8001000-f80011ff : ich_audio MMBAR
f8002000-f80020ff : Intel Corp. 82801EB AC'97 Audio Controller
f8002000-f80020ff : ich_audio MBBAR
fec00000-ffffffff : reserved
faerun:/usr/src/linux-2.4.24#
[7.5.]
faerun:/usr/src/linux-2.4.24# lspci -vvv
00:00.0 Host bridge: Intel Corp. 82865G/PE/P Processor to I/O Controller
(rev 02)
Subsystem: Holco Enterprise Co, Ltd/Shuttle Computer: Unknown
device fb61
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort+ >SERR- <PERR-
Latency: 0
Region 0: Memory at f0000000 (32-bit, prefetchable) [size=64M]
Capabilities: [e4] #09 [0106]
Capabilities: [a0] AGP version 3.0
Status: RQ=32 Iso- ArqSz=2 Cal=2 SBA+ ITACoh- GART64-
HTrans- 64bit- FW+ AGP3+ Rate=x4,x8
Command: RQ=1 ArqSz=0 Cal=2 SBA+ AGP+ GART64- 64bit- FW-
Rate=x8
00:01.0 PCI bridge: Intel Corp. 82865G/PE/P Processor to AGP Controller
(rev 02) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR+ FastB2B-
Status: Cap- 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 64
Bus: primary=00, secondary=01, subordinate=01, sec-latency=32
I/O behind bridge: 0000f000-00000fff
Memory behind bridge: f4000000-f5ffffff
Prefetchable memory behind bridge: e8000000-efffffff
BridgeCtl: Parity- SERR- NoISA+ VGA+ MAbort- >Reset- FastB2B-
00:1d.0 USB Controller: Intel Corp. 82801EB USB (rev 02) (prog-if 00
[UHCI])
Subsystem: Holco Enterprise Co, Ltd/Shuttle Computer: Unknown
device fb61
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin A routed to IRQ 16
Region 4: I/O ports at ac00 [size=32]
00:1d.1 USB Controller: Intel Corp. 82801EB USB (rev 02) (prog-if 00
[UHCI])
Subsystem: Holco Enterprise Co, Ltd/Shuttle Computer: Unknown
device fb61
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin B routed to IRQ 19
Region 4: I/O ports at a000 [size=32]
00:1d.2 USB Controller: Intel Corp. 82801EB USB (rev 02) (prog-if 00
[UHCI])
Subsystem: Holco Enterprise Co, Ltd/Shuttle Computer: Unknown
device fb61
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin C routed to IRQ 18
Region 4: I/O ports at a400 [size=32]
00:1d.3 USB Controller: Intel Corp. 82801EB USB (rev 02) (prog-if 00
[UHCI])
Subsystem: Holco Enterprise Co, Ltd/Shuttle Computer: Unknown
device fb61
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin A routed to IRQ 16
Region 4: I/O ports at a800 [size=32]
00:1d.7 USB Controller: Intel Corp. 82801EB USB2 (rev 02) (prog-if 20
[EHCI])
Subsystem: Holco Enterprise Co, Ltd/Shuttle Computer: Unknown
device fb61
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin D routed to IRQ 23
Region 0: Memory at f8000000 (32-bit, non-prefetchable)
[size=1K]
Capabilities: [50] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA
PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
00:1e.0 PCI bridge: Intel Corp. 82801BA/CA/DB/EB PCI Bridge (rev c2)
(prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR+ FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Bus: primary=00, secondary=02, subordinate=02, sec-latency=32
I/O behind bridge: 00009000-00009fff
Memory behind bridge: f6000000-f7ffffff
Prefetchable memory behind bridge: fff00000-000fffff
BridgeCtl: Parity- SERR+ NoISA+ VGA- MAbort- >Reset- FastB2B-
00:1f.0 ISA bridge: Intel Corp. 82801EB LPC Interface Controller (rev
02)
Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0
00:1f.1 IDE interface: Intel Corp. 82801EB Ultra ATA Storage Controller
(rev 02) (prog-if 8a [Master SecP PriP])
Subsystem: Holco Enterprise Co, Ltd/Shuttle Computer: Unknown
device fb61
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin A routed to IRQ 18
Region 0: I/O ports at <unassigned>
Region 1: I/O ports at <unassigned>
Region 2: I/O ports at <unassigned>
Region 3: I/O ports at <unassigned>
Region 4: I/O ports at f000 [size=16]
Region 5: Memory at 40000000 (32-bit, non-prefetchable)
[size=1K]
00:1f.3 SMBus: Intel Corp. 82801EB SMBus Controller (rev 02)
Subsystem: Holco Enterprise Co, Ltd/Shuttle Computer: Unknown
device fb61
Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Interrupt: pin B routed to IRQ 17
Region 4: I/O ports at 0500 [size=32]
00:1f.5 Multimedia audio controller: Intel Corp. 82801EB AC'97 Audio
Controller (rev 02)
Subsystem: Holco Enterprise Co, Ltd/Shuttle Computer: Unknown
device c09d
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin B routed to IRQ 17
Region 0: I/O ports at b400 [size=256]
Region 1: I/O ports at b800 [size=64]
Region 2: Memory at f8001000 (32-bit, non-prefetchable)
[size=512]
Region 3: Memory at f8002000 (32-bit, non-prefetchable)
[size=256]
Capabilities: [50] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA
PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
01:00.0 VGA compatible controller: nVidia Corporation NV34 [GeForce FX
5200] (rev a1) (prog-if 00 [VGA])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 248 (1250ns min, 250ns max)
Interrupt: pin A routed to IRQ 16
Region 0: Memory at f4000000 (32-bit, non-prefetchable)
[size=16M]
Region 1: Memory at e8000000 (32-bit, prefetchable) [size=128M]
Expansion ROM at <unassigned> [disabled] [size=128K]
Capabilities: [60] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [44] AGP version 3.0
Status: RQ=32 Iso- ArqSz=0 Cal=3 SBA+ ITACoh- GART64-
HTrans- 64bit- FW+ AGP3+ Rate=x4,x8
Command: RQ=32 ArqSz=2 Cal=0 SBA+ AGP+ GART64- 64bit-
FW- Rate=x8
02:06.0 Ethernet controller: Realtek Semiconductor Co., Ltd.
RTL-8139/8139C/8139C+ (rev 10)
Subsystem: Realtek Semiconductor Co., Ltd. RT8139
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (8000ns min, 16000ns max)
Interrupt: pin A routed to IRQ 18
Region 0: I/O ports at 9000 [size=256]
Region 1: Memory at f7000000 (32-bit, non-prefetchable)
[size=256]
Expansion ROM at <unassigned> [disabled] [size=64K]
Capabilities: [50] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA
PME(D0-,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
02:08.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host
Controller (rev 80) (prog-if 10 [OHCI])
Subsystem: VIA Technologies, Inc. IEEE 1394 Host Controller
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (8000ns max), Cache Line Size: 0x08 (32 bytes)
Interrupt: pin A routed to IRQ 20
Region 0: Memory at f7001000 (32-bit, non-prefetchable)
[size=2K]
Region 1: I/O ports at 9400 [size=128]
Capabilities: [50] Power Management version 2
Flags: PMEClk- DSI- D1- D2+ AuxCurrent=0mA
PME(D0-,D1-,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
faerun:/usr/src/linux-2.4.24#
[7.6.]
faerun:/usr/src/linux-2.4.24# cat /proc/scsi/scsi
Attached devices: none
[7.7.]
faerun:/usr/src/linux-2.4.24# cat /proc/acpi/info
version: 20031002
states: S0 S1 S4 S5
faerun:/usr/src/linux-2.4.24# cat /proc/acpi/alarm
2004-01-27 11:00:10
--
Tom Epperly <tomepperly@comcast.net>
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
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.