All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ralf Baechle <ralf@linux-mips.org>
To: Jayachandran C <jchandra@broadcom.com>
Cc: linux-mips@linux-mips.org
Subject: Re: [PATCH 2/2] MIPS: mm: Use scratch for PGD when !CONFIG_MIPS_PGD_C0_CONTEXT
Date: Tue, 17 Sep 2013 23:21:13 +0200	[thread overview]
Message-ID: <20130917212113.GI22468@linux-mips.org> (raw)
In-Reply-To: <1376221217-9335-3-git-send-email-jchandra@broadcom.com>

On Sun, Aug 11, 2013 at 05:10:17PM +0530, Jayachandran C wrote:

> Allow usage of scratch register for current pgd even when
> MIPS_PGD_C0_CONTEXT is not configured. MIPS_PGD_C0_CONTEXT is set
> for 64r2 platforms to indicate availability of Xcontext for saving
> cpuid, thus freeing Context to be used for saving PGD. This option
> was also tied to using a scratch register for storing PGD.
> 
> This commit will allow usage of scratch register to store the current
> pgd if one can be allocated for the platform, even when
> MIPS_PGD_C0_CONTEXT is not set. The cpuid will be kept in the CP0
> Context register in this case.
> 
> The code to store the current pgd for the TLB miss handler is now
> generated in all cases. When scratch register is available, the PGD
> is also stored in the scratch register.

This patch breaks the build for almost all platforms.  Amusingly it
doesn't break Cavium however which is why I didn't notice it right away.

The build error is the same for all platforms:

[...]
  LD      init/built-in.o
arch/mips/built-in.o: In function `per_cpu_trap_init':
(.text+0x80e4): undefined reference to `tlbmiss_handler_setup_pgd'
arch/mips/built-in.o: In function `build_setup_pgd':
tlbex.c:(.text+0xe31c): undefined reference to `tlbmiss_handler_setup_pgd'
tlbex.c:(.text+0xe328): undefined reference to `tlbmiss_handler_setup_pgd'
tlbex.c:(.text+0xe324): undefined reference to `tlbmiss_handler_setup_pgd_end'
tlbex.c:(.text+0xe32c): undefined reference to `tlbmiss_handler_setup_pgd_end'
kernel/built-in.o: In function `__schedule':
core.c:(.sched.text+0x1b74): undefined reference to `tlbmiss_handler_setup_pgd'
mm/built-in.o: In function `use_mm':
(.text+0x1a530): undefined reference to `tlbmiss_handler_setup_pgd'
fs/built-in.o: In function `flush_old_exec':
(.text+0x8da8): undefined reference to `tlbmiss_handler_setup_pgd'
make[2]: *** [vmlinux] Error 1
make[1]: *** [sub-make] Error 2
make: *** [all] Error 2
make: Leaving directory `/home/ralf/src/linux/obj/cobalt-build'

I'm reverting the patch now.

  Ralf

  reply	other threads:[~2013-09-17 21:21 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-11 11:40 [PATCH 0/2] Use scratch register for PGD when MIPS_PGD_C0_CONTEXT is not set Jayachandran C
2013-08-11 11:40 ` [PATCH 1/2] MIPS: Move definition of SMP processor id register to header file Jayachandran C
2013-08-11 11:40 ` [PATCH 2/2] MIPS: mm: Use scratch for PGD when !CONFIG_MIPS_PGD_C0_CONTEXT Jayachandran C
2013-09-17 21:21   ` Ralf Baechle [this message]
2013-09-18  7:59     ` Jayachandran C.
2013-09-18 11:02       ` Ralf Baechle
2013-09-24 21:49   ` Hauke Mehrtens
2013-09-25  5:26     ` Jayachandran C.
2013-09-25  8:25       ` Hauke Mehrtens

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130917212113.GI22468@linux-mips.org \
    --to=ralf@linux-mips.org \
    --cc=jchandra@broadcom.com \
    --cc=linux-mips@linux-mips.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.