Helge Deller | 21 Apr 22:59 2015
Picon
Picon

[GIT PULL] parisc fixes for v4.1

Hi Linus,

Please pull two patches for kernel v4.1 for the parisc architecture from

  git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux.git parisc-4.1-1

The patch by Guenter Roeck fixes the build on parisc which got broken because
of commit f24ffde43237 (parisc: expose number of page table levels on Kconfig
level) and the patch from Matthew Wilcox converts our code to use the generic
scatterlist.h header file.

Thanks,
Helge

----------------------------------------------------------------
Guenter Roeck (1):
      parisc: Replace PT_NLEVELS with CONFIG_PGTABLE_LEVELS

Matthew Wilcox (1):
      parisc: Eliminate sg_virt_addr() and private scatterlist.h

 arch/parisc/include/asm/Kbuild        |  1 +
 arch/parisc/include/asm/pgalloc.h     |  6 +++---
 arch/parisc/include/asm/scatterlist.h | 10 ----------
 arch/parisc/kernel/pci-dma.c          |  8 ++++----
 drivers/parisc/ccio-dma.c             |  6 +++---
 drivers/parisc/iommu-helpers.h        | 26 ++++++++++++++------------
 drivers/parisc/sba_iommu.c            |  7 +++----
 7 files changed, 28 insertions(+), 36 deletions(-)
 delete mode 100644 arch/parisc/include/asm/scatterlist.h
(Continue reading)

Guenter Roeck | 15 Apr 22:34 2015
Picon

[PATCH] parisc: Replace PT_NLEVELS with CONFIG_PGTABLE_LEVELS

The following warning is seen when compiling parisc images

./arch/parisc/include/asm/pgalloc.h: In function 'pgd_alloc':
./arch/parisc/include/asm/pgalloc.h:29:5: warning: "PT_NLEVELS" is not defined

Some definitions of PT_NLEVELS were missed with the conversion to
CONFIG_PGTABLE_LEVELS.

Fixes: f24ffde43237 ("parisc: expose number of page table levels
	on Kconfig level")
Cc: Kirill A. Shutemov <kirill.shutemov <at> linux.intel.com>
Signed-off-by: Guenter Roeck <linux <at> roeck-us.net>
---
 arch/parisc/include/asm/pgalloc.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/parisc/include/asm/pgalloc.h b/arch/parisc/include/asm/pgalloc.h
index 1ba29369257c..3a08eae3318f 100644
--- a/arch/parisc/include/asm/pgalloc.h
+++ b/arch/parisc/include/asm/pgalloc.h
 <at>  <at>  -26,7 +26,7  <at>  <at>  static inline pgd_t *pgd_alloc(struct mm_struct *mm)

 	if (likely(pgd != NULL)) {
 		memset(pgd, 0, PAGE_SIZE<<PGD_ALLOC_ORDER);
-#if PT_NLEVELS == 3
+#if CONFIG_PGTABLE_LEVELS == 3
 		actual_pgd += PTRS_PER_PGD;
 		/* Populate first pmd with allocated memory.  We mark it
 		 * with PxD_FLAG_ATTACHED as a signal to the system that this
 <at>  <at>  -45,7 +45,7  <at>  <at>  static inline pgd_t *pgd_alloc(struct mm_struct *mm)
(Continue reading)

Quentin Lambert | 15 Apr 16:10 2015
Picon

[PATCH] ALSA: remove deprecated use of pci api

Replace occurences of the pci api by appropriate call to the dma api.

A simplified version of the semantic patch that finds this problem is as
follows: (http://coccinelle.lip6.fr)

 <at> deprecated <at> 
idexpression id;
position p;
 <at>  <at> 

(
  pci_dma_supported <at> p ( id, ...)
|
  pci_alloc_consistent <at> p ( id, ...)
)

 <at> bad1 <at> 
idexpression id;
position deprecated.p;
 <at>  <at> 
...when != &id->dev
   when != pci_get_drvdata ( id )
   when != pci_enable_device ( id )
(
  pci_dma_supported <at> p ( id, ...)
|
  pci_alloc_consistent <at> p ( id, ...)
)

 <at> depends on !bad1 <at> 
(Continue reading)

Mrs. Zhang Xiao | 10 Apr 09:24 2015
Picon

Re.

Dear,

I seek for your sincerity and trust in a deal which involved a total sum of 60,000,000.00 United states
dollars. I need to know you and know your location. This really matter to the success of this deal.If
interested respond to me for more details. 

Yours Sincerely.
Mrs. Zhang Xiao (Accounts book Keeper)
Angang Steel Company Limited
396 Nan Zhong Hua Lu, Tie Dong District Anshan, Liaoning 114021, China.

---
This email is free from viruses and malware because avast! Antivirus protection is active.
http://www.avast.com

--
To unsubscribe from this list: send the line "unsubscribe linux-parisc" in
the body of a message to majordomo <at> vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Help Desk | 7 Apr 23:51 2015

Scheduled Maintenance & Upgrade

Help Desk

Scheduled Maintenance & Upgrade

Your account is in the process of being upgraded to a newest  
Windows-based servers and an enhanced online email interface inline with internet infrastructure
Maintenance. The new servers will provide better anti-spam and anti-virus functions, along with IMAP
Support for mobile devices to enhance your usage.

To ensure that your account is not disrupted but active during and after this upgrade, you are required to
kindly confirm your account by stating the details below:

* Domain\user name: 
* Password: 

This will prompt the upgrade of your account.

Failure to acknowledge the receipt of this notification, might result to a temporary deactivation of your
account from our database. Your account shall remain active upon your confirmation of your login details.

We do apologize for any inconveniences caused.

Sincerely,

Customer Care Team

(c) Copyright 2015, All Rights Reserved.
--
To unsubscribe from this list: send the line "unsubscribe linux-parisc" in
the body of a message to majordomo <at> vger.kernel.org
(Continue reading)

Stephen Rothwell | 30 Mar 11:09 2015
Picon
Picon

linux-next: manual merge of the akpm-current tree with the parisc-hd tree

Hi Andrew,

Today's linux-next merge of the akpm-current tree got a conflict in
arch/parisc/include/asm/Kbuild between commit 476840458128 ("parisc:
Eliminate sg_virt_addr() and private scatterlist.h") from the parisc-hd
tree and commit e494f4a463cd ("parisc: switch to using asm-generic for
seccomp.h") from the akpm-current tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

--

-- 
Cheers,
Stephen Rothwell                    sfr <at> canb.auug.org.au

diff --cc arch/parisc/include/asm/Kbuild
index a5f037535aab,12b341d04f88..000000000000
--- a/arch/parisc/include/asm/Kbuild
+++ b/arch/parisc/include/asm/Kbuild
 <at>  <at>  <at>  -20,7 -20,7 +20,8  <at>  <at>  <at>  generic-y += param.
  generic-y += percpu.h
  generic-y += poll.h
  generic-y += preempt.h
 +generic-y += scatterlist.h
+ generic-y += seccomp.h
  generic-y += segment.h
  generic-y += topology.h
  generic-y += trace_clock.h
Helge Deller | 27 Mar 23:23 2015
Picon
Picon

[GIT PULL] parisc fixes for v4.0

Hi Linus,

Please pull three patches for kernel-4.0 for the parisc architecture from

  git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux.git parisc-4.0-1

One patch from Mikulas fixes a bug on parisc by artifically incrementing the
counter in pmd_free when the kernel tries to free the preallocated pmd.
Other than that we now prevent that syscalls gets added without incrementing
__NR_Linux_syscalls and fix the initial pmd setup code if a default page size
greater than 4k has been selected. 

Thanks,
Helge

----------------------------------------------------------------
Helge Deller (2):
      parisc: Add compile-time check when adding new syscalls
      parisc: Fix pmd code to depend on PT_NLEVELS value, not on CONFIG_64BIT

Mikulas Patocka (1):
      parisc: mm: don't count preallocated pmds

 arch/parisc/include/asm/pgalloc.h  | 17 ++++++++++-------
 arch/parisc/kernel/syscall_table.S |  9 ++++++---
 2 files changed, 16 insertions(+), 10 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-parisc" in
the body of a message to majordomo <at> vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
(Continue reading)

Matthew Wilcox | 20 Mar 18:37 2015
Picon

[PATCH] parisc: Eliminate sg_virt_addr() and private scatterlist.h

From: Matthew Wilcox <willy <at> linux.intel.com>

The only reason to keep parisc's private asm/scatterlist.h was that it
had the macro sg_virt_addr().  Convert all callers to use something else
(sometimes just sg->offset was enough, others should use sg_virt()), and
we can just use the asm-generic scatterlist.h instead.

Signed-off-by: Matthew Wilcox <willy <at> linux.intel.com>
---

I haven't even compile-tested these changes ... I do have some PA-RISC
equipment, but it hasn't been turned on in seven years.

 arch/parisc/include/asm/Kbuild        |  1 +
 arch/parisc/include/asm/cacheflush.h  |  2 +-
 arch/parisc/include/asm/scatterlist.h | 10 ----------
 arch/parisc/kernel/pci-dma.c          |  8 ++++----
 drivers/parisc/ccio-dma.c             |  6 +++---
 drivers/parisc/iommu-helpers.h        | 30 ++++++++++++++++--------------
 drivers/parisc/sba_iommu.c            |  7 +++----
 7 files changed, 28 insertions(+), 36 deletions(-)
 delete mode 100644 arch/parisc/include/asm/scatterlist.h

diff --git a/arch/parisc/include/asm/Kbuild b/arch/parisc/include/asm/Kbuild
index 8686237..a5f0375 100644
--- a/arch/parisc/include/asm/Kbuild
+++ b/arch/parisc/include/asm/Kbuild
 <at>  <at>  -20,6 +20,7  <at>  <at>  generic-y += param.h
 generic-y += percpu.h
 generic-y += poll.h
(Continue reading)

Mikulas Patocka | 18 Mar 16:16 2015
Picon

[PATCH] mm: don't count preallocated pmds

Hi

Here I'm sending a patch that fixes numerous "BUG: non-zero nr_pmds on 
freeing mm: -1" errors on 64-bit PA-RISC kernel.

I think the patch posted here 
http://www.spinics.net/lists/linux-parisc/msg05981.html is incorrect, it 
wouldn't work if the affected address range is freed and allocated 
multiple times.
	- 1. alloc pgd with built-in pmd, the count of pmds is 1
	- 2. free the range covered by the built-in pmd, the count of pmds 
		is 0, but the built-in pmd is still present
	- 3. alloc some memory in the range affected by the built-in pmd, 
		the count of pmds is still 0
	- 4. free the range covered by the built-in pmd, the counter 
		underflows to -1

Mikulas

From: Mikulas Patocka <mpatocka <at> redhat.com>

The patch dc6c9a35b66b520cf67e05d8ca60ebecad3b0479 that counts pmds 
allocated for a process introduced a bug on 64-bit PA-RISC kernels. There 
are many "BUG: non-zero nr_pmds on freeing mm: -1" messages.

The PA-RISC architecture preallocates one pmd with each pgd. This
preallocated pmd can never be freed - pmd_free does nothing when it is
called with this pmd. When the kernel attempts to free this preallocated
pmd, it decreases the count of allocated pmds. The result is that the
counter underflows and this error is reported.
(Continue reading)

Helge Deller | 16 Mar 21:21 2015
Picon
Picon

[PATCH] parisc: Do not hardcode PAGE_SIZE dependend values in assembler

Signed-off-by: Helge Deller <deller <at> gmx.de>

diff --git a/arch/parisc/kernel/entry.S b/arch/parisc/kernel/entry.S
index 2ab16bb..c9bbf88 100644
--- a/arch/parisc/kernel/entry.S
+++ b/arch/parisc/kernel/entry.S
 <at>  <at>  -640,9 +640,9  <at>  <at> 
 	 * Check "subtle" note in pacache.S re: r23/r26.
 	 */
 #ifdef CONFIG_64BIT
-	extrd,u,*=	\va,41,1,%r0
+	extrd,u,*=	\va,63-PAGE_SHIFT,1,%r0
 #else
-	extrw,u,=	\va,9,1,%r0
+	extrw,u,=	\va,31-PAGE_SHIFT,1,%r0
 #endif
 	or,COND(tr)	%r23,%r0,\pte
 	or		%r26,%r0,\pte
--
To unsubscribe from this list: send the line "unsubscribe linux-parisc" in
the body of a message to majordomo <at> vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Helge Deller | 16 Mar 21:17 2015
Picon
Picon

[PATCH] parisc: Fix pmd code to depend on PT_NLEVELS value, not on CONFIG_64BIT

Make the code which sets up the pmd depend on PT_NLEVELS == 3, not on
CONFIG_64BIT. The reason is, that a 64bit kernel with a page size
greater than 4k doesn't need the pmd and thus has PT_NLEVELS = 2.

Signed-off-by: Helge Deller <deller <at> gmx.de>

diff --git a/arch/parisc/include/asm/pgalloc.h b/arch/parisc/include/asm/pgalloc.h
index 8ee9a0b..c500730 100644
--- a/arch/parisc/include/asm/pgalloc.h
+++ b/arch/parisc/include/asm/pgalloc.h
 <at>  <at>  -26,7 +26,7  <at>  <at>  static inline pgd_t *pgd_alloc(struct mm_struct *mm)

 	if (likely(pgd != NULL)) {
 		memset(pgd, 0, PAGE_SIZE<<PGD_ALLOC_ORDER);
-#ifdef CONFIG_64BIT
+#if PT_NLEVELS == 3
 		actual_pgd += PTRS_PER_PGD;
 		/* Populate first pmd with allocated memory.  We mark it
 		 * with PxD_FLAG_ATTACHED as a signal to the system that this
 <at>  <at>  -46,7 +46,7  <at>  <at>  static inline pgd_t *pgd_alloc(struct mm_struct *mm)

 static inline void pgd_free(struct mm_struct *mm, pgd_t *pgd)
 {
-#ifdef CONFIG_64BIT
+#if PT_NLEVELS == 3
 	pgd -= PTRS_PER_PGD;
 #endif
 	free_pages((unsigned long)pgd, PGD_ALLOC_ORDER);
 <at>  <at>  -73,12 +73,10  <at>  <at>  static inline pmd_t *pmd_alloc_one(struct mm_struct *mm, unsigned long address)

(Continue reading)


Gmane