Commit 2f569afd9ced9ebec9a6eb3dbf6f83429be0a7b4 breaks m68knommu:
<-- snip -->
...
CC init/main.o
In file included from include2/asm/uaccess.h:8,
from /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/poll.h:13,
from /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/rtc.h:113,
from /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/efi.h:19,
from /home/bunk/linux/kernel-2.6/git/linux-2.6/init/main.c:43:
/home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/mm.h:1151:
error: expected declaration specifiers or '...' before 'pgtable_t'
make[2]: *** [init/main.o] Error 1
<-- snip -->
cu
Adrian
--
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed
On Sat, 2008-02-09 at 00:25 +0200, Adrian Bunk wrote:
> Commit 2f569afd9ced9ebec9a6eb3dbf6f83429be0a7b4 breaks m68knommu:
Does the patch below fixes the problem? I tried to cross compile for
m68knommu but it seems like you need a special m68k compiler to get it
compile all the way through. With the patch it did fail with a different
error, so I assume it is fixed. The problem is that the pgtable_t is
simply missing for m68knommu, I must have overlooked a reject for one of
the constant regenerations of the patch to keep up with upstream. Sorry
about that.
--
blue skies,
Martin.
"Reality continues to ruin my life." - Calvin.
---
[m68knommu] Add pgtable_t.
Fix the compile error:
CC init/main.o
In file included from include2/asm/uaccess.h:8,
from include/linux/poll.h:13,
from include/linux/rtc.h:113,
from include/linux/efi.h:19,
from linux-2.6/init/main.c:43:
include/linux/mm.h:1151:
error: expected declaration specifiers or '...' before 'pgtable_t'
make[2]: *** [init/main.o] Error 1
Signed-off-by: Martin Schwidefsky <[email protected]>
---
include/asm-m68knommu/page.h | 1 +
1 file changed, 1 insertion(+)
diff -urpN linux-2.6/include/asm-m68knommu/page.h linux-2.6-patched/include/asm-m68knommu/page.h
--- linux-2.6/include/asm-m68knommu/page.h 2008-02-09 11:15:14.000000000 +0100
+++ linux-2.6-patched/include/asm-m68knommu/page.h 2008-02-09 11:15:21.000000000 +0100
@@ -31,6 +31,7 @@ typedef struct { unsigned long pte; } pt
typedef struct { unsigned long pmd[16]; } pmd_t;
typedef struct { unsigned long pgd; } pgd_t;
typedef struct { unsigned long pgprot; } pgprot_t;
+typedef struct page *pgtable_t;
#define pte_val(x) ((x).pte)
#define pmd_val(x) ((&x)->pmd[0])
On Sat, Feb 09, 2008 at 11:21:12AM +0100, Martin Schwidefsky wrote:
> On Sat, 2008-02-09 at 00:25 +0200, Adrian Bunk wrote:
> > Commit 2f569afd9ced9ebec9a6eb3dbf6f83429be0a7b4 breaks m68knommu:
>
> Does the patch below fixes the problem?
Thanks, it fixes it.
> I tried to cross compile for
> m68knommu but it seems like you need a special m68k compiler to get it
> compile all the way through.
I'm using one from upstream svn head (= tree that will become gcc 4.3).
> With the patch it did fail with a different
> error, so I assume it is fixed.
That's Matt's "break all no-MMU architectures in swapops.h" regression
for which a patch is already floating around.
> The problem is that the pgtable_t is
> simply missing for m68knommu, I must have overlooked a reject for one of
> the constant regenerations of the patch to keep up with upstream. Sorry
> about that.
>
> blue skies,
> Martin.
cu
Adrian
--
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed
On Sat, 2008-02-09 at 11:21 +0100, Martin Schwidefsky wrote:
> On Sat, 2008-02-09 at 00:25 +0200, Adrian Bunk wrote:
> > Commit 2f569afd9ced9ebec9a6eb3dbf6f83429be0a7b4 breaks m68knommu:
>
> Does the patch below fixes the problem? I tried to cross compile for
> m68knommu but it seems like you need a special m68k compiler to get it
> compile all the way through. With the patch it did fail with a different
> error, so I assume it is fixed. The problem is that the pgtable_t is
> simply missing for m68knommu, I must have overlooked a reject for one of
> the constant regenerations of the patch to keep up with upstream. Sorry
> about that.
This is a problem for all nommu architectures. The patch fixed all four
of them.
--
blue skies,
Martin.
"Reality continues to ruin my life." - Calvin.
---
[PATCH] Add pgtable_t to nommu architectures.
From: Martin Schwidefsky <[email protected]>
The pte_fn_t in include/linux/mm.h make it necessary for all
architecture to define a pgtable_t type, even those that do
not have an mmu.
Signed-off-by: Martin Schwidefsky <[email protected]>
---
include/asm-blackfin/page.h | 1 +
include/asm-h8300/page.h | 1 +
include/asm-m68knommu/page.h | 1 +
include/asm-v850/page.h | 1 +
4 files changed, 4 insertions(+)
diff -urpN linux-2.6/include/asm-blackfin/page.h linux-2.6-patched/include/asm-blackfin/page.h
--- linux-2.6/include/asm-blackfin/page.h 2008-02-09 11:46:28.000000000 +0100
+++ linux-2.6-patched/include/asm-blackfin/page.h 2008-02-09 11:46:36.000000000 +0100
@@ -39,6 +39,7 @@ typedef struct {
typedef struct {
unsigned long pgprot;
} pgprot_t;
+typedef struct page *pgtable_t;
#define pte_val(x) ((x).pte)
#define pmd_val(x) ((&x)->pmd[0])
diff -urpN linux-2.6/include/asm-h8300/page.h linux-2.6-patched/include/asm-h8300/page.h
--- linux-2.6/include/asm-h8300/page.h 2008-02-09 11:46:28.000000000 +0100
+++ linux-2.6-patched/include/asm-h8300/page.h 2008-02-09 11:46:36.000000000 +0100
@@ -31,6 +31,7 @@ typedef struct { unsigned long pte; } pt
typedef struct { unsigned long pmd[16]; } pmd_t;
typedef struct { unsigned long pgd; } pgd_t;
typedef struct { unsigned long pgprot; } pgprot_t;
+typedef struct page *pgtable_t;
#define pte_val(x) ((x).pte)
#define pmd_val(x) ((&x)->pmd[0])
diff -urpN linux-2.6/include/asm-m68knommu/page.h linux-2.6-patched/include/asm-m68knommu/page.h
--- linux-2.6/include/asm-m68knommu/page.h 2008-02-09 11:46:28.000000000 +0100
+++ linux-2.6-patched/include/asm-m68knommu/page.h 2008-02-09 11:46:36.000000000 +0100
@@ -31,6 +31,7 @@ typedef struct { unsigned long pte; } pt
typedef struct { unsigned long pmd[16]; } pmd_t;
typedef struct { unsigned long pgd; } pgd_t;
typedef struct { unsigned long pgprot; } pgprot_t;
+typedef struct page *pgtable_t;
#define pte_val(x) ((x).pte)
#define pmd_val(x) ((&x)->pmd[0])
diff -urpN linux-2.6/include/asm-v850/page.h linux-2.6-patched/include/asm-v850/page.h
--- linux-2.6/include/asm-v850/page.h 2008-02-09 11:46:29.000000000 +0100
+++ linux-2.6-patched/include/asm-v850/page.h 2008-02-09 11:46:36.000000000 +0100
@@ -57,6 +57,7 @@ typedef struct { unsigned long pte; } pt
typedef struct { unsigned long pmd; } pmd_t;
typedef struct { unsigned long pgd; } pgd_t;
typedef struct { unsigned long pgprot; } pgprot_t;
+typedef struct page *pgtable_t;
#define pte_val(x) ((x).pte)
#define pmd_val(x) ((x).pmd)
On Feb 9, 2008 5:58 AM, Martin Schwidefsky <[email protected]> wrote:
> On Sat, 2008-02-09 at 11:21 +0100, Martin Schwidefsky wrote:
> > On Sat, 2008-02-09 at 00:25 +0200, Adrian Bunk wrote:
> > > Commit 2f569afd9ced9ebec9a6eb3dbf6f83429be0a7b4 breaks m68knommu:
> >
> > Does the patch below fixes the problem? I tried to cross compile for
> > m68knommu but it seems like you need a special m68k compiler to get it
> > compile all the way through. With the patch it did fail with a different
> > error, so I assume it is fixed. The problem is that the pgtable_t is
> > simply missing for m68knommu, I must have overlooked a reject for one of
> > the constant regenerations of the patch to keep up with upstream. Sorry
> > about that.
>
> This is a problem for all nommu architectures. The patch fixed all four
> of them.
>
> ---
> [PATCH] Add pgtable_t to nommu architectures.
>
> From: Martin Schwidefsky <[email protected]>
>
> The pte_fn_t in include/linux/mm.h make it necessary for all
> architecture to define a pgtable_t type, even those that do
> not have an mmu.
>
> Signed-off-by: Martin Schwidefsky <[email protected]>
> ---
>
> include/asm-blackfin/page.h | 1 +
> include/asm-h8300/page.h | 1 +
> include/asm-m68knommu/page.h | 1 +
> include/asm-v850/page.h | 1 +
> 4 files changed, 4 insertions(+)
>
> diff -urpN linux-2.6/include/asm-blackfin/page.h linux-2.6-patched/include/asm-blackfin/page.h
> --- linux-2.6/include/asm-blackfin/page.h 2008-02-09 11:46:28.000000000 +0100
> +++ linux-2.6-patched/include/asm-blackfin/page.h 2008-02-09 11:46:36.000000000 +0100
> @@ -39,6 +39,7 @@ typedef struct {
> typedef struct {
> unsigned long pgprot;
> } pgprot_t;
> +typedef struct page *pgtable_t;
>
> #define pte_val(x) ((x).pte)
> #define pmd_val(x) ((&x)->pmd[0])
thanks, this fixed building Blackfin for me.
Signed-off-by: Mike Frysinger <[email protected]>
-mike
Martin Schwidefsky wrote:
> On Sat, 2008-02-09 at 11:21 +0100, Martin Schwidefsky wrote:
>> On Sat, 2008-02-09 at 00:25 +0200, Adrian Bunk wrote:
>>> Commit 2f569afd9ced9ebec9a6eb3dbf6f83429be0a7b4 breaks m68knommu:
>> Does the patch below fixes the problem? I tried to cross compile for
>> m68knommu but it seems like you need a special m68k compiler to get it
>> compile all the way through. With the patch it did fail with a different
>> error, so I assume it is fixed. The problem is that the pgtable_t is
>> simply missing for m68knommu, I must have overlooked a reject for one of
>> the constant regenerations of the patch to keep up with upstream. Sorry
>> about that.
>
> This is a problem for all nommu architectures. The patch fixed all four
> of them.
Confirmed, good for m68knommu.
Acked-by: Greg Ungerer <[email protected]>
--
------------------------------------------------------------------------
Greg Ungerer -- Chief Software Dude EMAIL: [email protected]
Secure Computing Corporation PHONE: +61 7 3435 2888
825 Stanley St, FAX: +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia WEB: http://www.SnapGear.com