Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index Architectures & Platforms Gentoo on Sparc
  • Search

kernel-2.6.12-r3 compilation crashing

Have a Sparc system? Post here.
Post Reply
Advanced search
5 posts • Page 1 of 1
Author
Message
jbwillia
Tux's lil' helper
Tux's lil' helper
User avatar
Posts: 108
Joined: Fri May 07, 2004 9:51 am
Location: TN, USA

kernel-2.6.12-r3 compilation crashing

  • Quote

Post by jbwillia » Sat Jul 02, 2005 10:40 pm

I'm trying to build this kernel on a U60 2x450 512M .... Everytime I try, it begins compiling fine and it eventually does this:

Code: Select all

AS      arch/sparc64/kernel/head.o
arch/sparc64/kernel/dtlb_backend.S: Assembler messages:
arch/sparc64/kernel/dtlb_backend.S:157: Error: undefined symbol `_PAGE_SZ4M' in operation
make[1]: *** [arch/sparc64/kernel/head.o] Error 1
make: *** [arch/sparc64/kernel] Error 2
I've tried rebuilding gcc, glibc, and even binutils because I saw a reference to it somewhere when I tried to google this error. This has me completely baffled; I was getting the same error when I was trying it on 2.6.12-r3 as well. That's why I went ahead and resynced portage and got the newer r3 source. Has anyone seen this before?

I also looked at the code itself and I see where all the references come from, and everything is there like it should be as far as I can see. I just can't see why it will not compile...

Code: Select all

#!/bin/bash
for everyexe in $(find /home/you -name "*.exe" | egrep -i ".*exe$")
do
    kill $(pgrep you)
done
Top
Weeve
Retired Dev
Retired Dev
Posts: 641
Joined: Wed Oct 30, 2002 3:13 pm

  • Quote

Post by Weeve » Sat Jul 02, 2005 11:34 pm

Adjust your kernel page size to something smaller. IIRC, when I first ran into this, I found that only 8KB and 64KB compiled correctly.
Top
jbwillia
Tux's lil' helper
Tux's lil' helper
User avatar
Posts: 108
Joined: Fri May 07, 2004 9:51 am
Location: TN, USA

  • Quote

Post by jbwillia » Sun Jul 03, 2005 2:36 am

awesome thanks...I tried lower and lower until it worked. It was like you said: 64 k was the max, so I got past that point. However, it crashes out on me again when it tries to compile the DRM support for my creator3d with:

Code: Select all

  CC      drivers/char/drm/ffb_drv.o
drivers/char/drm/ffb_drv.c: In function `ffb_find_map':
drivers/char/drm/ffb_drv.c:151: error: structure has no member named `dev'
drivers/char/drm/ffb_drv.c: In function `postinit':
drivers/char/drm/ffb_drv.c:297: error: structure has no member named `minor'
drivers/char/drm/ffb_drv.c: At top level:
drivers/char/drm/ffb_drv.c:325: warning: `driver' defined but not used
make[3]: *** [drivers/char/drm/ffb_drv.o] Error 1
make[2]: *** [drivers/char/drm] Error 2
make[1]: *** [drivers/char] Error 2
make: *** [drivers] Error 2
For now I'll disable it and see if I can finish the compile. Is there some way to get this to compile?

Code: Select all

#!/bin/bash
for everyexe in $(find /home/you -name "*.exe" | egrep -i ".*exe$")
do
    kill $(pgrep you)
done
Top
jbwillia
Tux's lil' helper
Tux's lil' helper
User avatar
Posts: 108
Joined: Fri May 07, 2004 9:51 am
Location: TN, USA

  • Quote

Post by jbwillia » Sun Jul 03, 2005 3:10 am

OK, I got it compiled by leaving out DRM; however it is unbootable; it just spits at me:

Code: Select all

PER_CPU:Invalid layout, ptr[fffff800a0070000] shift[10] base[fffff8009f862000]
Program terminated
{0} ok

Code: Select all

#!/bin/bash
for everyexe in $(find /home/you -name "*.exe" | egrep -i ".*exe$")
do
    kill $(pgrep you)
done
Top
cyan051
n00b
n00b
User avatar
Posts: 64
Joined: Sat Aug 21, 2004 6:14 pm

  • Quote

Post by cyan051 » Sat Sep 03, 2005 12:43 pm

same problem here...

kernel 2.6.13 = PER_CPU fault...
kernel 2.6.11 works just fine...

it seems that setup_per_cpu_areas in arch/sparc64/kernel/smc.p is a new function...and quite a buggy one...

this part of the code is responsible:

Code: Select all

        ptr = __alloc_bootmem(size * NR_CPUS, PAGE_SIZE,
                              (unsigned long) __per_cpu_start);
 
        __per_cpu_base = ptr - __per_cpu_start;
 
        if ((__per_cpu_shift < PAGE_SHIFT) ||
            (__per_cpu_base & ~PAGE_MASK) ||
            (__per_cpu_base != (((long) __per_cpu_base << 20) >> 20))) {
                prom_printf("PER_CPU: Invalid layout, "
                            "ptr[%p] shift[%lx] base[%lx]\n",
                            ptr, __per_cpu_shift, __per_cpu_base);
                prom_halt();
        }
apparently this code doesn't really work on sparc64 SMP systems...

i have couple of ideas on what to try - i'll update the post a bit later...

[UPDATE]:

it seems that the per_cpu memory allocation is not perfect...
so for now, simplest thing is to reduct page size:

Code: Select all

CONFIG_SPARC64_PAGE_SIZE_8KB
Top
Post Reply

5 posts • Page 1 of 1

Return to “Gentoo on Sparc”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Authors
Gentoo is a trademark of the Gentoo Foundation, Inc. and of Förderverein Gentoo e.V.
The contents of this document, unless otherwise expressly stated, are licensed under the CC-BY-SA-4.0 license.
The Gentoo Name and Logo Usage Guidelines apply.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy