* [PATCH 1/6] powerpc/book3e: support CONFIG_RELOCATABLE
From: Tiejun Chen @ 2012-11-15 9:39 UTC (permalink / raw)
To: benh; +Cc: linuxppc-dev, linux-kernel
In-Reply-To: <1352972396-13489-1-git-send-email-tiejun.chen@windriver.com>
book3e is different with book3s since 3s includes the exception
vectors code in head_64.S as it relies on absolute addressing
which is only possible within this compilation unit. So we have
to get that label address with got.
And when boot a relocated kernel, we should reset ipvr properly again
after .relocate.
Signed-off-by: Tiejun Chen <tiejun.chen@windriver.com>
---
arch/powerpc/include/asm/exception-64e.h | 8 ++++++++
arch/powerpc/kernel/exceptions-64e.S | 15 ++++++++++++++-
arch/powerpc/kernel/head_64.S | 22 ++++++++++++++++++++++
arch/powerpc/lib/feature-fixups.c | 7 +++++++
4 files changed, 51 insertions(+), 1 deletion(-)
diff --git a/arch/powerpc/include/asm/exception-64e.h b/arch/powerpc/include/asm/exception-64e.h
index 51fa43e..89e940d 100644
--- a/arch/powerpc/include/asm/exception-64e.h
+++ b/arch/powerpc/include/asm/exception-64e.h
@@ -214,10 +214,18 @@ exc_##label##_book3e:
#define TLB_MISS_STATS_SAVE_INFO_BOLTED
#endif
+#ifndef CONFIG_RELOCATABLE
#define SET_IVOR(vector_number, vector_offset) \
li r3,vector_offset@l; \
ori r3,r3,interrupt_base_book3e@l; \
mtspr SPRN_IVOR##vector_number,r3;
+#else
+#define SET_IVOR(vector_number, vector_offset) \
+ LOAD_REG_ADDR(r3,interrupt_base_book3e);\
+ rlwinm r3,r3,0,15,0; \
+ ori r3,r3,vector_offset@l; \
+ mtspr SPRN_IVOR##vector_number,r3;
+#endif
#endif /* _ASM_POWERPC_EXCEPTION_64E_H */
diff --git a/arch/powerpc/kernel/exceptions-64e.S b/arch/powerpc/kernel/exceptions-64e.S
index 4e7083e..82be30b 100644
--- a/arch/powerpc/kernel/exceptions-64e.S
+++ b/arch/powerpc/kernel/exceptions-64e.S
@@ -1104,7 +1104,15 @@ skpinv: addi r6,r6,1 /* Increment */
* r4 = MAS0 w/TLBSEL & ESEL for the temp mapping
*/
/* Now we branch the new virtual address mapped by this entry */
+#ifdef CONFIG_RELOCATABLE
+ /* We have to find out address from lr. */
+ bl 1f /* Find our address */
+1: mflr r6
+ addi r6,r6,(2f - 1b)
+ tovirt(r6,r6)
+#else
LOAD_REG_IMMEDIATE(r6,2f)
+#endif
lis r7,MSR_KERNEL@h
ori r7,r7,MSR_KERNEL@l
mtspr SPRN_SRR0,r6
@@ -1355,9 +1363,14 @@ _GLOBAL(book3e_secondary_thread_init)
mflr r28
b 3b
-_STATIC(init_core_book3e)
+_GLOBAL(init_core_book3e)
/* Establish the interrupt vector base */
+#ifdef CONFIG_RELOCATABLE
+ tovirt(r2,r2)
+ LOAD_REG_ADDR(r3, interrupt_base_book3e)
+#else
LOAD_REG_IMMEDIATE(r3, interrupt_base_book3e)
+#endif
mtspr SPRN_IVPR,r3
sync
blr
diff --git a/arch/powerpc/kernel/head_64.S b/arch/powerpc/kernel/head_64.S
index 9e07bd0..aa7df52 100644
--- a/arch/powerpc/kernel/head_64.S
+++ b/arch/powerpc/kernel/head_64.S
@@ -395,12 +395,22 @@ _STATIC(__after_prom_start)
/* process relocations for the final address of the kernel */
lis r25,PAGE_OFFSET@highest /* compute virtual base of kernel */
sldi r25,r25,32
+#if defined(CONFIG_PPC_BOOK3E)
+ tovirt(r26,r26) /* on booke, we already run at PAGE_OFFSET */
+#endif
lwz r7,__run_at_load-_stext(r26)
+#if defined(CONFIG_PPC_BOOK3E)
+ tophys(r26,r26) /* Restore for the remains. */
+#endif
cmplwi cr0,r7,1 /* flagged to stay where we are ? */
bne 1f
add r25,r25,r26
1: mr r3,r25
bl .relocate
+#if defined(CONFIG_PPC_BOOK3E)
+ /* We should set ivpr again after .relocate. */
+ bl .init_core_book3e
+#endif
#endif
/*
@@ -428,11 +438,23 @@ _STATIC(__after_prom_start)
* variable __run_at_load, if it is set the kernel is treated as relocatable
* kernel, otherwise it will be moved to PHYSICAL_START
*/
+#if defined(CONFIG_PPC_BOOK3E)
+ tovirt(r26,r26) /* on booke, we already run at PAGE_OFFSET */
+#endif
lwz r7,__run_at_load-_stext(r26)
+#if defined(CONFIG_PPC_BOOK3E)
+ tophys(r26,r26) /* Restore for the remains. */
+#endif
cmplwi cr0,r7,1
bne 3f
+#ifdef CONFIG_PPC_BOOK3E
+ LOAD_REG_ADDR(r5, interrupt_end_book3e)
+ LOAD_REG_ADDR(r11, _stext)
+ sub r5,r5,r11
+#else
li r5,__end_interrupts - _stext /* just copy interrupts */
+#endif
b 5f
3:
#endif
diff --git a/arch/powerpc/lib/feature-fixups.c b/arch/powerpc/lib/feature-fixups.c
index 7a8a748..13f20ed 100644
--- a/arch/powerpc/lib/feature-fixups.c
+++ b/arch/powerpc/lib/feature-fixups.c
@@ -135,13 +135,20 @@ void do_final_fixups(void)
#if defined(CONFIG_PPC64) && defined(CONFIG_RELOCATABLE)
int *src, *dest;
unsigned long length;
+#ifdef CONFIG_PPC_BOOK3E
+ extern char interrupt_end_book3e[];
+#endif
if (PHYSICAL_START == 0)
return;
src = (int *)(KERNELBASE + PHYSICAL_START);
dest = (int *)KERNELBASE;
+#ifdef CONFIG_PPC_BOOK3E
+ length = (interrupt_end_book3e - _stext) / sizeof(int);
+#else
length = (__end_interrupts - _stext) / sizeof(int);
+#endif
while (length--) {
patch_instruction(dest, *src);
--
1.7.9.5
^ permalink raw reply related
* [PATCH 3/6] book3e/kexec/kdump: create a 1:1 TLB mapping
From: Tiejun Chen @ 2012-11-15 9:39 UTC (permalink / raw)
To: benh; +Cc: linuxppc-dev, linux-kernel
In-Reply-To: <1352972396-13489-1-git-send-email-tiejun.chen@windriver.com>
book3e have no real MMU mode so we have to create a 1:1 TLB
mapping to make sure we can access the real physical address.
And correct something to support this pseudo real mode on book3e.
Signed-off-by: Tiejun Chen <tiejun.chen@windriver.com>
---
arch/powerpc/kernel/head_64.S | 9 ++++---
arch/powerpc/kernel/misc_64.S | 55 ++++++++++++++++++++++++++++++++++++++++-
2 files changed, 60 insertions(+), 4 deletions(-)
diff --git a/arch/powerpc/kernel/head_64.S b/arch/powerpc/kernel/head_64.S
index aa7df52..d51ffc0 100644
--- a/arch/powerpc/kernel/head_64.S
+++ b/arch/powerpc/kernel/head_64.S
@@ -425,12 +425,12 @@ _STATIC(__after_prom_start)
tovirt(r3,r3) /* on booke, we already run at PAGE_OFFSET */
#endif
mr. r4,r26 /* In some cases the loader may */
+#if defined(CONFIG_PPC_BOOK3E)
+ tovirt(r4,r4)
+#endif
beq 9f /* have already put us at zero */
li r6,0x100 /* Start offset, the first 0x100 */
/* bytes were copied earlier. */
-#ifdef CONFIG_PPC_BOOK3E
- tovirt(r6,r6) /* on booke, we already run at PAGE_OFFSET */
-#endif
#ifdef CONFIG_RELOCATABLE
/*
@@ -472,6 +472,9 @@ _STATIC(__after_prom_start)
p_end: .llong _end - _stext
4: /* Now copy the rest of the kernel up to _end */
+#if defined(CONFIG_PPC_BOOK3E)
+ tovirt(r26,r26)
+#endif
addis r5,r26,(p_end - _stext)@ha
ld r5,(p_end - _stext)@l(r5) /* get _end */
5: bl .copy_and_flush /* copy the rest */
diff --git a/arch/powerpc/kernel/misc_64.S b/arch/powerpc/kernel/misc_64.S
index c2acf8c..ffe6043 100644
--- a/arch/powerpc/kernel/misc_64.S
+++ b/arch/powerpc/kernel/misc_64.S
@@ -449,6 +449,49 @@ kexec_flag:
#ifdef CONFIG_KEXEC
+#ifdef CONFIG_PPC_BOOK3E
+/* BOOK3E have no a real MMU mode so we have to setup the initial TLB
+ * for a core to map v:0 to p:0 as 1:1. This current implementation
+ * assume that 1G is enough for kexec.
+ */
+#include <asm/mmu.h>
+kexec_create_tlb:
+ /* Invalidate all TLBs to avoid any TLB conflict. */
+ PPC_TLBILX_ALL(0,R0)
+ sync
+ isync
+
+ mfspr r10,SPRN_TLB1CFG
+ andi. r10,r10,TLBnCFG_N_ENTRY /* Extract # entries */
+ subi r10,r10,1 /* Often its always safe to use last */
+ lis r9,MAS0_TLBSEL(1)@h
+ rlwimi r9,r10,16,4,15 /* Setup MAS0 = TLBSEL | ESEL(r9) */
+
+/* Setup a temp mapping v:0 to p:0 as 1:1 and return to it.
+ */
+#ifdef CONFIG_SMP
+#define M_IF_SMP MAS2_M
+#else
+#define M_IF_SMP 0
+#endif
+ mtspr SPRN_MAS0,r9
+
+ lis r9,(MAS1_VALID|MAS1_IPROT)@h
+ ori r9,r9,(MAS1_TSIZE(BOOK3E_PAGESZ_1GB))@l
+ mtspr SPRN_MAS1,r9
+
+ LOAD_REG_IMMEDIATE(r9, 0x0 | M_IF_SMP)
+ mtspr SPRN_MAS2,r9
+
+ LOAD_REG_IMMEDIATE(r9, 0x0 | MAS3_SR | MAS3_SW | MAS3_SX)
+ mtspr SPRN_MAS3,r9
+ li r9,0
+ mtspr SPRN_MAS7,r9
+
+ tlbwe
+ isync
+ blr
+#endif
/* kexec_smp_wait(void)
*
@@ -462,6 +505,10 @@ kexec_flag:
*/
_GLOBAL(kexec_smp_wait)
lhz r3,PACAHWCPUID(r13)
+#ifdef CONFIG_PPC_BOOK3E
+ /* Create a 1:1 mapping. */
+ bl kexec_create_tlb
+#endif
bl real_mode
li r4,KEXEC_STATE_REAL_MODE
@@ -478,6 +525,7 @@ _GLOBAL(kexec_smp_wait)
* don't overwrite r3 here, it is live for kexec_wait above.
*/
real_mode: /* assume normal blr return */
+#ifndef CONFIG_PPC_BOOK3E
1: li r9,MSR_RI
li r10,MSR_DR|MSR_IR
mflr r11 /* return address to SRR0 */
@@ -489,7 +537,10 @@ real_mode: /* assume normal blr return */
mtspr SPRN_SRR1,r10
mtspr SPRN_SRR0,r11
rfid
-
+#else
+ /* the real mode is nothing for book3e. */
+ blr
+#endif
/*
* kexec_sequence(newstack, start, image, control, clear_all())
@@ -538,6 +589,8 @@ _GLOBAL(kexec_sequence)
mtmsrd r3,1
#else
wrteei 0
+ /* Create a 1:1 mapping. */
+ bl kexec_create_tlb
#endif
/* copy dest pages, flush whole dest image */
--
1.7.9.5
^ permalink raw reply related
* [PATCH 4/6] book3e/kexec/kdump: introduce a kexec kernel flag
From: Tiejun Chen @ 2012-11-15 9:39 UTC (permalink / raw)
To: benh; +Cc: linuxppc-dev, linux-kernel
In-Reply-To: <1352972396-13489-1-git-send-email-tiejun.chen@windriver.com>
We need to introduce a flag to indicate we're already running
a kexec kernel then we can go proper path. For example, We
shouldn't access spin_table from the bootloader to up any secondary
cpu for kexec kernel, and kexec kernel already know how to jump to
generic_secondary_smp_init.
Signed-off-by: Tiejun Chen <tiejun.chen@windriver.com>
---
arch/powerpc/include/asm/smp.h | 3 +++
arch/powerpc/kernel/head_64.S | 12 ++++++++++++
arch/powerpc/kernel/misc_64.S | 6 ++++++
arch/powerpc/platforms/85xx/smp.c | 14 ++++++++++++++
4 files changed, 35 insertions(+)
diff --git a/arch/powerpc/include/asm/smp.h b/arch/powerpc/include/asm/smp.h
index e807e9d..aadbe9b 100644
--- a/arch/powerpc/include/asm/smp.h
+++ b/arch/powerpc/include/asm/smp.h
@@ -190,6 +190,9 @@ extern void generic_secondary_thread_init(void);
extern unsigned long __secondary_hold_spinloop;
extern unsigned long __secondary_hold_acknowledge;
extern char __secondary_hold;
+#ifdef CONFIG_KEXEC
+extern unsigned long __run_at_kexec;
+#endif
extern void __early_start(void);
#endif /* __ASSEMBLY__ */
diff --git a/arch/powerpc/kernel/head_64.S b/arch/powerpc/kernel/head_64.S
index d51ffc0..9c30d9f 100644
--- a/arch/powerpc/kernel/head_64.S
+++ b/arch/powerpc/kernel/head_64.S
@@ -89,6 +89,12 @@ __secondary_hold_spinloop:
__secondary_hold_acknowledge:
.llong 0x0
+#if defined(CONFIG_KEXEC) || defined(CONFIG_CRASH_DUMP)
+ .globl __run_at_kexec
+__run_at_kexec:
+ .llong 0x0 /* Flag for the secondary kernel from kexec. */
+#endif
+
#ifdef CONFIG_RELOCATABLE
/* This flag is set to 1 by a loader if the kernel should run
* at the loaded address instead of the linked address. This
@@ -441,6 +447,12 @@ _STATIC(__after_prom_start)
#if defined(CONFIG_PPC_BOOK3E)
tovirt(r26,r26) /* on booke, we already run at PAGE_OFFSET */
#endif
+#if defined(CONFIG_KEXEC) || defined(CONFIG_CRASH_DUMP)
+ /* If relocated we need to restore this flag on that relocated address. */
+ ld r7,__run_at_kexec-_stext(r3)
+ std r7,__run_at_kexec-_stext(r26)
+#endif
+
lwz r7,__run_at_load-_stext(r26)
#if defined(CONFIG_PPC_BOOK3E)
tophys(r26,r26) /* Restore for the remains. */
diff --git a/arch/powerpc/kernel/misc_64.S b/arch/powerpc/kernel/misc_64.S
index ffe6043..b81f8ac 100644
--- a/arch/powerpc/kernel/misc_64.S
+++ b/arch/powerpc/kernel/misc_64.S
@@ -608,6 +608,12 @@ _GLOBAL(kexec_sequence)
bl .copy_and_flush /* (dest, src, copy limit, start offset) */
1: /* assume normal blr return */
+ /* notify we're going into kexec kernel for SMP. */
+ LOAD_REG_ADDR(r3,__run_at_kexec)
+ li r4,1
+ std r4,0(r3)
+ sync
+
/* release other cpus to the new kernel secondary start at 0x60 */
mflr r5
li r6,1
diff --git a/arch/powerpc/platforms/85xx/smp.c b/arch/powerpc/platforms/85xx/smp.c
index 6fcfa12..c7febd5 100644
--- a/arch/powerpc/platforms/85xx/smp.c
+++ b/arch/powerpc/platforms/85xx/smp.c
@@ -137,6 +137,9 @@ static int __cpuinit smp_85xx_kick_cpu(int nr)
int hw_cpu = get_hard_smp_processor_id(nr);
int ioremappable;
int ret = 0;
+#if defined(CONFIG_KEXEC) || defined(CONFIG_CRASH_DUMP)
+ unsigned long *ptr;
+#endif
WARN_ON(nr < 0 || nr >= NR_CPUS);
WARN_ON(hw_cpu < 0 || hw_cpu >= NR_CPUS);
@@ -213,6 +216,14 @@ out:
#else
smp_generic_kick_cpu(nr);
+#if defined(CONFIG_KEXEC) || defined(CONFIG_CRASH_DUMP)
+ ptr = (unsigned long *)((unsigned long)&__run_at_kexec);
+ /* We shouldn't access spin_table from the bootloader to up any
+ * secondary cpu for kexec kernel, and kexec kernel already
+ * know how to jump to generic_secondary_smp_init.
+ */
+ if (!*ptr) {
+#endif
out_be32(&spin_table->pir, hw_cpu);
out_be64((u64 *)(&spin_table->addr_h),
__pa((u64)*((unsigned long long *)generic_secondary_smp_init)));
@@ -220,6 +231,9 @@ out:
if (!ioremappable)
flush_dcache_range((ulong)spin_table,
(ulong)spin_table + sizeof(struct epapr_spin_table));
+#if defined(CONFIG_KEXEC) || defined(CONFIG_CRASH_DUMP)
+ }
+#endif
#endif
local_irq_restore(flags);
--
1.7.9.5
^ permalink raw reply related
* [PATCH 2/6] book3e/kexec/kdump: enable kexec for kernel
From: Tiejun Chen @ 2012-11-15 9:39 UTC (permalink / raw)
To: benh; +Cc: linuxppc-dev, linux-kernel
In-Reply-To: <1352972396-13489-1-git-send-email-tiejun.chen@windriver.com>
We need to active KEXEC for book3e and bypass or convert non-book3e stuff
in kexec coverage.
Signed-off-by: Tiejun Chen <tiejun.chen@windriver.com>
---
arch/powerpc/Kconfig | 2 +-
arch/powerpc/kernel/machine_kexec_64.c | 6 ++++++
arch/powerpc/kernel/misc_64.S | 6 ++++++
3 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index a902a5c..3000cab8 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -357,7 +357,7 @@ config ARCH_ENABLE_MEMORY_HOTREMOVE
config KEXEC
bool "kexec system call (EXPERIMENTAL)"
- depends on (PPC_BOOK3S || FSL_BOOKE || (44x && !SMP)) && EXPERIMENTAL
+ depends on (PPC_BOOK3S || FSL_BOOKE || PPC_BOOK3E || (44x && !SMP)) && EXPERIMENTAL
help
kexec is a system call that implements the ability to shutdown your
current kernel, and to start another kernel. It is like a reboot
diff --git a/arch/powerpc/kernel/machine_kexec_64.c b/arch/powerpc/kernel/machine_kexec_64.c
index d7f6090..2c0cbf0 100644
--- a/arch/powerpc/kernel/machine_kexec_64.c
+++ b/arch/powerpc/kernel/machine_kexec_64.c
@@ -32,6 +32,7 @@
int default_machine_kexec_prepare(struct kimage *image)
{
int i;
+#ifndef CONFIG_PPC_BOOK3E
unsigned long begin, end; /* limits of segment */
unsigned long low, high; /* limits of blocked memory range */
struct device_node *node;
@@ -40,6 +41,7 @@ int default_machine_kexec_prepare(struct kimage *image)
if (!ppc_md.hpte_clear_all)
return -ENOENT;
+#endif
/*
* Since we use the kernel fault handlers and paging code to
@@ -50,6 +52,7 @@ int default_machine_kexec_prepare(struct kimage *image)
if (image->segment[i].mem < __pa(_end))
return -ETXTBSY;
+#ifndef CONFIG_PPC_BOOK3E
/*
* For non-LPAR, we absolutely can not overwrite the mmu hash
* table, since we are still using the bolted entries in it to
@@ -91,6 +94,7 @@ int default_machine_kexec_prepare(struct kimage *image)
return -ETXTBSY;
}
}
+#endif
return 0;
}
@@ -358,6 +362,7 @@ void default_machine_kexec(struct kimage *image)
/* NOTREACHED */
}
+#ifndef CONFIG_PPC_BOOK3E
/* Values we need to export to the second kernel via the device tree. */
static unsigned long htab_base;
@@ -402,3 +407,4 @@ static int __init export_htab_values(void)
return 0;
}
late_initcall(export_htab_values);
+#endif
diff --git a/arch/powerpc/kernel/misc_64.S b/arch/powerpc/kernel/misc_64.S
index 5cfa800..c2acf8c 100644
--- a/arch/powerpc/kernel/misc_64.S
+++ b/arch/powerpc/kernel/misc_64.S
@@ -532,9 +532,13 @@ _GLOBAL(kexec_sequence)
lhz r25,PACAHWCPUID(r13) /* get our phys cpu from paca */
/* disable interrupts, we are overwriting kernel data next */
+#ifndef CONFIG_PPC_BOOK3E
mfmsr r3
rlwinm r3,r3,0,17,15
mtmsrd r3,1
+#else
+ wrteei 0
+#endif
/* copy dest pages, flush whole dest image */
mr r3,r29
@@ -556,10 +560,12 @@ _GLOBAL(kexec_sequence)
li r6,1
stw r6,kexec_flag-1b(5)
+#ifndef CONFIG_PPC_BOOK3E
/* clear out hardware hash page table and tlb */
ld r5,0(r27) /* deref function descriptor */
mtctr r5
bctrl /* ppc_md.hpte_clear_all(void); */
+#endif
/*
* kexec image calling is:
--
1.7.9.5
^ permalink raw reply related
* [PATCH 5/6] book3e/kexec/kdump: skip ppc32 kexec specfic
From: Tiejun Chen @ 2012-11-15 9:39 UTC (permalink / raw)
To: benh; +Cc: linuxppc-dev, linux-kernel
In-Reply-To: <1352972396-13489-1-git-send-email-tiejun.chen@windriver.com>
ppc64 kexec mechanism has a different implementation with ppc32
so skipp those ppc32 specfic.
Signed-off-by: Tiejun Chen <tiejun.chen@windriver.com>
---
arch/powerpc/platforms/85xx/smp.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/arch/powerpc/platforms/85xx/smp.c b/arch/powerpc/platforms/85xx/smp.c
index c7febd5..d3ec57c 100644
--- a/arch/powerpc/platforms/85xx/smp.c
+++ b/arch/powerpc/platforms/85xx/smp.c
@@ -257,6 +257,7 @@ struct smp_ops_t smp_85xx_ops = {
};
#ifdef CONFIG_KEXEC
+#ifdef CONFIG_PPC32
atomic_t kexec_down_cpus = ATOMIC_INIT(0);
void mpc85xx_smp_kexec_cpu_down(int crash_shutdown, int secondary)
@@ -275,6 +276,13 @@ static void mpc85xx_smp_kexec_down(void *arg)
if (ppc_md.kexec_cpu_down)
ppc_md.kexec_cpu_down(0,1);
}
+#else
+void mpc85xx_smp_kexec_cpu_down(int crash_shutdown, int secondary)
+{
+ local_irq_disable();
+ mpic_teardown_this_cpu(secondary);
+}
+#endif
static void map_and_flush(unsigned long paddr)
{
@@ -326,11 +334,14 @@ static void mpc85xx_smp_flush_dcache_kexec(struct kimage *image)
static void mpc85xx_smp_machine_kexec(struct kimage *image)
{
+#ifdef CONFIG_PPC32
int timeout = INT_MAX;
int i, num_cpus = num_present_cpus();
+#endif
mpc85xx_smp_flush_dcache_kexec(image);
+#ifdef CONFIG_PPC32
if (image->type == KEXEC_TYPE_DEFAULT)
smp_call_function(mpc85xx_smp_kexec_down, NULL, 0);
@@ -348,6 +359,7 @@ static void mpc85xx_smp_machine_kexec(struct kimage *image)
if ( i == smp_processor_id() ) continue;
mpic_reset_core(i);
}
+#endif
default_machine_kexec(image);
}
--
1.7.9.5
^ permalink raw reply related
* [PATCH 6/6] book3e/kexec/kdump: redefine VIRT_PHYS_OFFSET
From: Tiejun Chen @ 2012-11-15 9:39 UTC (permalink / raw)
To: benh; +Cc: linuxppc-dev, linux-kernel
In-Reply-To: <1352972396-13489-1-git-send-email-tiejun.chen@windriver.com>
Book3e is always aligned 1GB to create TLB so we should
use (KERNELBASE - MEMORY_START) as VIRT_PHYS_OFFSET to
get __pa/__va properly while boot kdump.
Signed-off-by: Tiejun Chen <tiejun.chen@windriver.com>
---
arch/powerpc/include/asm/page.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/powerpc/include/asm/page.h b/arch/powerpc/include/asm/page.h
index f072e97..2cba08a 100644
--- a/arch/powerpc/include/asm/page.h
+++ b/arch/powerpc/include/asm/page.h
@@ -112,6 +112,8 @@ extern long long virt_phys_offset;
/* See Description below for VIRT_PHYS_OFFSET */
#ifdef CONFIG_RELOCATABLE_PPC32
#define VIRT_PHYS_OFFSET virt_phys_offset
+#elif defined(CONFIG_PPC_BOOK3E_64)
+#define VIRT_PHYS_OFFSET (KERNELBASE - MEMORY_START)
#else
#define VIRT_PHYS_OFFSET (KERNELBASE - PHYSICAL_START)
#endif
--
1.7.9.5
^ permalink raw reply related
* Re: [patch 4/4] mm, oom: remove statically defined arch functions of same name
From: Kamezawa Hiroyuki @ 2012-11-15 8:48 UTC (permalink / raw)
To: David Rientjes
Cc: Paul Mundt, linux-sh, Greg Kroah-Hartman, x86, linux-kernel,
Michal Hocko, linux-mm, Ingo Molnar, Paul Mackerras,
KOSAKI Motohiro, H. Peter Anvin, Andrew Morton, linuxppc-dev,
Thomas Gleixner
In-Reply-To: <alpine.DEB.2.00.1211140113480.32125@chino.kir.corp.google.com>
(2012/11/14 18:15), David Rientjes wrote:
> out_of_memory() is a globally defined function to call the oom killer.
> x86, sh, and powerpc all use a function of the same name within file
> scope in their respective fault.c unnecessarily. Inline the functions
> into the pagefault handlers to clean the code up.
>
> Cc: Ingo Molnar <mingo@redhat.com>
> Cc: "H. Peter Anvin" <hpa@zytor.com>
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> Cc: Paul Mackerras <paulus@samba.org>
> Cc: Paul Mundt <lethal@linux-sh.org>
> Signed-off-by: David Rientjes <rientjes@google.com>
I think this is good.
Reviewed-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
^ permalink raw reply
* Re: [PATCH] cpuidle: Measure idle state durations with monotonic clock
From: Daniel Lezcano @ 2012-11-15 10:52 UTC (permalink / raw)
To: Julius Werner
Cc: Kevin Hilman, Deepthi Dharwar, Trinabh Gupta, Lists Linaro-dev,
linux-pm, linux-kernel, Rafael J. Wysocki, linux-acpi,
Srivatsa S. Bhat, Andrew Morton, linuxppc-dev, Sameer Nanda,
Len Brown
In-Reply-To: <1352944590-8776-1-git-send-email-jwerner@chromium.org>
On 11/15/2012 02:56 AM, Julius Werner wrote:
> Many cpuidle drivers measure their time spent in an idle state by
> reading the wallclock time before and after idling and calculating the
> difference. This leads to erroneous results when the wallclock time gets
> updated by another processor in the meantime, adding that clock
> adjustment to the idle state's time counter.
>
> If the clock adjustment was negative, the result is even worse due to an
> erroneous cast from int to unsigned long long of the last_residency
> variable. The negative 32 bit integer will zero-extend and result in a
> forward time jump of roughly four billion milliseconds or 1.3 hours on
> the idle state residency counter.
>
> This patch changes all affected cpuidle drivers to either use the
> monotonic clock for their measurements or make use of the generic time
> measurement wrapper in cpuidle.c, which was already working correctly.
> Some superfluous CLIs/STIs in the ACPI code are removed (interrupts
> should always already be disabled before entering the idle function, and
> not get reenabled until the generic wrapper has performed its second
> measurement). It also removes the erroneous cast, making sure that
> negative residency values are applied correctly even though they should
> not appear anymore.
>
> Signed-off-by: Julius Werner <jwerner@chromium.org>
Tested on a Core 2 Duo (processor_idle driver).
Tested-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
--
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog
^ permalink raw reply
* Re: Deprecating reserve-map in favor of properties
From: Grant Likely @ 2012-11-15 12:11 UTC (permalink / raw)
To: Benjamin Herrenschmidt
Cc: devicetree-discuss, linuxppc-dev, Cyril Chemparathy
In-Reply-To: <1351798896.12271.241.camel@pasglop>
On Fri, 02 Nov 2012 06:41:36 +1100, Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote:
> On Thu, 2012-11-01 at 15:21 +0100, Grant Likely wrote:
>
> > I think this makes sense. Cyril and I are just talking about what he
> > needs. He wants to set aside per-device reserved regions and would
> > like to have the ability to reference a particular reserved region
> > from a device node, probably with a phandle. I like the look of the
> > reserved-{ranges,names} properties in the root, but I see the argument
> > that it isn't very flexible. What about something like this:
> >
> > reserved-memory {
> > reserved@0x10000000 { reg = <0x10000000 0x08000000>; };
> > reserved@0x01000000 { reg = <0x01000000 0x00200000>; };
> > }
> >
> > The node name of the child nodes could be different of course.
>
> I'm not that fan of different nodes, especially nodes with nodes in them
> for that purpose. Seems overkill.
>
> Can't he reference reserved entries as <phandle>,<index> pairs ?
That would work too.
> I still think a single property would do fine. We could mandate those be
> in the respective "memory" nodes but them you have potentially to break
> up reserved regions if you have multiple memory nodes (NUMA) etc...
It makes sense to me for the reserved ranges to be kept with the memory
nodes themselves, even if it does mean that sometimes they need to be
split up for multiple memory nodes.
> > Right, that would work also even though I prefer phandle references in
> > general. Is it conceivable that additional data would want to be
> > attached to a particular reserved region?
>
> phandle references and names aren't exclusive from each other. The name
> remains a useful diagnostic tool.
>
> If you want additional data, make a node somewhere to represent that
> region along with its additional data, that node can have a reference to
> the reserved map entry.
>
> I'd keep the reserve map itself simple. It's a "synthetic property" a
> bit like the memory nodes. IE. The "memory" nodes don't have to
> represent physical memory controllers & DIMMs. They represent the
> overall view of memory by the CPUs. You can represent the MCs and the
> DIMMs elsewhere in the SoC node.
okay.
g.
^ permalink raw reply
* FW: e1000e hardware bring-up problem
From: Sumesh Kaana @ 2012-11-15 13:28 UTC (permalink / raw)
To: linuxppc-dev@lists.ozlabs.org
In-Reply-To: <OF69EAD6CA.250DF267-ON65257AB7.0045C620-65257AB7.0045EB55@in.ibm.com>
[-- Attachment #1: Type: text/plain, Size: 59296 bytes --]
Hello All,
I am trying to bring-up a network interface on my card. The card which is based on PowerPC 440, running linux, has an Intel NIC plugged onto PCIe link.
When I do a ping test , following happens:
1. The card (10.10.10.111) and a PC (10.10.10.2) are connected to a switch. PC has Wireshark installed.2. Pinging from the card to PC - issued ping 10.10.10.2 -c 2 (used a startup script. No serial console)3. PC receives an ARP REQ prior to ICMP from the CARD. <--------- observed on Wireshark installed on the PC.4. PC responses with an ARP RESP .5. the NIC(intel GigE) on the card receives ARP RESP and the NIC counters are incremented. But, Neither DD (Descriptor Done) nor EOP (End Of Packet) bits are set on the descriptor.
When the NIC receives a frame, NIC is supposed to issue the DMA operation to store the received frame to the host buffer and upon successful DMA of the frame to host memory, the NIC is supposed to increment RDH (Receive Descriptor Head) pointer and set DD and EOP bits on the status field of descriptor and has to notify the processor. But that did not happen. I'm fine receiving other interrupts.
Can anyone point out why this can happen? Any pointers would be great help.
Following is the bootlog of the machine: (Userspace prints are observed using ttyprintk method, the lines starting with '[U]' prefixed are from userland)
<6>[ 0.000000] Using XXX machine description<5>[ 0.000000] Linux version 3.3.0-rc2 (root@sumeshkn) (gcc version 4.4.6 20110731 (gcc 7.2-4) (GCC) ) #119 PREEMPT Wed Nov 14 06:09:47 EST 2012<7>[ 0.000000] Found initrd at 0xc0991000:0xc0faeac2<7>[ 0.000000] Top of RAM: 0x60000000, Total RAM: 0x10000000<7>[ 0.000000] Memory hole size: 1280MB<7>[ 0.000000] Zone PFN ranges:<7>[ 0.000000] DMA 0x00050000 -> 0x00060000<7>[ 0.000000] Normal empty<7>[ 0.000000] HighMem empty<7>[ 0.000000] Movable zone start PFN for each node<7>[ 0.000000] Early memory PFN ranges<7>[ 0.000000] 0: 0x00050000 -> 0x00060000<7>[ 0.000000] On node 0 totalpages: 65536<7>[ 0.000000] free_area_init_node: node 0, pgdat c0322ce8, node_mem_map c035b000<7>[ 0.000000] DMA zone: 512 pages used for memmap<7>[ 0.000000] DMA zone: 0 pages reserved<7>[ 0.000000] DMA zone: 65024 pages, LIFO batch:15<6>[ 0.000000] MMU: Allocated 1088 bytes of context maps for 255 contexts<7>[ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768<7>[ 0.000000] pcpu-alloc: [0] 0 <7>[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 65024<5>[ 0.000000] Kernel command line: root=/dev/ram init=_no_such_application rw<6>[ 0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)<6>[ 0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)<6>[ 0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)<7>[ 0.000000] High memory: 0k<6>[ 0.000000] Memory: 250108k/262144k available (3076k kernel code, 12036k reserved, 168k data, 182k bss, 176k init)<6>[ 0.000000] Kernel virtual memory layout:<6>[ 0.000000] * 0xfffcf000..0xfffff000 : fixmap<6>[ 0.000000] * 0xffc00000..0xffe00000 : highmem PTEs<6>[ 0.000000] * 0xffa00000..0xffc00000 : consistent mem<6>[ 0.000000] * 0xffa00000..0xffa00000 : early ioremap<6>[ 0.000000] * 0xd1000000..0xffa00000 : vmalloc & ioremap<6>[ 0.000000] NR_IRQS:512<6>[ 0.000000] kmemleak: Kernel memory leak detector disabled<7>[ 0.000000] [XXXEIC] Found XXX pseudo intc driver<7>[ 0.000000] [XXXEIC] No 'interrupts' Found, breaking<7>[ 0.000000] [XXXEIC] Alloc and init an irq_host structure: irq_alloc_host():Successfull<7>[ 0.000000] [XXXEIC] calling irq_set_default_host<7>[ 0.000000] time_init: decrementer frequency = 166.666667 MHz<7>[ 0.000000] time_init: processor frequency = 666.666664 MHz<6>[ 0.000000] clocksource: timebase mult[6000000] shift[24] registered<7>[ 0.000000] clockevent: decrementer mult[2aaaaaac] shift[32] cpu[0]<6>[ 0.000000] Console: colour dummy device 80x25<6>[ 0.000000] console [tty0] enabled<4>[ 0.000000] kmemleak: Early log buffer exceeded (908), please increase DEBUG_KMEMLEAK_EARLY_LOG_SIZE<6>[ 0.000059] pid_max: default: 32768 minimum: 301<6>[ 0.000079] Mount-cache hash table entries: 512<6>[ 0.000288] NET: Registered protocol family 16<7>[ 0.000468] XXX_PCIE:ibm,plb-pciex-440xxx matching : xxx_device_mbase : 0xd1000000<1>[ 0.000469] XXX_PCIE: inside Core init <3>[ 0.000473] XXX_PCIE: ppc4xx_pciex_check_core_init : Done <3>[ 0.000474] XXX_PCIE: device_type : pci <3>[ 0.000476] XXX_PCIE: dcr_resource_start : Done <3>[ 0.000477] XXX_PCIE: dcr_map : Done <1>[ 0.000478] XXX_PCIE: inside init port hw <3>[ 0.104007] XXX_PCIE: ppc4xx_pciex_port_init : Done <7>[ 0.104009] XXX_PCIE: bus-range : 0 - 1XXX_PCIE: pci_bios allocation success <1>[ 0.104011] XXX_PCIE: ppc4xx_pciex_port_setup_hose - port->endpoint: 0 <1>[ 0.104013] XXX_PCIE: hose->ops: Done <6>[ 0.104014] PCI host bridge /pciex (primary) ranges:<6>[ 0.104015] ranges property :not null<6>[ 0.104016] MEM 0x0000000080000000..0x000000009fffffff -> 0x0000000080000000 <1>[ 0.104018] XXX_PCIE: pci_process_bridge_OF_ranges : Done <1>[ 0.104019] XXX_PCIE: ppc4xx_parse_dma_ranges : Done <6>[ 0.104021] PCIE0: successfully set as root-complex<3>[ 0.104022] XXX_PCIE: ppc4xx_pciex_port_setup_hose : Done <3>[ 0.104024] XXX_PCIE: ppc4xx_pci_find_bridges : Done <6>[ 0.104064] PCI: Probing PCI hardware<7>[ 0.104067] PCI: Scanning PHB /pciex<4>[ 0.104068] PCI: I/O resource not set for host bridge /pciex (domain 0)<7>[ 0.104069] PCI: PHB IO resource = 0000000000000000-00000000ffffffff [100]<7>[ 0.104070] PCI: PHB MEM resource 0 = 0000000080000000-000000009fffffff [200]<7>[ 0.104070] PCI: PHB MEM offset = 0000000000000000<7>[ 0.104071] PCI: PHB IO offset = 00000000<6>[ 0.104102] PCI host bridge to bus 0000:00<6>[ 0.104106] pci_bus 0000:00: root bus resource [io 0x0000-0xffffffff]<6>[ 0.104108] pci_bus 0000:00: root bus resource [mem 0x80000000-0x9fffffff]<7>[ 0.104109] pci-common- probe mode: 0<7>[ 0.104109] pci_bus 0000:00: scanning bus<7>[ 0.104113] pci 0000:00:04.0: [8086:105e] type 0 class 0x000200<7>[ 0.104115] pci 0000:00:04.0: calling fixup_xxx+0x0/0x1f8<7>[ 0.104115] XXX_FIXUP_EARLY: vendor : 8086, device: 105e<7>[ 0.104116] <6>XXX_FIXUP : val1 at 0x0 is 8086<7>[ 0.104116] <6>XXX_FIXUP : 0x2 is 105e<7>[ 0.104117] <6>XXX_FIXUP : 0x4 is 0<7>[ 0.104117] <6>XXX_FIXUP : 0x6 is 10<7>[ 0.104117] <6>XXX_FIXUP : base 0 is 80000000<7>[ 0.104118] <6>XXX_FIXUP : base 1 80020000<7>[ 0.104118] PCI-common: enabling interrupts in thumper<7>[ 0.104119] XXX_FIXUP_EARLY: PCI_INTERRUPT_LINE: c<7>[ 0.104119] XXX_FIXUP_EARLY: mfmsr : 29000<7>[ 0.104120] pci 0000:00:04.0: calling quirk_mmio_always_on+0x0/0x24<7>[ 0.104121] pci 0000:00:04.0: reg 10: [mem 0x80000000-0x8001ffff]<7>[ 0.104122] pci 0000:00:04.0: reg 14: [mem 0x80020000-0x8003ffff]<7>[ 0.104123] pci 0000:00:04.0: reg 18: [io 0x82040000-0x8204001f]<7>[ 0.104124] pci 0000:00:04.0: reg 30: [mem 0x83000000-0x8301ffff pref]<7>[ 0.104125] pci 0000:00:04.0: calling pcibios_fixup_resources+0x0/0x270<6>[ 0.104125] XXX_PCIE: pcibios_fixup_resources : start <6>[ 0.104127] XXX_PCIE: pcibios_fixup_resources : this is bridge : DEVICE_CNT_RSRC: 11<6>[ 0.104128] XXX_PCIE: pcibios_fixup_resources : res->start: 0x80000000, pci_reassign: 0, probe_only:4<7>[ 0.104131] PCI:0000:00:04.0 Resource 0 0000000080000000-000000008001ffff [40200] fixup...<7>[ 0.104131] PCI:0000:00:04.0 0000000080000000-000000008001ffff<6>[ 0.104132] XXX_PCIE: pcibios_fixup_resources : res->start: 0x80020000, pci_reassign: 0, probe_only:4<7>[ 0.104134] PCI:0000:00:04.0 Resource 1 0000000080020000-000000008003ffff [40200] fixup...<7>[ 0.104134] PCI:0000:00:04.0 0000000080020000-000000008003ffff<6>[ 0.104135] XXX_PCIE: pcibios_fixup_resources : res->start: 0x82040000, pci_reassign: 0, probe_only:4<7>[ 0.104137] PCI:0000:00:04.0 Resource 2 0000000082040000-000000008204001f [40101] fixup...<7>[ 0.104138] PCI:0000:00:04.0 0000000082040000-000000008204001f<6>[ 0.104138] XXX_PCIE: pcibios_fixup_resources : res->start: 0x83000000, pci_reassign: 0, probe_only:4<7>[ 0.104140] PCI:0000:00:04.0 Resource 6 0000000083000000-000000008301ffff [4e200] fixup...<7>[ 0.104141] PCI:0000:00:04.0 0000000083000000-000000008301ffff<7>[ 0.104142] pci 0000:00:04.0: calling fixup_ppc4xx_pci_bridge+0x0/0x14c<6>[ 0.104142] XXX_PCIE: fixup_ppc4xx_pci_bridge <7>[ 0.104144] pci 0000:00:04.0: calling quirk_resource_alignment+0x0/0x1d4<7>[ 0.104146] pci 0000:00:04.0: PME# supported from D0 D3hot<7>[ 0.104147] pci 0000:00:04.0: PME# disabled<7>[ 0.104149] pci_bus 0000:00: pci_scan_slot: Done<7>[ 0.104149] pci_bus 0000:00: fixups for bus<7>[ 0.104150] PCI: Fixup bus devices 0 (PHB)<7>[ 0.104150] PCI: Try to map irq for 0000:00:04.0...<7>[ 0.104151] No map ! Using line 12 (pin 1) from PCI config<7>[ 0.104153] [XXXEIC] xxx_intc_map called: irq: 12<7>[ 0.104154] [XXXEIC] set flow type 8<7>[ 0.104155] Mapped to linux irq 16<7>[ 0.104155] pci 0000:00:04.0: scanning [bus 00-04] behind bridge, pass 0<7>[ 0.104156] pci 0000:00:04.0: bus configuration invalid, reconfiguring<7>[ 0.104156] pci 0000:00:04.0: scanning [bus 00-00] behind bridge, pass 1<7>[ 0.104160] pci_bus 0000:01: scanning bus<7>[ 0.104161] pci_bus 0000:01: pci_scan_slot: Done<7>[ 0.104161] pci_bus 0000:01: fixups for bus<6>[ 0.104162] pci 0000:00:04.0: PCI bridge to [bus 01-ff]<7>[ 0.104163] PCI: Fixup bus devices 1 (0000:00:04.0)<7>[ 0.104164] pci_bus 0000:01: bus scan returning with max=01<7>[ 0.104165] pci_bus 0000:00: bus scan returning with max=01<7>[ 0.104165] pci-common- pcibios_scan_phb : Done<6>[ 0.104223] XXX_PCIE: pci_bus_add_devices<7>[ 0.104226] PCI: Allocating bus resources for 0000:00...<7>[ 0.104227] PCI: PHB (bus 0) bridge rsrc 4: 0000000000000000-00000000ffffffff [0x100], parent c0305df0 (PCI IO)<7>[ 0.104228] PCI: PHB (bus 0) bridge rsrc 5: 0000000080000000-000000009fffffff [0x200], parent c0305dc8 (PCI mem)<7>[ 0.104229] PCI: Allocating bus resources for 0000:01...<7>[ 0.104231] PCI: Allocating 0000:00:04.0: Resource 0: 0000000080000000..000000008001ffff [40200]<7>[ 0.104231] PCI: Allocating 0000:00:04.0: Resource 1: 0000000080020000..000000008003ffff [40200]<7>[ 0.104232] PCI: Allocating 0000:00:04.0: Resource 2: 0000000082040000..000000008204001f [40101]<7>[ 0.104233] PCI: Allocating 0000:00:04.0: Resource 6: 0000000083000000..000000008301ffff [4e200]<6>[ 0.104233] XXX_PCIE: pcibios_resource_survey():Done<6>[ 0.105446] bio: create slab <bio-0> at 0<6>[ 0.105549] vgaarb: loaded<6>[ 0.105719] Switching to clocksource timebase<6>[ 0.107988] NET: Registered protocol family 2<6>[ 0.108411] IP route cache hash table entries: 2048 (order: 1, 8192 bytes)<6>[ 0.108475] TCP established hash table entries: 8192 (order: 4, 65536 bytes)<6>[ 0.108507] TCP bind hash table entries: 8192 (order: 3, 32768 bytes)<6>[ 0.108522] TCP: Hash tables configured (established 8192 bind 8192)<6>[ 0.108525] TCP reno registered<6>[ 0.108527] UDP hash table entries: 256 (order: 0, 4096 bytes)<6>[ 0.108530] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)<6>[ 0.108557] NET: Registered protocol family 1<7>[ 0.108561] PCI_QUIRKS : pci_apply_final_quirks<7>[ 0.108564] pci 0000:00:04.0: calling quirk_e100_interrupt+0x0/0x1b0<7>[ 0.108565] pci 0000:00:04.0: calling quirk_cardbus_legacy+0x0/0x50<7>[ 0.108566] pci 0000:00:04.0: calling quirk_usb_early_handoff+0x0/0x718<7>[ 0.108567] PCI: CLS 128 bytes, default 32<6>[ 0.108670] Trying to unpack rootfs image as initramfs...<6>[ 0.109118] rootfs image is not initramfs (no cpio magic); looks like an initrd<6>[ 0.111639] Freeing initrd memory: 6264k freed<6>[ 0.111883] msgmni has been set to 500<6>[ 0.111955] io scheduler noop registered<6>[ 0.111958] io scheduler deadline registered<6>[ 0.111964] io scheduler cfq registered (default)<6>[ 0.128011] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled<6>[ 0.129473] brd: module loaded<6>[ 0.130417] loop: module loaded<6>[ 0.130446] Xilinx SystemACE device driver, major=254<6>[ 0.130558] e1000e: Intel(R) PRO/1000 Network Driver - 1.5.1-k<6>[ 0.130562] e1000e: Copyright(c) 1999 - 2011 Intel Corporation.<6>[ 0.130567] e1000e 0000:00:04.0: Disabling ASPM L1<6>[ 0.130569] e1000e 0000:00:04.0: enabling device (0000 -> 0002)<7>[ 0.130571] e1000e 0000:00:04.0: enabling bus mastering<3>[ 0.130595] e1000e 0000:00:04.0: (unregistered net_device): Failed to initialize MSI interrupts. Falling back to legacy interrupts.<6>[ 0.313821] e1000e 0000:00:04.0: eth0: (PCI Express:2.5GT/s:Width x4) e4:1f:13:4f:28:d4<6>[ 0.313825] e1000e 0000:00:04.0: eth0: Intel(R) PRO/1000 Network Connection<6>[ 0.313837] e1000e 0000:00:04.0: eth0: MAC: 0, PHY: 4, PBA No: E34292-004<6>[ 0.313949] mousedev: PS/2 mouse device common for all mice<6>[ 0.314063] TCP cubic registered<6>[ 0.314066] NET: Registered protocol family 17<6>[ 0.314074] NET: Registered protocol family 15<5>[ 0.314140] RAMDISK: gzip image found at block 0<4>[ 0.369460] EXT2-fs (ram0): warning: mounting unchecked fs, running e2fsck is recommended<6>[ 0.369472] VFS: Mounted root (ext2 filesystem) on device 1:0.<6>[ 0.369569] Freeing unused kernel memory: 176k freed<6>[ 0.369573] Executing _no_such_application<4>[ 0.369587] Failed to execute _no_such_application. Attempting defaults...<6>[ 0.369588] Executing /sbin/hello_world<6>[ 0.369600] /sbin/hello_world --- Failed.<6>[ 0.369601] Executing /sbin/init<6>[ 0.371822] [U] lspci -vv<6>[ 0.372849] [U] 00:04.0 Class 0200: Device 8086:105e (rev 06)<6>[ 0.372854] [U] Subsystem: Device 1014:0340<6>[ 0.372856] [U] Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-<6>[ 0.372860] [U] Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-<6>[ 0.372862] [U] Latency: 0, Cache Line Size: 128 bytes<6>[ 0.372864] [U] Interrupt: pin A routed to IRQ 16<6>[ 0.372866] [U] Region 0: Memory at 80000000 (32-bit, non-prefetchable) [size=128K]<6>[ 0.372869] [U] Region 1: Memory at 80020000 (32-bit, non-prefetchable) [size=128K]<6>[ 0.372871] [U] Region 2: I/O ports at 82040000 [disabled] [size=32]<6>[ 0.372873] [U] Expansion ROM at 83000000 [disabled] [size=128K]<6>[ 0.372878] [U] Capabilities: [c8] Power Management version 2<6>[ 0.372881] [U] Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold-)<6>[ 0.372884] [U] Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=1 PME-<6>[ 0.372886] [U] Capabilities: [d0] MSI: Enable- Count=1/1 Maskable- 64bit+<6>[ 0.372888] [U] Address: 0000000000000000 Data: 0000<6>[ 0.372891] [U] Capabilities: [e0] Express (v1) Endpoint, MSI 00<6>[ 0.372893] [U] DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us<6>[ 0.372896] [U] ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-<6>[ 0.372898] [U] DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-<6>[ 0.372900] [U] RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+<6>[ 0.372902] [U] MaxPayload 128 bytes, MaxReadReq 512 bytes<6>[ 0.372904] [U] DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-<6>[ 0.372907] [U] LnkCap: Port #0, Speed 2.5GT/s, Width x4, ASPM L0s, Latency L0 <4us, L1 <64us<6>[ 0.372909] [U] ClockPM- Surprise- LLActRep- BwNot-<6>[ 0.372911] [U] LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk-<6>[ 0.372913] [U] ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-<6>[ 0.372916] [U] LnkSta: Speed 2.5GT/s, Width x4, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-<6>[ 0.372920] [U] Capabilities: [100 v1] Advanced Error Reporting<6>[ 0.372923] [U] UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-<6>[ 0.372927] [U] UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-<6>[ 0.372930] [U] UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-<6>[ 0.372933] [U] CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-<6>[ 0.372935] [U] CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-<6>[ 0.372937] [U] AERCap: First Error Pointer: 00, GenCap- CGenEn- ChkCap- ChkEn-<6>[ 0.372940] [U] Capabilities: [140 v1] Device Serial Number e4-1f-13-ff-ff-4f-28-d4<6>[ 0.372951] [U] <6>[ 0.373275] [U] 1.ifconfig eth0 10.10.10.10 netmask 255.0.0.0 up<7>[ 0.373613] netdev.c:e1000_open<7>[ 0.483627] netdev.c: e1000e_configure<7>[ 0.483627] e1000_configure_rx: rdlen: 1000<7>[ 0.509726] e1000_alloc_rx_buffers: buffer_info[0]->dma: 5ec97022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2270c95e<7>[ 0.509732] e1000_alloc_rx_buffers: buffer_info[1]->dma: 5f2ea822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22a82e5f<7>[ 0.509734] e1000_alloc_rx_buffers: buffer_info[2]->dma: 5f2ea022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22a02e5f<7>[ 0.509739] e1000_alloc_rx_buffers: buffer_info[3]->dma: 5f2cf822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22f82c5f<7>[ 0.509742] e1000_alloc_rx_buffers: buffer_info[4]->dma: 5f2cf022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22f02c5f<7>[ 0.509747] e1000_alloc_rx_buffers: buffer_info[5]->dma: 5f2d0822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22082d5f<7>[ 0.509750] e1000_alloc_rx_buffers: buffer_info[6]->dma: 5f2d0022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22002d5f<7>[ 0.509755] e1000_alloc_rx_buffers: buffer_info[7]->dma: 5f2d1822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22182d5f<7>[ 0.509757] e1000_alloc_rx_buffers: buffer_info[8]->dma: 5f2d1022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22102d5f<7>[ 0.509762] e1000_alloc_rx_buffers: buffer_info[9]->dma: 5f2d2822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22282d5f<7>[ 0.509765] e1000_alloc_rx_buffers: buffer_info[10]->dma: 5f2d2022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22202d5f<7>[ 0.509770] e1000_alloc_rx_buffers: buffer_info[11]->dma: 5f2d3822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22382d5f<7>[ 0.509773] e1000_alloc_rx_buffers: buffer_info[12]->dma: 5f2d3022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22302d5f<7>[ 0.509777] e1000_alloc_rx_buffers: buffer_info[13]->dma: 5f2d4822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22482d5f<7>[ 0.509780] e1000_alloc_rx_buffers: buffer_info[14]->dma: 5f2d4022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22402d5f<7>[ 0.509785] e1000_alloc_rx_buffers: buffer_info[15]->dma: 5f2d5822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22582d5f<7>[ 0.509788] e1000_alloc_rx_buffers: buffer_info[16]->dma: 5f2d5022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22502d5f<7>[ 0.509792] e1000_alloc_rx_buffers: buffer_info[17]->dma: 5f2d6822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22682d5f<7>[ 0.509795] e1000_alloc_rx_buffers: buffer_info[18]->dma: 5f2d6022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22602d5f<7>[ 0.509799] e1000_alloc_rx_buffers: buffer_info[19]->dma: 5f2d7822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22782d5f<7>[ 0.509804] e1000_alloc_rx_buffers: buffer_info[20]->dma: 5f2d7022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22702d5f<7>[ 0.509808] e1000_alloc_rx_buffers: buffer_info[21]->dma: 5f2d9822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22982d5f<7>[ 0.509811] e1000_alloc_rx_buffers: buffer_info[22]->dma: 5f2d9022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22902d5f<7>[ 0.509816] e1000_alloc_rx_buffers: buffer_info[23]->dma: 5f2da822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22a82d5f<7>[ 0.509819] e1000_alloc_rx_buffers: buffer_info[24]->dma: 5f2da022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22a02d5f<7>[ 0.509823] e1000_alloc_rx_buffers: buffer_info[25]->dma: 5f2db822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22b82d5f<7>[ 0.509826] e1000_alloc_rx_buffers: buffer_info[26]->dma: 5f2db022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22b02d5f<7>[ 0.509830] e1000_alloc_rx_buffers: buffer_info[27]->dma: 5f2dc822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22c82d5f<7>[ 0.509833] e1000_alloc_rx_buffers: buffer_info[28]->dma: 5f2dc022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22c02d5f<7>[ 0.509838] e1000_alloc_rx_buffers: buffer_info[29]->dma: 5f2c1822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22182c5f<7>[ 0.509841] e1000_alloc_rx_buffers: buffer_info[30]->dma: 5f2c1022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22102c5f<7>[ 0.509845] e1000_alloc_rx_buffers: buffer_info[31]->dma: 5f2c2822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22282c5f<7>[ 0.509848] e1000_alloc_rx_buffers: buffer_info[32]->dma: 5f2c2022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22202c5f<7>[ 0.509852] e1000_alloc_rx_buffers: buffer_info[33]->dma: 5f2c3822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22382c5f<7>[ 0.509855] e1000_alloc_rx_buffers: buffer_info[34]->dma: 5f2c3022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22302c5f<7>[ 0.509860] e1000_alloc_rx_buffers: buffer_info[35]->dma: 5f2c4822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22482c5f<7>[ 0.509863] e1000_alloc_rx_buffers: buffer_info[36]->dma: 5f2c4022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22402c5f<7>[ 0.509868] e1000_alloc_rx_buffers: buffer_info[37]->dma: 5f2c5822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22582c5f<7>[ 0.509871] e1000_alloc_rx_buffers: buffer_info[38]->dma: 5f2c5022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22502c5f<7>[ 0.509875] e1000_alloc_rx_buffers: buffer_info[39]->dma: 5f2ce822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22e82c5f<7>[ 0.509879] e1000_alloc_rx_buffers: buffer_info[40]->dma: 5f2ce022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22e02c5f<7>[ 0.509884] e1000_alloc_rx_buffers: buffer_info[41]->dma: 5f91f822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22f8915f<7>[ 0.509887] e1000_alloc_rx_buffers: buffer_info[42]->dma: 5f91f022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22f0915f<7>[ 0.509891] e1000_alloc_rx_buffers: buffer_info[43]->dma: 5f923822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2238925f<7>[ 0.509894] e1000_alloc_rx_buffers: buffer_info[44]->dma: 5f923022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2230925f<7>[ 0.509898] e1000_alloc_rx_buffers: buffer_info[45]->dma: 5f8ef822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22f88e5f<7>[ 0.509901] e1000_alloc_rx_buffers: buffer_info[46]->dma: 5f8ef022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22f08e5f<7>[ 0.509906] e1000_alloc_rx_buffers: buffer_info[47]->dma: 5f89b822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22b8895f<7>[ 0.509909] e1000_alloc_rx_buffers: buffer_info[48]->dma: 5f89b022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22b0895f<7>[ 0.509913] e1000_alloc_rx_buffers: buffer_info[49]->dma: 5f8e3822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22388e5f<7>[ 0.509916] e1000_alloc_rx_buffers: buffer_info[50]->dma: 5f8e3022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22308e5f<7>[ 0.509921] e1000_alloc_rx_buffers: buffer_info[51]->dma: 5f8eb822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22b88e5f<7>[ 0.509924] e1000_alloc_rx_buffers: buffer_info[52]->dma: 5f8eb022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22b08e5f<7>[ 0.509928] e1000_alloc_rx_buffers: buffer_info[53]->dma: 5f8e4822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22488e5f<7>[ 0.509931] e1000_alloc_rx_buffers: buffer_info[54]->dma: 5f8e4022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22408e5f<7>[ 0.509935] e1000_alloc_rx_buffers: buffer_info[55]->dma: 5f851822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2218855f<7>[ 0.509938] e1000_alloc_rx_buffers: buffer_info[56]->dma: 5f851022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2210855f<7>[ 0.509943] e1000_alloc_rx_buffers: buffer_info[57]->dma: 5f894822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2248895f<7>[ 0.509946] e1000_alloc_rx_buffers: buffer_info[58]->dma: 5f894022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2240895f<7>[ 0.509950] e1000_alloc_rx_buffers: buffer_info[59]->dma: 5f899822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2298895f<7>[ 0.509954] e1000_alloc_rx_buffers: buffer_info[60]->dma: 5f899022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2290895f<7>[ 0.509959] e1000_alloc_rx_buffers: buffer_info[61]->dma: 5f893822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2238895f<7>[ 0.509962] e1000_alloc_rx_buffers: buffer_info[62]->dma: 5f893022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2230895f<7>[ 0.509967] e1000_alloc_rx_buffers: buffer_info[63]->dma: 5f9f1822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22189f5f<7>[ 0.509969] e1000_alloc_rx_buffers: buffer_info[64]->dma: 5f9f1022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22109f5f<7>[ 0.509974] e1000_alloc_rx_buffers: buffer_info[65]->dma: 5e3dc822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22c83d5e<7>[ 0.509977] e1000_alloc_rx_buffers: buffer_info[66]->dma: 5e3dc022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22c03d5e<7>[ 0.509983] e1000_alloc_rx_buffers: buffer_info[67]->dma: 5f84a822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22a8845f<7>[ 0.509986] e1000_alloc_rx_buffers: buffer_info[68]->dma: 5f84a022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22a0845f<7>[ 0.509990] e1000_alloc_rx_buffers: buffer_info[69]->dma: 5ec4e822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22e8c45e<7>[ 0.509993] e1000_alloc_rx_buffers: buffer_info[70]->dma: 5ec4e022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22e0c45e<7>[ 0.509998] e1000_alloc_rx_buffers: buffer_info[71]->dma: 5ec4f822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22f8c45e<7>[ 0.510001] e1000_alloc_rx_buffers: buffer_info[72]->dma: 5ec4f022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22f0c45e<7>[ 0.510005] e1000_alloc_rx_buffers: buffer_info[73]->dma: 5f9f8822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22889f5f<7>[ 0.510008] e1000_alloc_rx_buffers: buffer_info[74]->dma: 5f9f8022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22809f5f<7>[ 0.510013] e1000_alloc_rx_buffers: buffer_info[75]->dma: 5f9f9822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22989f5f<7>[ 0.510016] e1000_alloc_rx_buffers: buffer_info[76]->dma: 5f9f9022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22909f5f<7>[ 0.510020] e1000_alloc_rx_buffers: buffer_info[77]->dma: 5f9a0822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22089a5f<7>[ 0.510023] e1000_alloc_rx_buffers: buffer_info[78]->dma: 5f9a0022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22009a5f<7>[ 0.510028] e1000_alloc_rx_buffers: buffer_info[79]->dma: 5f9a1822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22189a5f<7>[ 0.510032] e1000_alloc_rx_buffers: buffer_info[80]->dma: 5f9a1022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22109a5f<7>[ 0.510036] e1000_alloc_rx_buffers: buffer_info[81]->dma: 5f83f822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22f8835f<7>[ 0.510039] e1000_alloc_rx_buffers: buffer_info[82]->dma: 5f83f022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22f0835f<7>[ 0.510044] e1000_alloc_rx_buffers: buffer_info[83]->dma: 5f3fe822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22e83f5f<7>[ 0.510047] e1000_alloc_rx_buffers: buffer_info[84]->dma: 5f3fe022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22e03f5f<7>[ 0.510051] e1000_alloc_rx_buffers: buffer_info[85]->dma: 5f3ff822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22f83f5f<7>[ 0.510054] e1000_alloc_rx_buffers: buffer_info[86]->dma: 5f3ff022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22f03f5f<7>[ 0.510058] e1000_alloc_rx_buffers: buffer_info[87]->dma: 5ec36822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2268c35e<7>[ 0.510061] e1000_alloc_rx_buffers: buffer_info[88]->dma: 5ec36022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2260c35e<7>[ 0.510066] e1000_alloc_rx_buffers: buffer_info[89]->dma: 5ec37822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2278c35e<7>[ 0.510069] e1000_alloc_rx_buffers: buffer_info[90]->dma: 5ec37022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2270c35e<7>[ 0.510073] e1000_alloc_rx_buffers: buffer_info[91]->dma: 5f3c4822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22483c5f<7>[ 0.510076] e1000_alloc_rx_buffers: buffer_info[92]->dma: 5f3c4022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22403c5f<7>[ 0.510081] e1000_alloc_rx_buffers: buffer_info[93]->dma: 5f3c5822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22583c5f<7>[ 0.510084] e1000_alloc_rx_buffers: buffer_info[94]->dma: 5f3c5022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22503c5f<7>[ 0.510088] e1000_alloc_rx_buffers: buffer_info[95]->dma: 5ec04822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2248c05e<7>[ 0.510091] e1000_alloc_rx_buffers: buffer_info[96]->dma: 5ec04022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2240c05e<7>[ 0.510096] e1000_alloc_rx_buffers: buffer_info[97]->dma: 5ec05822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2258c05e<7>[ 0.510099] e1000_alloc_rx_buffers: buffer_info[98]->dma: 5ec05022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2250c05e<7>[ 0.510103] e1000_alloc_rx_buffers: buffer_info[99]->dma: 5ec16822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2268c15e<7>[ 0.510108] e1000_alloc_rx_buffers: buffer_info[100]->dma: 5ec16022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2260c15e<7>[ 0.510112] e1000_alloc_rx_buffers: buffer_info[101]->dma: 5ec66822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2268c65e<7>[ 0.510115] e1000_alloc_rx_buffers: buffer_info[102]->dma: 5ec66022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2260c65e<7>[ 0.510120] e1000_alloc_rx_buffers: buffer_info[103]->dma: 5ec67822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2278c65e<7>[ 0.510122] e1000_alloc_rx_buffers: buffer_info[104]->dma: 5ec67022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2270c65e<7>[ 0.510127] e1000_alloc_rx_buffers: buffer_info[105]->dma: 5f3f2822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22283f5f<7>[ 0.510130] e1000_alloc_rx_buffers: buffer_info[106]->dma: 5f3f2022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22203f5f<7>[ 0.510134] e1000_alloc_rx_buffers: buffer_info[107]->dma: 5f3f3822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22383f5f<7>[ 0.510137] e1000_alloc_rx_buffers: buffer_info[108]->dma: 5f3f3022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22303f5f<7>[ 0.510142] e1000_alloc_rx_buffers: buffer_info[109]->dma: 5eca2822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2228ca5e<7>[ 0.510144] e1000_alloc_rx_buffers: buffer_info[110]->dma: 5eca2022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2220ca5e<7>[ 0.510149] e1000_alloc_rx_buffers: buffer_info[111]->dma: 5eca3822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2238ca5e<7>[ 0.510152] e1000_alloc_rx_buffers: buffer_info[112]->dma: 5eca3022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2230ca5e<7>[ 0.510156] e1000_alloc_rx_buffers: buffer_info[113]->dma: 5f35c822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22c8355f<7>[ 0.510159] e1000_alloc_rx_buffers: buffer_info[114]->dma: 5f35c022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22c0355f<7>[ 0.510164] e1000_alloc_rx_buffers: buffer_info[115]->dma: 5f35d822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22d8355f<7>[ 0.510167] e1000_alloc_rx_buffers: buffer_info[116]->dma: 5f35d022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22d0355f<7>[ 0.510171] e1000_alloc_rx_buffers: buffer_info[117]->dma: 5f37e822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22e8375f<7>[ 0.510174] e1000_alloc_rx_buffers: buffer_info[118]->dma: 5f37e022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22e0375f<7>[ 0.510179] e1000_alloc_rx_buffers: buffer_info[119]->dma: 5f37f822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22f8375f<7>[ 0.510183] e1000_alloc_rx_buffers: buffer_info[120]->dma: 5f37f022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22f0375f<7>[ 0.510187] e1000_alloc_rx_buffers: buffer_info[121]->dma: 5f31f822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22f8315f<7>[ 0.510190] e1000_alloc_rx_buffers: buffer_info[122]->dma: 5f31f022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22f0315f<7>[ 0.510195] e1000_alloc_rx_buffers: buffer_info[123]->dma: 5f9fc822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22c89f5f<7>[ 0.510198] e1000_alloc_rx_buffers: buffer_info[124]->dma: 5f9fc022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22c09f5f<7>[ 0.510202] e1000_alloc_rx_buffers: buffer_info[125]->dma: 5f9fd822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22d89f5f<7>[ 0.510205] e1000_alloc_rx_buffers: buffer_info[126]->dma: 5f9fd022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22d09f5f<7>[ 0.510210] e1000_alloc_rx_buffers: buffer_info[127]->dma: 5f3ac822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22c83a5f<7>[ 0.510213] e1000_alloc_rx_buffers: buffer_info[128]->dma: 5f3ac022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22c03a5f<7>[ 0.510217] e1000_alloc_rx_buffers: buffer_info[129]->dma: 5f3ad822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22d83a5f<7>[ 0.510220] e1000_alloc_rx_buffers: buffer_info[130]->dma: 5f3ad022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22d03a5f<7>[ 0.510225] e1000_alloc_rx_buffers: buffer_info[131]->dma: 5ec9e822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22e8c95e<7>[ 0.510228] e1000_alloc_rx_buffers: buffer_info[132]->dma: 5ec9e022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22e0c95e<7>[ 0.510232] e1000_alloc_rx_buffers: buffer_info[133]->dma: 5ec9f822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22f8c95e<7>[ 0.510235] e1000_alloc_rx_buffers: buffer_info[134]->dma: 5ec9f022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22f0c95e<7>[ 0.510240] e1000_alloc_rx_buffers: buffer_info[135]->dma: 5ecce822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22e8cc5e<7>[ 0.510243] e1000_alloc_rx_buffers: buffer_info[136]->dma: 5ecce022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22e0cc5e<7>[ 0.510247] e1000_alloc_rx_buffers: buffer_info[137]->dma: 5eccf822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22f8cc5e<7>[ 0.510250] e1000_alloc_rx_buffers: buffer_info[138]->dma: 5eccf022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22f0cc5e<7>[ 0.510255] e1000_alloc_rx_buffers: buffer_info[139]->dma: 5d3de822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22e83d5d<7>[ 0.510259] e1000_alloc_rx_buffers: buffer_info[140]->dma: 5d3de022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22e03d5d<7>[ 0.510263] e1000_alloc_rx_buffers: buffer_info[141]->dma: 5f9d4822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22489d5f<7>[ 0.510266] e1000_alloc_rx_buffers: buffer_info[142]->dma: 5f9d4022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22409d5f<7>[ 0.510271] e1000_alloc_rx_buffers: buffer_info[143]->dma: 5f9d5822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22589d5f<7>[ 0.510274] e1000_alloc_rx_buffers: buffer_info[144]->dma: 5f9d5022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22509d5f<7>[ 0.510278] e1000_alloc_rx_buffers: buffer_info[145]->dma: 5f9b4822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22489b5f<7>[ 0.510281] e1000_alloc_rx_buffers: buffer_info[146]->dma: 5f9b4022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22409b5f<7>[ 0.510286] e1000_alloc_rx_buffers: buffer_info[147]->dma: 5f9b5822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22589b5f<7>[ 0.510288] e1000_alloc_rx_buffers: buffer_info[148]->dma: 5f9b5022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22509b5f<7>[ 0.510293] e1000_alloc_rx_buffers: buffer_info[149]->dma: 5f91c822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22c8915f<7>[ 0.510296] e1000_alloc_rx_buffers: buffer_info[150]->dma: 5f91c022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22c0915f<7>[ 0.510300] e1000_alloc_rx_buffers: buffer_info[151]->dma: 5f91d822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22d8915f<7>[ 0.510303] e1000_alloc_rx_buffers: buffer_info[152]->dma: 5f91d022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22d0915f<7>[ 0.510308] e1000_alloc_rx_buffers: buffer_info[153]->dma: 5f2cc822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22c82c5f<7>[ 0.510311] e1000_alloc_rx_buffers: buffer_info[154]->dma: 5f2cc022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22c02c5f<7>[ 0.510315] e1000_alloc_rx_buffers: buffer_info[155]->dma: 5f2cd822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22d82c5f<7>[ 0.510318] e1000_alloc_rx_buffers: buffer_info[156]->dma: 5f2cd022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22d02c5f<7>[ 0.510323] e1000_alloc_rx_buffers: buffer_info[157]->dma: 5f2c8822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22882c5f<7>[ 0.510326] e1000_alloc_rx_buffers: buffer_info[158]->dma: 5f2c8022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22802c5f<7>[ 0.510330] e1000_alloc_rx_buffers: buffer_info[159]->dma: 5f2c9822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22982c5f<7>[ 0.510334] e1000_alloc_rx_buffers: buffer_info[160]->dma: 5f2c9022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22902c5f<7>[ 0.510339] e1000_alloc_rx_buffers: buffer_info[161]->dma: 5f2cb822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22b82c5f<7>[ 0.510342] e1000_alloc_rx_buffers: buffer_info[162]->dma: 5f2cb022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22b02c5f<7>[ 0.510346] e1000_alloc_rx_buffers: buffer_info[163]->dma: 5f840822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2208845f<7>[ 0.510349] e1000_alloc_rx_buffers: buffer_info[164]->dma: 5f840022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2200845f<7>[ 0.510354] e1000_alloc_rx_buffers: buffer_info[165]->dma: 5f841822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2218845f<7>[ 0.510357] e1000_alloc_rx_buffers: buffer_info[166]->dma: 5f841022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2210845f<7>[ 0.510361] e1000_alloc_rx_buffers: buffer_info[167]->dma: 5f842822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2228845f<7>[ 0.510364] e1000_alloc_rx_buffers: buffer_info[168]->dma: 5f842022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2220845f<7>[ 0.510368] e1000_alloc_rx_buffers: buffer_info[169]->dma: 5f843822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2238845f<7>[ 0.510371] e1000_alloc_rx_buffers: buffer_info[170]->dma: 5f843022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2230845f<7>[ 0.510376] e1000_alloc_rx_buffers: buffer_info[171]->dma: 5f854822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2248855f<7>[ 0.510379] e1000_alloc_rx_buffers: buffer_info[172]->dma: 5f854022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2240855f<7>[ 0.510383] e1000_alloc_rx_buffers: buffer_info[173]->dma: 5f855822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2258855f<7>[ 0.510386] e1000_alloc_rx_buffers: buffer_info[174]->dma: 5f855022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2250855f<7>[ 0.510391] e1000_alloc_rx_buffers: buffer_info[175]->dma: 5f856822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2268855f<7>[ 0.510394] e1000_alloc_rx_buffers: buffer_info[176]->dma: 5f856022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2260855f<7>[ 0.510398] e1000_alloc_rx_buffers: buffer_info[177]->dma: 5f857822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2278855f<7>[ 0.510401] e1000_alloc_rx_buffers: buffer_info[178]->dma: 5f857022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2270855f<7>[ 0.510406] e1000_alloc_rx_buffers: buffer_info[179]->dma: 5f918822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2288915f<7>[ 0.510410] e1000_alloc_rx_buffers: buffer_info[180]->dma: 5f918022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2280915f<7>[ 0.510414] e1000_alloc_rx_buffers: buffer_info[181]->dma: 5f91a822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22a8915f<7>[ 0.510417] e1000_alloc_rx_buffers: buffer_info[182]->dma: 5f91a022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22a0915f<7>[ 0.510422] e1000_alloc_rx_buffers: buffer_info[183]->dma: 5f91b822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22b8915f<7>[ 0.510424] e1000_alloc_rx_buffers: buffer_info[184]->dma: 5f91b022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22b0915f<7>[ 0.510431] e1000_alloc_rx_buffers: buffer_info[185]->dma: 5f958822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2288955f<7>[ 0.510434] e1000_alloc_rx_buffers: buffer_info[186]->dma: 5f958022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2280955f<7>[ 0.510438] e1000_alloc_rx_buffers: buffer_info[187]->dma: 5f95a822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22a8955f<7>[ 0.510441] e1000_alloc_rx_buffers: buffer_info[188]->dma: 5f95a022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22a0955f<7>[ 0.510445] e1000_alloc_rx_buffers: buffer_info[189]->dma: 5f95b822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22b8955f<7>[ 0.510448] e1000_alloc_rx_buffers: buffer_info[190]->dma: 5f95b022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22b0955f<7>[ 0.510453] e1000_alloc_rx_buffers: buffer_info[191]->dma: 5f9b0822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22089b5f<7>[ 0.510456] e1000_alloc_rx_buffers: buffer_info[192]->dma: 5f9b0022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22009b5f<7>[ 0.510460] e1000_alloc_rx_buffers: buffer_info[193]->dma: 5f9b1822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22189b5f<7>[ 0.510463] e1000_alloc_rx_buffers: buffer_info[194]->dma: 5f9b1022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22109b5f<7>[ 0.510468] e1000_alloc_rx_buffers: buffer_info[195]->dma: 5f9b2822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22289b5f<7>[ 0.510471] e1000_alloc_rx_buffers: buffer_info[196]->dma: 5f9b2022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22209b5f<7>[ 0.510476] e1000_alloc_rx_buffers: buffer_info[197]->dma: 5f9b3822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22389b5f<7>[ 0.510479] e1000_alloc_rx_buffers: buffer_info[198]->dma: 5f9b3022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22309b5f<7>[ 0.510483] e1000_alloc_rx_buffers: buffer_info[199]->dma: 5f96c822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22c8965f<7>[ 0.510487] e1000_alloc_rx_buffers: buffer_info[200]->dma: 5f96c022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22c0965f<7>[ 0.510492] e1000_alloc_rx_buffers: buffer_info[201]->dma: 5f96e822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22e8965f<7>[ 0.510495] e1000_alloc_rx_buffers: buffer_info[202]->dma: 5f96e022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22e0965f<7>[ 0.510499] e1000_alloc_rx_buffers: buffer_info[203]->dma: 5f96f822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22f8965f<7>[ 0.510502] e1000_alloc_rx_buffers: buffer_info[204]->dma: 5f96f022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22f0965f<7>[ 0.510506] e1000_alloc_rx_buffers: buffer_info[205]->dma: 5f92c822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22c8925f<7>[ 0.510509] e1000_alloc_rx_buffers: buffer_info[206]->dma: 5f92c022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22c0925f<7>[ 0.510514] e1000_alloc_rx_buffers: buffer_info[207]->dma: 5f92d822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22d8925f<7>[ 0.510516] e1000_alloc_rx_buffers: buffer_info[208]->dma: 5f92d022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22d0925f<7>[ 0.510521] e1000_alloc_rx_buffers: buffer_info[209]->dma: 5f92e822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22e8925f<7>[ 0.510524] e1000_alloc_rx_buffers: buffer_info[210]->dma: 5f92e022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22e0925f<7>[ 0.510529] e1000_alloc_rx_buffers: buffer_info[211]->dma: 5f92f822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22f8925f<7>[ 0.510531] e1000_alloc_rx_buffers: buffer_info[212]->dma: 5f92f022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22f0925f<7>[ 0.510536] e1000_alloc_rx_buffers: buffer_info[213]->dma: 5f9e4822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22489e5f<7>[ 0.510539] e1000_alloc_rx_buffers: buffer_info[214]->dma: 5f9e4022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22409e5f<7>[ 0.510543] e1000_alloc_rx_buffers: buffer_info[215]->dma: 5f9e5822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22589e5f<7>[ 0.510546] e1000_alloc_rx_buffers: buffer_info[216]->dma: 5f9e5022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22509e5f<7>[ 0.510551] e1000_alloc_rx_buffers: buffer_info[217]->dma: 5f9e6822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22689e5f<7>[ 0.510554] e1000_alloc_rx_buffers: buffer_info[218]->dma: 5f9e6022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22609e5f<7>[ 0.510558] e1000_alloc_rx_buffers: buffer_info[219]->dma: 5f9e7822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22789e5f<7>[ 0.510563] e1000_alloc_rx_buffers: buffer_info[220]->dma: 5f9e7022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22709e5f<7>[ 0.510567] e1000_alloc_rx_buffers: buffer_info[221]->dma: 5f9d1822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22189d5f<7>[ 0.510570] e1000_alloc_rx_buffers: buffer_info[222]->dma: 5f9d1022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22109d5f<7>[ 0.510575] e1000_alloc_rx_buffers: buffer_info[223]->dma: 5f9d2822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22289d5f<7>[ 0.510578] e1000_alloc_rx_buffers: buffer_info[224]->dma: 5f9d2022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22209d5f<7>[ 0.510582] e1000_alloc_rx_buffers: buffer_info[225]->dma: 5f9d3822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22389d5f<7>[ 0.510585] e1000_alloc_rx_buffers: buffer_info[226]->dma: 5f9d3022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22309d5f<7>[ 0.510589] e1000_alloc_rx_buffers: buffer_info[227]->dma: 5f9f4822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22489f5f<7>[ 0.510592] e1000_alloc_rx_buffers: buffer_info[228]->dma: 5f9f4022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22409f5f<7>[ 0.510597] e1000_alloc_rx_buffers: buffer_info[229]->dma: 5f9f5822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22589f5f<7>[ 0.510599] e1000_alloc_rx_buffers: buffer_info[230]->dma: 5f9f5022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22509f5f<7>[ 0.510604] e1000_alloc_rx_buffers: buffer_info[231]->dma: 5f9f6822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22689f5f<7>[ 0.510607] e1000_alloc_rx_buffers: buffer_info[232]->dma: 5f9f6022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22609f5f<7>[ 0.510611] e1000_alloc_rx_buffers: buffer_info[233]->dma: 5f9f7822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22789f5f<7>[ 0.510614] e1000_alloc_rx_buffers: buffer_info[234]->dma: 5f9f7022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22709f5f<7>[ 0.510619] e1000_alloc_rx_buffers: buffer_info[235]->dma: 5e3d8822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22883d5e<7>[ 0.510622] e1000_alloc_rx_buffers: buffer_info[236]->dma: 5e3d8022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22803d5e<7>[ 0.510627] e1000_alloc_rx_buffers: buffer_info[237]->dma: 5e3d9822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22983d5e<7>[ 0.510630] e1000_alloc_rx_buffers: buffer_info[238]->dma: 5e3d9022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22903d5e<7>[ 0.510634] e1000_alloc_rx_buffers: buffer_info[239]->dma: 5e3da822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22a83d5e<7>[ 0.510638] e1000_alloc_rx_buffers: buffer_info[240]->dma: 5e3da022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22a03d5e<7>[ 0.510642] e1000_alloc_rx_buffers: buffer_info[241]->dma: 5ecb8822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2288cb5e<7>[ 0.510645] e1000_alloc_rx_buffers: buffer_info[242]->dma: 5ecb8022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2280cb5e<7>[ 0.510650] e1000_alloc_rx_buffers: buffer_info[243]->dma: 5ecb9822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2298cb5e<7>[ 0.510653] e1000_alloc_rx_buffers: buffer_info[244]->dma: 5ecb9022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2290cb5e<7>[ 0.510657] e1000_alloc_rx_buffers: buffer_info[245]->dma: 5ecba822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22a8cb5e<7>[ 0.510660] e1000_alloc_rx_buffers: buffer_info[246]->dma: 5ecba022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22a0cb5e<7>[ 0.510665] e1000_alloc_rx_buffers: buffer_info[247]->dma: 5ecbb822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22b8cb5e<7>[ 0.510667] e1000_alloc_rx_buffers: buffer_info[248]->dma: 5ecbb022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22b0cb5e<7>[ 0.510672] e1000_alloc_rx_buffers: buffer_info[249]->dma: 5ecc8822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2288cc5e<7>[ 0.510675] e1000_alloc_rx_buffers: buffer_info[250]->dma: 5ecc8022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2280cc5e<7>[ 0.510680] e1000_alloc_rx_buffers: buffer_info[251]->dma: 5ecc9822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2298cc5e<7>[ 0.510683] e1000_alloc_rx_buffers: buffer_info[252]->dma: 5ecc9022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 2290cc5e<7>[ 0.510687] e1000_alloc_rx_buffers: buffer_info[253]->dma: 5ecca822,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22a8cc5e<7>[ 0.510690] e1000_alloc_rx_buffers: buffer_info[254]->dma: 5ecca022,rx_buffer_len:5f2, rx_desc->read.buffer_addr; 22a0cc5e<7>[ 0.510697] e1000_intr: ICR: 80000004<7>[ 0.510700] e1000_clean_rx_irq:staterr: 0, skb->len: 0, skb->data_len: 0,ring.rx_desc[0], rx_desc.buf_addr:0, buf_info.dma: 2270c95e, buf_info.len: 0<7>[ 0.510701] 2270c95e 0 0 0<6>[ 0.511312] [U] ethtool -d eth0<6>[ 0.512139] [U] MAC Registers<6>[ 0.512143] [U] -------------<6>[ 0.512196] [U] 0x00000: CTRL (Device control register) 0x400C0241<6>[ 0.512200] [U] Endian mode (buffers): little<6>[ 0.512202] [U] Link reset: normal<6>[ 0.512204] [U] Set link up: 1<6>[ 0.512206] [U] Invert Loss-Of-Signal: no<6>[ 0.512208] [U] Receive flow control: disabled<6>[ 0.512210] [U] Transmit flow control: disabled<6>[ 0.512212] [U] VLAN mode: enabled<6>[ 0.512214] [U] Auto speed detect: disabled<6>[ 0.512216] [U] Speed select: 1000Mb/s<6>[ 0.512218] [U] Force speed: no<6>[ 0.512219] [U] Force duplex: no<6>[ 0.512221] [U] 0x00008: STATUS (Device status register) 0x00080341<6>[ 0.512223] [U] Duplex: full<6>[ 0.512225] [U] Link up: no link config<6>[ 0.512227] [U] TBI mode: disabled<6>[ 0.512229] [U] Link speed: 100Mb/s<6>[ 0.512231] [U] Bus type: PCI Express<6>[ 0.512233] [U] Port number: 0<6>[ 0.512234] [U] 0x00100: RCTL (Receive control register) 0x04008002<6>[ 0.512236] [U] Receiver: enabled<6>[ 0.512238] [U] Store bad packets: disabled<6>[ 0.512240] [U] Unicast promiscuous: disabled<6>[ 0.512242] [U] Multicast promiscuous: disabled<6>[ 0.512244] [U] Long packet: disabled<6>[ 0.512246] [U] Descriptor minimum threshold size: 1/2<6>[ 0.512247] [U] Broadcast accept mode: accept<6>[ 0.512249] [U] VLAN filter: disabled<6>[ 0.512251] [U] Canonical form indicator: disabled<6>[ 0.512253] [U] Discard pause frames: filtered<6>[ 0.512255] [U] Pass MAC control frames: don't pass<6>[ 0.512256] [U] Receive buffer size: 2048<6>[ 0.512258] [U] 0x02808: RDLEN (Receive desc length) 0x00001000<6>[ 0.512260] [U] 0x02810: RDH (Receive desc head) 0x00000000<6>[ 0.512262] [U] 0x02818: RDT (Receive desc tail) 0x000000F0<6>[ 0.512264] [U] 0x02820: RDTR (Receive delay timer) 0x00000020<6>[ 0.512265] [U] 0x00400: TCTL (Transmit ctrl register) 0x3103F0F8<6>[ 0.512267] [U] Transmitter: disabled<6>[ 0.512269] [U] Pad short packets: enabled<6>[ 0.512271] [U] Software XOFF Transmission: disabled<6>[ 0.512273] [U] Re-transmit on late collision: enabled<6>[ 0.512274] [U] 0x03808: TDLEN (Transmit desc length) 0x00001000<6>[ 0.512276] [U] 0x03810: TDH (Transmit desc head) 0x00000000<6>[ 0.512278] [U] 0x03818: TDT (Transmit desc tail) 0x00000000<6>[ 0.512280] [U] 0x03820: TIDV (Transmit delay timer) 0x00000008<6>[ 0.512281] [U] PHY type: unknown<6>[ 0.512641] [U] 3.ping 10.10.10.2 -c 3<6>[ 0.513100] [U] PING 10.10.10.2 (10.10.10.2): 56 data bytes<7>[ 0.513845] e1000_intr: ICR: 80000010<7>[ 0.513847] e1000_clean_rx_irq:staterr: 0, skb->len: 0, skb->data_len: 0,ring.rx_desc[0], rx_desc.buf_addr:0, buf_info.dma: 2270c95e, buf_info.len: 0<7>[ 0.513848] 2270c95e 0 0 0<7>[ 0.561398] e1000_intr: ICR: 80000004<7>[ 0.561400] e1000_clean_rx_irq:staterr: 0, skb->len: 0, skb->data_len: 0,ring.rx_desc[0], rx_desc.buf_addr:0, buf_info.dma: 2270c95e, buf_info.len: 0<7>[ 0.561400] 2270c95e 0 0 0<6>[ 0.562524] e1000e: eth0 NIC Link is Up 100 Mbps Full Duplex, Flow Control: Rx/Tx<6>[ 0.562528] e1000e 0000:00:04.0: eth0: 10/100 speed: disabling TSO<7>[ 0.562536] e1000_intr: ICR: 80000012<7>[ 0.562537] e1000_clean_rx_irq:staterr: 0, skb->len: 0, skb->data_len: 0,ring.rx_desc[0], rx_desc.buf_addr:0, buf_info.dma: 2270c95e, buf_info.len: 0<7>[ 0.562538] 2270c95e 0 0 0<7>[ 2.826136] e1000_intr: ICR: 80000011<7>[ 2.826138] e1000_clean_rx_irq:staterr: 0, skb->len: 0, skb->data_len: 0,ring.rx_desc[0], rx_desc.buf_addr:0, buf_info.dma: 2270c95e, buf_info.len: 0<7>[ 2.826139] 2270c95e 0 0 0<7>[ 4.821733] e1000_intr: ICR: 80000011<7>[ 4.821735] e1000_clean_rx_irq:staterr: 0, skb->len: 0, skb->data_len: 0,ring.rx_desc[0], rx_desc.buf_addr:0, buf_info.dma: 2270c95e, buf_info.len: 0<7>[ 4.821736] 2270c95e 0 0 0<7>[ 6.821727] e1000_intr: ICR: 80000010<7>[ 6.821728] e1000_clean_rx_irq:staterr: 0, skb->len: 0, skb->data_len: 0,ring.rx_desc[0], rx_desc.buf_addr:0, buf_info.dma: 2270c95e, buf_info.len: 0<7>[ 6.821729] 2270c95e 0 0 0<7>[ 8.821732] e1000_intr: ICR: 80000010<7>[ 8.821734] e1000_clean_rx_irq:staterr: 0, skb->len: 0, skb->data_len: 0,ring.rx_desc[0], rx_desc.buf_addr:0, buf_info.dma: 2270c95e, buf_info.len: 0<7>[ 8.821735] 2270c95e 0 0 0<7>[ 10.821727] e1000_intr: ICR: 80000010<7>[ 10.821728] e1000_clean_rx_irq:staterr: 0, skb->len: 0, skb->data_len: 0,ring.rx_desc[0], rx_desc.buf_addr:0, buf_info.dma: 2270c95e, buf_info.len: 0<7>[ 10.821729] 2270c95e 0 0 0<6>[ 12.529730] [U] <6>[ 12.529734] [U] --- 10.10.10.2 ping statistics ---<6>[ 12.529737] [U] 3 packets transmitted, 0 packets received, 100% packet loss<6>[ 12.530068] [U] cat /proc/interrupts<6>[ 12.530432] [U] CPU0 <6>[ 12.530435] [U] 16: 18 XXX INTC Level eth0<6>[ 12.530436] [U] LOC: 3132 Local timer interrupts<6>[ 12.530438] [U] SPU: 0 Spurious interrupts<6>[ 12.530439] [U] CNT: 0 Performance monitoring interrupts<6>[ 12.530440] [U] MCE: 0 Machine check exceptions<6>[ 12.530770] [U] cat /proc/meminfo | grep em<6>[ 12.531658] [U] executing /home/stat.sh<6>[ 12.532611] [U] 1) stat.sh: ifconfig eth0<6>[ 12.533383] [U] eth0 Link encap:Ethernet HWaddr E4:1F:13:4F:28:D4 <6>[ 12.533400] [U] inet addr:10.10.10.111 Bcast:10.255.255.255 Mask:255.0.0.0<6>[ 12.533428] [U] UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1<6>[ 12.533439] [U] RX packets:2 errors:0 dropped:0 overruns:0 frame:0<6>[ 12.533447] [U] TX packets:2 errors:0 dropped:0 overruns:0 carrier:0<6>[ 12.533453] [U] collisions:0 txqueuelen:1000 <6>[ 12.533465] [U] RX bytes:128 (128.0 B) TX bytes:128 (128.0 B)<6>[ 12.533472] [U] Interrupt:16 Memory:80000000-80020000 <6>[ 12.533474] [U] <6>[ 12.533832] [U] 1) stat.sh: ethtool -S eth0 | grep x_pack<6>[ 12.534042] [U] NIC statistics:<6>[ 12.534049] [U] rx_packets: 2<6>[ 12.534050] [U] tx_packets: 2<6>[ 12.534051] [U] rx_bytes: 128<6>[ 12.534052] [U] tx_bytes: 128<6>[ 12.534054] [U] rx_broadcast: 0<6>[ 12.534055] [U] tx_broadcast: 2<6>[ 12.534056] [U] rx_multicast: 0<6>[ 12.534057] [U] tx_multicast: 0<6>[ 12.534059] [U] rx_errors: 0<6>[ 12.534060] [U] tx_errors: 0<6>[ 12.534061] [U] tx_dropped: 0<6>[ 12.534062] [U] multicast: 0<6>[ 12.534064] [U] collisions: 0<6>[ 12.534065] [U] rx_length_errors: 0<6>[ 12.534066] [U] rx_over_errors: 0<6>[ 12.534067] [U] rx_crc_errors: 0<6>[ 12.534069] [U] rx_frame_errors: 0<6>[ 12.534070] [U] rx_no_buffer_count: 0<6>[ 12.534071] [U] rx_missed_errors: 0<6>[ 12.534073] [U] tx_aborted_errors: 0<6>[ 12.534074] [U] tx_carrier_errors: 0<6>[ 12.534075] [U] tx_fifo_errors: 0<6>[ 12.534077] [U] tx_heartbeat_errors: 0<6>[ 12.534078] [U] tx_window_errors: 0<6>[ 12.534079] [U] tx_abort_late_coll: 0<6>[ 12.534081] [U] tx_deferred_ok: 0<6>[ 12.534082] [U] tx_single_coll_ok: 0<6>[ 12.534083] [U] tx_multi_coll_ok: 0<6>[ 12.534085] [U] tx_timeout_count: 0<6>[ 12.534086] [U] tx_restart_queue: 0<6>[ 12.534087] [U] rx_long_length_errors: 0<6>[ 12.534089] [U] rx_short_length_errors: 0<6>[ 12.534090] [U] rx_align_errors: 0<6>[ 12.534092] [U] tx_tcp_seg_good: 0<6>[ 12.534093] [U] tx_tcp_seg_failed: 0<6>[ 12.534094] [U] rx_flow_control_xon: 0<6>[ 12.534096] [U] rx_flow_control_xoff: 0<6>[ 12.534097] [U] tx_flow_control_xon: 0<6>[ 12.534098] [U] tx_flow_control_xoff: 0<6>[ 12.534100] [U] rx_long_byte_count: 128<6>[ 12.534101] [U] rx_csum_offload_good: 0<6>[ 12.534103] [U] rx_csum_offload_errors: 0<6>[ 12.534104] [U] rx_header_split: 0<6>[ 12.534105] [U] alloc_rx_buff_failed: 0<6>[ 12.534107] [U] tx_smbus: 0<6>[ 12.534108] [U] rx_smbus: 0<6>[ 12.534109] [U] dropped_smbus: 0<6>[ 12.534110] [U] rx_dma_failed: 0<6>[ 12.534112] [U] tx_dma_failed: 0
Regards,Sumesh.
[-- Attachment #2: Type: text/html, Size: 111621 bytes --]
^ permalink raw reply
* Re: [PATCH] bindings: i2c: use consistent naming for i2c binding descriptions
From: Grant Likely @ 2012-11-15 15:58 UTC (permalink / raw)
To: Wolfram Sang, linux-i2c
Cc: devicetree-discuss, Wolfram Sang, linux-kernel, linuxppc-dev,
Rob Herring, linux-arm-kernel
In-Reply-To: <1352827003-24287-1-git-send-email-wolfram@the-dreams.de>
On Tue, 13 Nov 2012 18:16:43 +0100, Wolfram Sang <wolfram@the-dreams.de> wrote:
> Filenames of devictree binding documentation seems to be arbitrary and
> for me it is unneeded hazzle to find the corresponding documentation for
> a specific driver.
>
> Naming the description the same as the driver is a lot easier and makes
> sense to me since the driver defines the binding it understands.
>
> Also, remove a reference in one source to the binding documentation, since path
> information easily gets stale.
>
> Signed-off-by: Wolfram Sang <wolfram@the-dreams.de>
> Cc: Rob Herring <robherring2@gmail.com>
> Cc: Grant Likely <grant.likely@secretlab.ca>
Applied, thanks.
g.
^ permalink raw reply
* Re: PROBLEM: Linux 3.6.2 fails to boot on IBM Cell
From: Dennis Schridde @ 2012-11-15 16:13 UTC (permalink / raw)
To: Grant Likely; +Cc: Thomas Gleixner, linuxppc-dev
In-Reply-To: <1573571.I7ElC3JheV@ernie>
[-- Attachment #1: Type: text/plain, Size: 539 bytes --]
Hello again!
Am Donnerstag, 25. Oktober 2012, 21:33:41 schrieb Dennis Schridde:
> Am Freitag, 19. Oktober 2012, 09:04:08 schrieb Dennis Schridde:
> > Am Freitag, 19. Oktober 2012, 00:17:55 schrieb Grant Likely:
> > > What does the boot log look like with the attached patch? (compiled
> > > only, I haven't booted with it)
> >
> > Please find the log attached.
>
> Have you found the cause or a fix for the problem?
It's been a while — are you still working on this? Is there a patch I could
try?
Best regards,
Dennis
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply
* Re: PROBLEM: Linux 3.6.2 fails to boot on IBM Cell
From: Grant Likely @ 2012-11-15 17:58 UTC (permalink / raw)
To: Dennis Schridde; +Cc: Thomas Gleixner, linuxppc-dev
In-Reply-To: <1573571.I7ElC3JheV@ernie>
On Thu, 25 Oct 2012 21:33:41 +0200, Dennis Schridde <devurandom@gmx.net> wrote:
> Hello everyone!
>
> Am Freitag, 19. Oktober 2012, 09:04:08 schrieb Dennis Schridde:
> > Am Freitag, 19. Oktober 2012, 00:17:55 schrieb Grant Likely:
> > > What does the boot log look like with the attached patch? (compiled
> > > only, I haven't booted with it)
> >
> > Please find the log attached.
> Have you found the cause or a fix for the problem?
Umm, no. Some suggestions were made so I assumed you'd try those.
Anyway, here is a real patch. Try this:
g.
diff --git a/arch/powerpc/platforms/cell/pmu.c b/arch/powerpc/platforms/cell/pmu.c
index 59c1a16..348a27b 100644
--- a/arch/powerpc/platforms/cell/pmu.c
+++ b/arch/powerpc/platforms/cell/pmu.c
@@ -382,7 +382,7 @@ static int __init cbe_init_pm_irq(void)
unsigned int irq;
int rc, node;
- for_each_node(node) {
+ for_each_online_node(node) {
irq = irq_create_mapping(NULL, IIC_IRQ_IOEX_PMI |
(node << IIC_IRQ_NODE_SHIFT));
if (irq == NO_IRQ) {
^ permalink raw reply related
* Re: [PATCH RFT RESEND linux-next] powerpc: dma-mapping: support debug_dma_mapping_error
From: Shuah Khan @ 2012-11-15 18:05 UTC (permalink / raw)
To: benh, m.szyprowski
Cc: arnd, LKML, kyungmin.park, paulus, shuahkhan, andrzej.p,
linuxppc-dev, david
In-Reply-To: <1351267705.4013.18.camel@lorien2>
On Fri, 2012-10-26 at 10:08 -0600, Shuah Khan wrote:
> Add support for debug_dma_mapping_error() call to avoid warning from
> debug_dma_unmap() interface when it checks for mapping error checked
> status. Without this patch, device driver failed to check map error
> warning is generated.
>
> Signed-off-by: Shuah Khan <shuah.khan@hp.com>
> ---
> arch/powerpc/include/asm/dma-mapping.h | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/arch/powerpc/include/asm/dma-mapping.h b/arch/powerpc/include/asm/dma-mapping.h
> index 7816087..e27e9ad 100644
> --- a/arch/powerpc/include/asm/dma-mapping.h
> +++ b/arch/powerpc/include/asm/dma-mapping.h
> @@ -172,6 +172,7 @@ static inline int dma_mapping_error(struct device *dev, dma_addr_t dma_addr)
> {
> struct dma_map_ops *dma_ops = get_dma_ops(dev);
>
> + debug_dma_mapping_error(dev, dma_addr);
> if (dma_ops->mapping_error)
> return dma_ops->mapping_error(dev, dma_addr);
>
Marek,
This one is for powerpc to go through your tree with the other arch
debug_dma_mapping_error() patches.
Thanks,
-- Shuah
^ permalink raw reply
* Re: [PATCH] driver/mtd/IFC:Wait tWB time, poll R/B before command execution
From: Artem Bityutskiy @ 2012-11-16 8:45 UTC (permalink / raw)
To: Prabhakar Kushwaha; +Cc: scottwood, linuxppc-dev, linux-mtd, Hemant Nautiyal
In-Reply-To: <1352362380-13568-1-git-send-email-prabhakar@freescale.com>
[-- Attachment #1: Type: text/plain, Size: 629 bytes --]
On Thu, 2012-11-08 at 13:42 +0530, Prabhakar Kushwaha wrote:
> IFC_FIR_OP_CMD0 issues command for execution without checking flash
> readiness. It may cause problem if flash is not ready. Instead use
> IFC_FIR_OP_CW0 which Wait for tWB time and poll R/B to return high or
> time-out, before issuing command.
>
> NAND_CMD_READID command implemention does not fulfill above requirement. So
> update its programming.
>
> Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>
> Signed-off-by: Hemant Nautiyal <hemant.nautiyal@freescale.com>
Pushed to l2-mtd.git, thanks!
--
Best Regards,
Artem Bityutskiy
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply
* [PATCH] powerpc, perf: Change PMU flag values representation from decimal to hex
From: Anshuman Khandual @ 2012-11-16 8:59 UTC (permalink / raw)
To: benh, paulus
Cc: michael.neuling, linuxppc-dev, linux-kernel, Anshuman Khandual
Signed-off-by: Anshuman Khandual <khandual@linux.vnet.ibm.com>
---
arch/powerpc/include/asm/perf_event_server.h | 21 ++++++++++++++++-----
1 file changed, 16 insertions(+), 5 deletions(-)
diff --git a/arch/powerpc/include/asm/perf_event_server.h b/arch/powerpc/include/asm/perf_event_server.h
index 9710be3..e3f10bb 100644
--- a/arch/powerpc/include/asm/perf_event_server.h
+++ b/arch/powerpc/include/asm/perf_event_server.h
@@ -11,6 +11,7 @@
#include <linux/types.h>
#include <asm/hw_irq.h>
+#include <asm/asm-compat.h>
#define MAX_HWEVENTS 8
#define MAX_EVENT_ALTERNATIVES 8
@@ -45,11 +46,21 @@ struct power_pmu {
/*
* Values for power_pmu.flags
*/
-#define PPMU_LIMITED_PMC5_6 1 /* PMC5/6 have limited function */
-#define PPMU_ALT_SIPR 2 /* uses alternate posn for SIPR/HV */
-#define PPMU_NO_SIPR 4 /* no SIPR/HV in MMCRA at all */
-#define PPMU_NO_CONT_SAMPLING 8 /* no continuous sampling */
-#define PPMU_SIAR_VALID 16 /* Processor has SIAR Valid bit */
+
+#define PPMU_LIMITED_PMC5_6 \
+ LONG_ASM_CONST(0x0000000000000001) /* PMC5/6 have limited function */
+
+#define PPMU_ALT_SIPR \
+ LONG_ASM_CONST(0x0000000000000002) /* uses alternate posn for SIPR/HV */
+
+#define PPMU_NO_SIPR \
+ LONG_ASM_CONST(0x0000000000000004) /* no SIPR/HV in MMCRA at all */
+
+#define PPMU_NO_CONT_SAMPLING \
+ LONG_ASM_CONST(0x0000000000000008) /* no continuous sampling */
+
+#define PPMU_SIAR_VALID \
+ LONG_ASM_CONST(0x0000000000000010) /* Processor has SIAR Valid bit */
/*
* Values for flags to get_alternatives()
--
1.7.11.7
^ permalink raw reply related
* Re: [PATCH] powerpc, perf: Change PMU flag values representation from decimal to hex
From: Paul Mackerras @ 2012-11-16 11:42 UTC (permalink / raw)
To: Anshuman Khandual; +Cc: michael.neuling, linuxppc-dev, linux-kernel
In-Reply-To: <1353056344-1392-1-git-send-email-khandual@linux.vnet.ibm.com>
On Fri, Nov 16, 2012 at 02:29:04PM +0530, Anshuman Khandual wrote:
> Signed-off-by: Anshuman Khandual <khandual@linux.vnet.ibm.com>
That's not a sufficient description of why you are making this
change. In particular, what is the motivation for and impact of using
LONG_ASM_CONST?
Paul.
^ permalink raw reply
* Re: [PATCH v3 00/12] memory-hotplug: hot-remove physical memory
From: Wen Congyang @ 2012-11-16 11:55 UTC (permalink / raw)
To: Wen Congyang
Cc: linux-s390, linux-ia64, Len Brown, linux-acpi, linux-sh, x86,
linux-kernel, cmetcalf, Jianguo Wu, linux-mm, Yasuaki Ishimatsu,
paulus, Minchan Kim, KOSAKI Motohiro, David Rientjes, sparclinux,
Christoph Lameter, linuxppc-dev, Andrew Morton, Jiang Liu
In-Reply-To: <1351763083-7905-1-git-send-email-wency@cn.fujitsu.com>
Ping
At 11/01/2012 05:44 PM, Wen Congyang Wrote:
> The patch-set was divided from following thread's patch-set.
> https://lkml.org/lkml/2012/9/5/201
>
> The last version of this patchset:
> https://lkml.org/lkml/2012/10/23/213
>
> If you want to know the reason, please read following thread.
>
> https://lkml.org/lkml/2012/10/2/83
>
> The patch-set has only the function of kernel core side for physical
> memory hot remove. So if you use the patch, please apply following
> patches.
>
> - bug fix for memory hot remove
> https://lkml.org/lkml/2012/10/31/269
>
> - acpi framework
> https://lkml.org/lkml/2012/10/26/175
>
> The patches can free/remove the following things:
>
> - /sys/firmware/memmap/X/{end, start, type} : [PATCH 2/10]
> - mem_section and related sysfs files : [PATCH 3-4/10]
> - memmap of sparse-vmemmap : [PATCH 5-7/10]
> - page table of removed memory : [RFC PATCH 8/10]
> - node and related sysfs files : [RFC PATCH 9-10/10]
>
> * [PATCH 2/10] checks whether the memory can be removed or not.
>
> If you find lack of function for physical memory hot-remove, please let me
> know.
>
> How to test this patchset?
> 1. apply this patchset and build the kernel. MEMORY_HOTPLUG, MEMORY_HOTREMOVE,
> ACPI_HOTPLUG_MEMORY must be selected.
> 2. load the module acpi_memhotplug
> 3. hotplug the memory device(it depends on your hardware)
> You will see the memory device under the directory /sys/bus/acpi/devices/.
> Its name is PNP0C80:XX.
> 4. online/offline pages provided by this memory device
> You can write online/offline to /sys/devices/system/memory/memoryX/state to
> online/offline pages provided by this memory device
> 5. hotremove the memory device
> You can hotremove the memory device by the hardware, or writing 1 to
> /sys/bus/acpi/devices/PNP0C80:XX/eject.
>
> Note: if the memory provided by the memory device is used by the kernel, it
> can't be offlined. It is not a bug.
>
> Known problems:
> 1. hotremoving memory device may cause kernel panicked
> This bug will be fixed by Liu Jiang's patch:
> https://lkml.org/lkml/2012/7/3/1
>
>
> Changelogs from v2 to v3:
> Patch9: call sync_global_pgds() if pgd is changed
> Patch10: fix a problem int the patch
>
> Changelogs from v1 to v2:
> Patch1: new patch, offline memory twice. 1st iterate: offline every non primary
> memory block. 2nd iterate: offline primary (i.e. first added) memory
> block.
>
> Patch3: new patch, no logical change, just remove reduntant codes.
>
> Patch9: merge the patch from wujianguo into this patch. flush tlb on all cpu
> after the pagetable is changed.
>
> Patch12: new patch, free node_data when a node is offlined
>
> Wen Congyang (6):
> memory-hotplug: try to offline the memory twice to avoid dependence
> memory-hotplug: remove redundant codes
> memory-hotplug: introduce new function arch_remove_memory() for
> removing page table depends on architecture
> memory-hotplug: remove page table of x86_64 architecture
> memory-hotplug: remove sysfs file of node
> memory-hotplug: free node_data when a node is offlined
>
> Yasuaki Ishimatsu (6):
> memory-hotplug: check whether all memory blocks are offlined or not
> when removing memory
> memory-hotplug: remove /sys/firmware/memmap/X sysfs
> memory-hotplug: unregister memory section on SPARSEMEM_VMEMMAP
> memory-hotplug: implement register_page_bootmem_info_section of
> sparse-vmemmap
> memory-hotplug: remove memmap of sparse-vmemmap
> memory-hotplug: memory_hotplug: clear zone when removing the memory
>
> arch/ia64/mm/discontig.c | 14 ++
> arch/ia64/mm/init.c | 18 ++
> arch/powerpc/mm/init_64.c | 14 ++
> arch/powerpc/mm/mem.c | 12 +
> arch/s390/mm/init.c | 12 +
> arch/s390/mm/vmem.c | 14 ++
> arch/sh/mm/init.c | 17 ++
> arch/sparc/mm/init_64.c | 14 ++
> arch/tile/mm/init.c | 8 +
> arch/x86/include/asm/pgtable_types.h | 1 +
> arch/x86/mm/init_32.c | 12 +
> arch/x86/mm/init_64.c | 417 +++++++++++++++++++++++++++++++++++
> arch/x86/mm/pageattr.c | 47 ++--
> drivers/acpi/acpi_memhotplug.c | 8 +-
> drivers/base/memory.c | 6 +
> drivers/firmware/memmap.c | 98 +++++++-
> include/linux/firmware-map.h | 6 +
> include/linux/memory_hotplug.h | 15 +-
> include/linux/mm.h | 5 +-
> mm/memory_hotplug.c | 409 ++++++++++++++++++++++++++++++++--
> mm/sparse.c | 5 +-
> 21 files changed, 1095 insertions(+), 57 deletions(-)
>
^ permalink raw reply
* Re: [PATCH 3/4] perf/POWER7: Make event translations available in sysfs
From: Jiri Olsa @ 2012-11-16 12:51 UTC (permalink / raw)
To: Sukadev Bhattiprolu
Cc: Peter Zijlstra, robert.richter, Anton Blanchard, linux-kernel,
linuxppc-dev, Ingo Molnar, Paul Mackerras,
Arnaldo Carvalho de Melo
In-Reply-To: <20121114182045.GA2240@us.ibm.com>
On Wed, Nov 14, 2012 at 10:20:45AM -0800, Sukadev Bhattiprolu wrote:
> Jiri Olsa [jolsa@redhat.com] wrote:
> | On Wed, Nov 07, 2012 at 11:19:28AM -0800, Sukadev Bhattiprolu wrote:
> |
> | SNIP
> |
> | > +struct perf_pmu_events_attr {
> | > + struct device_attribute attr;
> | > + u64 id;
> | > +};
> | > +
> | > +extern ssize_t power_events_sysfs_show(struct device *dev,
> | > + struct device_attribute *attr, char *page);
> | > +
> | > +#define EVENT_VAR(_id) event_attr_##_id
> | > +#define EVENT_PTR(_id) &event_attr_##_id.attr.attr
> | > +
> | > +#define EVENT_ATTR(_name, _id) \
> | > + static struct perf_pmu_events_attr EVENT_VAR(_id) = { \
> | > + .attr = __ATTR(_name, 0444, power_events_sysfs_show, NULL),\
> | > + .id = PM_##_id, \
> | > + };
> |
> | this is duplicating the x86 code, perhaps it could be moved
> | to include/linux/perf_event.h and shared globaly
>
> Ok.
>
> Can we remove the assumption that the event id is a generic event that
> has PERF_COUNT_HW_ prefix and also let the architectures pass in a "show"
> function ? This would allow architectures to display any arch specific
> events that don't yet have a generic counterpart.
>
> IOW, can we do something like this (untested) and make PERF_EVENT_ATTR global:
hm, then you probably can use following:
http://www.spinics.net/lists/kernel/msg1434233.html
http://www.spinics.net/lists/kernel/msg1434235.html
http://www.spinics.net/lists/kernel/msg1434226.html
jirka
^ permalink raw reply
* MPC52xx_uart low_latency
From: Maxwell MacLean @ 2012-11-16 18:05 UTC (permalink / raw)
To: linuxppc-dev@lists.ozlabs.org
[-- Attachment #1: Type: text/plain, Size: 904 bytes --]
Hello fellow PPC developers.
My name is Max MacLean, a new subscriber to this list. Thanks for taking my call.
Since I cannot find a way to easily search the archives, I'll ask directly.
Is anyone working on or aware of a patch the MPC52xx_uart driver to provide a 'low_latency' option.
I want to be able to do this (in c++)
struct serial_struct ss;
if(ioctl(m_iSerial, TIOCGSERIAL, &ss))
{
ss.flags |= ASYNC_LOW_LATENCY;
ioctl(m_iSerial, TIOCSSERIAL, &ss))
}
or from command line type setserial /dev/ttyPSC1 low_latency
I am trying to get data from my fifo into Linux faster. I am currently seeing a 3-8 msec latency
between characters read in the uart and arrival at the tty. It seems like it's a problem that
has been solved on other platforms
best regards,
Max
__________________________________
Maxwell MacLean | Senior Firmware Engineer
SYMBOTIC LLC
[-- Attachment #2: Type: text/html, Size: 4746 bytes --]
^ permalink raw reply
* Re: [PATCH 3/4] perf/POWER7: Make event translations available in sysfs
From: Sukadev Bhattiprolu @ 2012-11-16 19:35 UTC (permalink / raw)
To: Jiri Olsa
Cc: Peter Zijlstra, robert.richter, Anton Blanchard, linux-kernel,
linuxppc-dev, Ingo Molnar, Paul Mackerras,
Arnaldo Carvalho de Melo
In-Reply-To: <20121116125154.GB1121@krava.brq.redhat.com>
Jiri Olsa [jolsa@redhat.com] wrote:
| >
| > Can we remove the assumption that the event id is a generic event that
| > has PERF_COUNT_HW_ prefix and also let the architectures pass in a "show"
| > function ? This would allow architectures to display any arch specific
| > events that don't yet have a generic counterpart.
| >
| > IOW, can we do something like this (untested) and make PERF_EVENT_ATTR global:
|
| hm, then you probably can use following:
|
| http://www.spinics.net/lists/kernel/msg1434233.html
For now, power events can simply be u64 - so am hoping to have something
like this and replace the raw codes:
#define PM_CYC 0x1e
#define PM_GCT_NOSLOT_CYC 0x100f8
EVENT_ATTR_STR() is interesting, but would require new/extra macros like
#define PM_CYC_STR "0x1e"
#define PM_GCT_NOSLOT_CYC_STR "0x100f8"
I went down the path we discussed earlier - to have x86 and Power share
the EVENT_ATTR() macros. This is making the x86 code less concise
EVENT_ATTR(cpu-cycles, CPU_CYCLES)
becomes
EVENT_ATTR(cpu-cycles, PERF_COUNT_HW_CPU_CYCLES, events_sysfs_show)
with each EVENT_ATTR() explcitly adding events_sysfs_show or needing another
wrapper around the wrappers.
Still tweaking it, but would it be flexible to make 'struct pmu_events_attr'
common and let architectures define the EVENT_ATTR() as needed ? Would
duplicate some code but hopefully not a lot.
Sukadev
^ permalink raw reply
* Re: Build regressions/improvements in v3.7-rc6
From: Geert Uytterhoeven @ 2012-11-18 9:20 UTC (permalink / raw)
To: linux-kernel; +Cc: linuxppc-dev, Linux-sh list
In-Reply-To: <1353230222-3464-1-git-send-email-geert@linux-m68k.org>
On Sun, Nov 18, 2012 at 10:17 AM, Geert Uytterhoeven
<geert@linux-m68k.org> wrote:
> JFYI, when comparing v3.7-rc6 to v3.7-rc5[3], the summaries are:
> - build errors: +2/-12
Just some broken dependencies, I guess:
2 regressions:
+ arch/powerpc/sysdev/mpic.c: error: case label does not reduce to
an integer constant: => 890:9, 898:9, 886:9, 894:9
powerpc/powerpc-randconfig
+ error: "__ashrdi3" [fs/ext4/ext4.ko] undefined!: => N/A
sh4/sh-randconfig
> [1] http://kisskb.ellerman.id.au/kisskb/head/5628/ (all 117 configs)
> [3] http://kisskb.ellerman.id.au/kisskb/head/5614/ (all 117 configs)
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply
* [PATCH 31/32] perf powerpc: Use uapi/unistd.h to fix build error
From: Arnaldo Carvalho de Melo @ 2012-11-18 14:29 UTC (permalink / raw)
To: Ingo Molnar
Cc: Peter Zijlstra, Robert Richter, Anton Blanchard, linux-kernel,
Arnaldo Carvalho de Melo, linuxppc-dev, Ingo Molnar,
Paul Mackerras, Sukadev Bhattiprolu
In-Reply-To: <1353248997-30763-1-git-send-email-acme@infradead.org>
From: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
Use the 'unistd.h' from arch/powerpc/include/uapi to build the perf tool.
Signed-off-by: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
Acked-by: David Howells <dhowells@redhat.com>
Cc: Anton Blanchard <anton@au1.ibm.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Robert Richter <robert.richter@amd.com>
Cc: linuxppc-dev@ozlabs.org
Link: http://lkml.kernel.org/r/20121107191818.GA16211@us.ibm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/perf.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/perf/perf.h b/tools/perf/perf.h
index 0047264..f53ee0b 100644
--- a/tools/perf/perf.h
+++ b/tools/perf/perf.h
@@ -26,7 +26,7 @@ void get_term_dimensions(struct winsize *ws);
#endif
#ifdef __powerpc__
-#include "../../arch/powerpc/include/asm/unistd.h"
+#include "../../arch/powerpc/include/uapi/asm/unistd.h"
#define rmb() asm volatile ("sync" ::: "memory")
#define cpu_relax() asm volatile ("" ::: "memory");
#define CPUINFO_PROC "cpu"
--
1.7.9.2.358.g22243
^ permalink raw reply related
* [GIT PULL 00/32] perf/core improvements and fixes
From: Arnaldo Carvalho de Melo @ 2012-11-18 14:29 UTC (permalink / raw)
To: Ingo Molnar
Cc: Feng Tang, Peter Zijlstra, Frederic Weisbecker, Stephane Eranian,
David Howells, linuxppc-dev, Paul Mackerras, Jiri Olsa,
Arnaldo Carvalho de Melo, Robert Richter, Borislav Petkov, acme,
Sukadev Bhattiprolu, Peter Zijlstra, Corey Ashford, Namhyung Kim,
Anton Blanchard, Arnaldo Carvalho de Melo, Namhyung Kim,
Thomas Gleixner, Mike Galbraith, linux-kernel, Pekka Enberg,
David Ahern, Linus Torvalds
Hi Ingo,
Please consider pulling,
- Arnaldo
The following changes since commit ffadcf090d468e9c4938b718649f38dd10cfdb02:
perf annotate: Handle XBEGIN like a jump (2012-10-31 12:18:26 -0200)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux perf/core
for you to fetch changes up to 07ac002f2fcc74c5be47b656d9201d5de84dc53d:
perf evsel: Introduce is_group_member method (2012-11-14 16:53:45 -0300)
----------------------------------------------------------------
perf/core improvements and fixes
. UAPI fixes, from David Howels
. Separate perf tests into multiple objects, one per test, from Jiri Olsa.
. Fixes to /proc/pid/maps parsing, preparatory to supporting data maps,
from Namhyung Kim
. Fix compile error for non-NEWT builds, from Namhyung Kim
. Implement ui_progress for GTK, from Namhyung Kim
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----------------------------------------------------------------
Andi Kleen (1):
perf tools: Add arbitary aliases and support names with -
Arnaldo Carvalho de Melo (13):
perf diff: Start moving to support matching more than two hists
perf diff: Move hists__match to the hists lib
perf hists: Introduce hists__link
perf diff: Use hists__link when not pairing just with baseline
perf machine: Move more methods to machine.[ch]
tools lib traceevent: Add __maybe_unused to unused parameters
tools lib traceevent: Avoid comparisions between signed/unsigned
tools lib traceevent: No need to check for < 0 on an unsigned enum
tools lib traceevent: Handle INVALID_ARG_TYPE errno in pevent_strerror
tools lib traceevent: Use 'const' in variables pointing to const strings
perf tools: Stop using 'self' in pstack
perf hists: Initialize all of he->stat with zeroes
perf evsel: Introduce is_group_member method
Daniel Walter (1):
tracing: Replace strict_strto* with kstrto*
David Howells (3):
tools: Define a Makefile function to do subdir processing
tools: Honour the O= flag when tool build called from a higher Makefile
tools: Pass the target in descend
David Sharp (2):
tracing: Trivial cleanup
tracing: Reset ring buffer when changing trace_clocks
Feng Tang (1):
perf browser: Don't show scripts menu for 'perf top'
Hiraku Toyooka (1):
tracing: Change tracer's integer flags to bool
Ingo Molnar (2):
Merge tag 'perf-core-for-mingo' of git://git.kernel.org/.../acme/linux into perf/core
Merge branch 'tip/perf/core-2' of git://git.kernel.org/.../rostedt/linux-trace into perf/core
Jiri Olsa (47):
perf tools: Remove BINDIR define from exec_cmd.o compilation
perf tests: Move test objects into 'tests' directory
perf tests: Add framework for automated perf_event_attr tests
perf tests: Add attr record basic test
perf tests: Add attr tests under builtin test command
perf tests: Add attr record group test
perf tests: Add attr record event syntax group test
perf tests: Add attr record freq test
perf tests: Add attr record count test
perf tests: Add attr record graph test
perf tests: Add attr record period test
perf tests: Add attr record no samples test
perf tests: Add attr record no-inherit test
perf tests: Add attr record data test
perf tests: Add attr record raw test
perf tests: Add attr record no delay test
perf tests: Add attr record branch any test
perf tests: Add attr record branch filter tests
perf tests: Add attr stat no-inherit test
perf tests: Add attr stat group test
perf tests: Add attr stat event syntax group test
perf tests: Add attr stat default test
perf tests: Add attr stat default test
perf tests: Add documentation for attr tests
perf tests: Add missing attr stat basic test
perf tests: Factor attr tests WRITE_ASS macro
perf tests: Fix attr watermark field name typo
perf tests: Removing 'optional' field
perf tests: Move attr.py temp dir cleanup into finally section
perf tools: Add LIBDW_DIR Makefile variable to for alternate libdw
perf tests: Move test__vmlinux_matches_kallsyms into separate object
perf tests: Move test__open_syscall_event into separate object
perf tests: Move test__open_syscall_event_on_all_cpus into separate object
perf tests: Move test__basic_mmap into separate object
perf tests: Move test__PERF_RECORD into separate object
perf tests: Move test__rdpmc into separate object
perf tests: Move perf_evsel__roundtrip_name_test into separate object
perf tests: Move perf_evsel__tp_sched_test into separate object
perf tests: Move test__syscall_open_tp_fields into separate object
perf tests: Move pmu tests into separate object
perf tests: Final cleanup for builtin-test move
perf tests: Check for mkstemp return value in dso-data test
perf tools: Fix attributes for '{}' defined event groups
perf tools: Fix 'disabled' attribute config for record command
perf tools: Ensure single disable call per event in record comand
perf tools: Omit group members from perf_evlist__disable/enable
perf tools: Add basic event modifier sanity check
Michal Hocko (1):
linux/kernel.h: Remove duplicate trace_printk declaration
Namhyung Kim (18):
perf tools: Use normalized arch name for searching objdump path
perf tools: Introduce struct hist_browser_timer
perf report: Postpone objdump check until annotation requested
perf machine: Set kernel data mapping length
perf tools: Fix detection of stack area
perf hists: Free branch_info when freeing hist_entry
perf tools: Don't try to lookup objdump for live mode
perf annotate: Whitespace fixups
perf annotate: Don't try to follow jump target on PLT symbols
perf annotate: Merge same lines in summary view
perf tools: Fix compile error on NO_NEWT=1 build
perf tools: Add gtk.<command> config option for launching GTK browser
perf tools: Use sscanf for parsing /proc/pid/maps
perf ui tui: Move progress.c under ui/tui directory
perf ui: Introduce generic ui_progress helper
perf ui gtk: Implement ui_progress functions
perf ui: Add ui_progress__finish()
perf ui: Always compile browser setup code
Slava Pestov (1):
ring-buffer: Add a 'dropped events' counter
Steven Rostedt (11):
tracing: Allow tracers to start at core initcall
tracing: Expand ring buffer when trace_printk() is used
tracing: Enable comm recording if trace_printk() is used
tracing: Have tracing_sched_wakeup_trace() use standard unlock_commit
tracing: Cache comms only after an event occurred
tracing: Separate open function from set_event and available_events
tracing: Remove unused function unregister_tracer()
tracing: Make tracing_enabled be equal to tracing_on
tracing: Remove deprecated tracing_enabled file
tracing: Use irq_work for wake ups and remove *_nowake_*() functions
tracing: Add trace_options kernel command line parameter
Sukadev Bhattiprolu (1):
perf powerpc: Use uapi/unistd.h to fix build error
Vaibhav Nagarnaik (1):
tracing: Cleanup unnecessary function declarations
Yoshihiro YUNOMAE (1):
ring-buffer: Change unsigned long type of ring_buffer_oldest_event_ts() to u64
Zheng Liu (1):
perf test: fix a build error on builtin-test
Documentation/kernel-parameters.txt | 16 +
Makefile | 6 +-
include/linux/ftrace_event.h | 14 +-
include/linux/kernel.h | 7 +-
include/linux/ring_buffer.h | 3 +-
include/trace/ftrace.h | 3 +-
include/trace/syscall.h | 23 -
kernel/trace/Kconfig | 1 +
kernel/trace/ftrace.c | 6 +-
kernel/trace/ring_buffer.c | 51 +-
kernel/trace/trace.c | 372 ++---
kernel/trace/trace.h | 14 +-
kernel/trace/trace_branch.c | 4 +-
kernel/trace/trace_events.c | 51 +-
kernel/trace/trace_events_filter.c | 4 +-
kernel/trace/trace_functions.c | 5 +-
kernel/trace/trace_functions_graph.c | 6 +-
kernel/trace/trace_irqsoff.c | 14 +-
kernel/trace/trace_kprobe.c | 10 +-
kernel/trace/trace_probe.c | 14 +-
kernel/trace/trace_sched_switch.c | 4 +-
kernel/trace/trace_sched_wakeup.c | 10 +-
kernel/trace/trace_selftest.c | 13 +-
kernel/trace/trace_syscalls.c | 61 +-
kernel/trace/trace_uprobe.c | 2 +-
tools/Makefile | 24 +-
tools/lib/traceevent/event-parse.c | 22 +-
tools/perf/Makefile | 50 +-
tools/perf/arch/common.c | 47 +-
tools/perf/builtin-annotate.c | 2 +-
tools/perf/builtin-diff.c | 48 +-
tools/perf/builtin-record.c | 26 +-
tools/perf/builtin-report.c | 11 +-
tools/perf/builtin-stat.c | 12 +-
tools/perf/builtin-test.c | 1559 --------------------
tools/perf/builtin-top.c | 10 +-
tools/perf/perf.c | 17 +-
tools/perf/perf.h | 18 +-
tools/perf/tests/attr.c | 175 +++
tools/perf/tests/attr.py | 322 ++++
tools/perf/tests/attr/README | 64 +
tools/perf/tests/attr/base-record | 39 +
tools/perf/tests/attr/base-stat | 39 +
tools/perf/tests/attr/test-record-basic | 5 +
tools/perf/tests/attr/test-record-branch-any | 8 +
.../perf/tests/attr/test-record-branch-filter-any | 8 +
.../tests/attr/test-record-branch-filter-any_call | 8 +
.../tests/attr/test-record-branch-filter-any_ret | 8 +
tools/perf/tests/attr/test-record-branch-filter-hv | 8 +
.../tests/attr/test-record-branch-filter-ind_call | 8 +
tools/perf/tests/attr/test-record-branch-filter-k | 8 +
tools/perf/tests/attr/test-record-branch-filter-u | 8 +
tools/perf/tests/attr/test-record-count | 8 +
tools/perf/tests/attr/test-record-data | 8 +
tools/perf/tests/attr/test-record-freq | 6 +
tools/perf/tests/attr/test-record-graph-default | 6 +
tools/perf/tests/attr/test-record-graph-dwarf | 10 +
tools/perf/tests/attr/test-record-graph-fp | 6 +
tools/perf/tests/attr/test-record-group | 18 +
tools/perf/tests/attr/test-record-group1 | 19 +
tools/perf/tests/attr/test-record-no-delay | 9 +
tools/perf/tests/attr/test-record-no-inherit | 7 +
tools/perf/tests/attr/test-record-no-samples | 6 +
tools/perf/tests/attr/test-record-period | 7 +
tools/perf/tests/attr/test-record-raw | 7 +
tools/perf/tests/attr/test-stat-basic | 6 +
tools/perf/tests/attr/test-stat-default | 64 +
tools/perf/tests/attr/test-stat-detailed-1 | 101 ++
tools/perf/tests/attr/test-stat-detailed-2 | 155 ++
tools/perf/tests/attr/test-stat-detailed-3 | 173 +++
tools/perf/tests/attr/test-stat-group | 15 +
tools/perf/tests/attr/test-stat-group1 | 15 +
tools/perf/tests/attr/test-stat-no-inherit | 7 +
tools/perf/tests/builtin-test.c | 173 +++
.../{util/dso-test-data.c => tests/dso-data.c} | 8 +-
tools/perf/tests/evsel-roundtrip-name.c | 114 ++
tools/perf/tests/evsel-tp-sched.c | 84 ++
tools/perf/tests/mmap-basic.c | 162 ++
tools/perf/tests/open-syscall-all-cpus.c | 120 ++
tools/perf/tests/open-syscall-tp-fields.c | 117 ++
tools/perf/tests/open-syscall.c | 66 +
.../parse-events-test.c => tests/parse-events.c} | 23 +-
tools/perf/tests/perf-record.c | 312 ++++
tools/perf/tests/pmu.c | 178 +++
tools/perf/tests/rdpmc.c | 175 +++
tools/perf/tests/tests.h | 22 +
tools/perf/tests/util.c | 30 +
tools/perf/tests/vmlinux-kallsyms.c | 230 +++
tools/perf/ui/browsers/annotate.c | 39 +-
tools/perf/ui/browsers/hists.c | 63 +-
tools/perf/ui/gtk/browser.c | 4 +-
tools/perf/ui/gtk/gtk.h | 1 +
tools/perf/ui/gtk/progress.c | 59 +
tools/perf/ui/gtk/setup.c | 2 +
tools/perf/ui/gtk/util.c | 11 -
tools/perf/ui/hist.c | 10 +-
tools/perf/ui/progress.c | 44 +-
tools/perf/ui/progress.h | 10 +
tools/perf/ui/tui/progress.c | 42 +
tools/perf/ui/tui/setup.c | 1 +
tools/perf/ui/ui.h | 28 +
tools/perf/util/annotate.c | 69 +-
tools/perf/util/annotate.h | 9 +-
tools/perf/util/cache.h | 39 +-
tools/perf/util/debug.h | 1 +
tools/perf/util/dso.c | 1 +
tools/perf/util/event.c | 74 +-
tools/perf/util/evlist.c | 10 +-
tools/perf/util/evsel.c | 52 +-
tools/perf/util/evsel.h | 9 +-
tools/perf/util/hist.c | 99 ++
tools/perf/util/hist.h | 36 +-
tools/perf/util/machine.c | 205 ++-
tools/perf/util/machine.h | 131 +-
tools/perf/util/map.c | 181 +--
tools/perf/util/map.h | 93 --
tools/perf/util/parse-events.c | 24 +
tools/perf/util/parse-events.h | 1 -
tools/perf/util/parse-events.l | 4 +-
tools/perf/util/pmu.c | 185 +--
tools/perf/util/pmu.h | 4 +
tools/perf/util/pstack.c | 46 +-
tools/perf/util/session.c | 1 +
tools/perf/util/session.h | 5 +-
tools/perf/util/sort.h | 27 +-
tools/perf/util/symbol.c | 1 +
tools/perf/util/symbol.h | 21 -
tools/scripts/Makefile.include | 23 +-
128 files changed, 4649 insertions(+), 2751 deletions(-)
delete mode 100644 tools/perf/builtin-test.c
create mode 100644 tools/perf/tests/attr.c
create mode 100644 tools/perf/tests/attr.py
create mode 100644 tools/perf/tests/attr/README
create mode 100644 tools/perf/tests/attr/base-record
create mode 100644 tools/perf/tests/attr/base-stat
create mode 100644 tools/perf/tests/attr/test-record-basic
create mode 100644 tools/perf/tests/attr/test-record-branch-any
create mode 100644 tools/perf/tests/attr/test-record-branch-filter-any
create mode 100644 tools/perf/tests/attr/test-record-branch-filter-any_call
create mode 100644 tools/perf/tests/attr/test-record-branch-filter-any_ret
create mode 100644 tools/perf/tests/attr/test-record-branch-filter-hv
create mode 100644 tools/perf/tests/attr/test-record-branch-filter-ind_call
create mode 100644 tools/perf/tests/attr/test-record-branch-filter-k
create mode 100644 tools/perf/tests/attr/test-record-branch-filter-u
create mode 100644 tools/perf/tests/attr/test-record-count
create mode 100644 tools/perf/tests/attr/test-record-data
create mode 100644 tools/perf/tests/attr/test-record-freq
create mode 100644 tools/perf/tests/attr/test-record-graph-default
create mode 100644 tools/perf/tests/attr/test-record-graph-dwarf
create mode 100644 tools/perf/tests/attr/test-record-graph-fp
create mode 100644 tools/perf/tests/attr/test-record-group
create mode 100644 tools/perf/tests/attr/test-record-group1
create mode 100644 tools/perf/tests/attr/test-record-no-delay
create mode 100644 tools/perf/tests/attr/test-record-no-inherit
create mode 100644 tools/perf/tests/attr/test-record-no-samples
create mode 100644 tools/perf/tests/attr/test-record-period
create mode 100644 tools/perf/tests/attr/test-record-raw
create mode 100644 tools/perf/tests/attr/test-stat-basic
create mode 100644 tools/perf/tests/attr/test-stat-default
create mode 100644 tools/perf/tests/attr/test-stat-detailed-1
create mode 100644 tools/perf/tests/attr/test-stat-detailed-2
create mode 100644 tools/perf/tests/attr/test-stat-detailed-3
create mode 100644 tools/perf/tests/attr/test-stat-group
create mode 100644 tools/perf/tests/attr/test-stat-group1
create mode 100644 tools/perf/tests/attr/test-stat-no-inherit
create mode 100644 tools/perf/tests/builtin-test.c
rename tools/perf/{util/dso-test-data.c => tests/dso-data.c} (95%)
create mode 100644 tools/perf/tests/evsel-roundtrip-name.c
create mode 100644 tools/perf/tests/evsel-tp-sched.c
create mode 100644 tools/perf/tests/mmap-basic.c
create mode 100644 tools/perf/tests/open-syscall-all-cpus.c
create mode 100644 tools/perf/tests/open-syscall-tp-fields.c
create mode 100644 tools/perf/tests/open-syscall.c
rename tools/perf/{util/parse-events-test.c => tests/parse-events.c} (97%)
create mode 100644 tools/perf/tests/perf-record.c
create mode 100644 tools/perf/tests/pmu.c
create mode 100644 tools/perf/tests/rdpmc.c
create mode 100644 tools/perf/tests/tests.h
create mode 100644 tools/perf/tests/util.c
create mode 100644 tools/perf/tests/vmlinux-kallsyms.c
create mode 100644 tools/perf/ui/gtk/progress.c
create mode 100644 tools/perf/ui/tui/progress.c
^ permalink raw reply
* [PATCH] powerpc, perf: Change PMU flag representation from decimal to hex
From: Anshuman Khandual @ 2012-11-19 6:03 UTC (permalink / raw)
To: benh, paulus; +Cc: michael.neuling, linuxppc-dev, Anshuman Khandual
Change the representation of the PMU flags from decimal to hex since they
are bitfields which are easier to read in hex.
Signed-off-by: Anshuman Khandual <khandual@linux.vnet.ibm.com>
---
arch/powerpc/include/asm/perf_event_server.h | 20 +++++++++++++++-----
1 file changed, 15 insertions(+), 5 deletions(-)
diff --git a/arch/powerpc/include/asm/perf_event_server.h b/arch/powerpc/include/asm/perf_event_server.h
index 9710be3..c77bb4e 100644
--- a/arch/powerpc/include/asm/perf_event_server.h
+++ b/arch/powerpc/include/asm/perf_event_server.h
@@ -45,11 +45,21 @@ struct power_pmu {
/*
* Values for power_pmu.flags
*/
-#define PPMU_LIMITED_PMC5_6 1 /* PMC5/6 have limited function */
-#define PPMU_ALT_SIPR 2 /* uses alternate posn for SIPR/HV */
-#define PPMU_NO_SIPR 4 /* no SIPR/HV in MMCRA at all */
-#define PPMU_NO_CONT_SAMPLING 8 /* no continuous sampling */
-#define PPMU_SIAR_VALID 16 /* Processor has SIAR Valid bit */
+
+#define PPMU_LIMITED_PMC5_6 \
+ 0x0000000000000001UL /* PMC5/6 have limited function */
+
+#define PPMU_ALT_SIPR \
+ 0x0000000000000002UL /* uses alternate posn for SIPR/HV */
+
+#define PPMU_NO_SIPR \
+ 0x0000000000000004UL /* no SIPR/HV in MMCRA at all */
+
+#define PPMU_NO_CONT_SAMPLING \
+ 0x0000000000000008UL /* no continuous sampling */
+
+#define PPMU_SIAR_VALID \
+ 0x0000000000000010UL /* Processor has SIAR Valid bit */
/*
* Values for flags to get_alternatives()
--
1.7.11.7
^ permalink raw reply related
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox