tile: support new Tilera hypervisor
authorChris Metcalf <cmetcalf@tilera.com>
Thu, 2 May 2013 19:29:04 +0000 (15:29 -0400)
committerChris Metcalf <cmetcalf@tilera.com>
Thu, 2 May 2013 20:20:31 +0000 (16:20 -0400)
commitc539914dcd9a68c63305e055b14115a6a19578a8
treeb422139d5d4628c8472fdf740dced263bc238c30
parentc1be5a5b1b355d40e6cf79cc979eb66dafa24ad1
tile: support new Tilera hypervisor

The Tilera hypervisor shipped in releases up through MDE 4.1 launches
the client operating system (i.e. Linux) at privilege level 1 (PL1).
Starting with MDE 4.2, as part of the work to enable KVM, the
Tilera hypervisor launches Linux at PL2 instead.

This commit makes the KERNEL_PL option default to 2 for tilegx, while
still saying at 1 for tilepro, which doesn't have an updated hypervisor.
It also explains how and when you might want to choose another value.
In addition, we change a small buglet in the on-chip Ethernet driver,
where we were failing to use the KERNEL_PL constant in an API call.

To make the transition cleaner, this change also provides the updated
hv_init() API for the new hypervisor that supports announcing Linux's
compiled-in PL, so the hypervisor can generate a suitable error in the
case of a mismatched hypervisor and Linux binary.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
Cc: stable@vger.linux.org
arch/tile/Kconfig
arch/tile/include/hv/hypervisor.h
arch/tile/kernel/head_32.S
arch/tile/kernel/head_64.S
drivers/net/ethernet/tile/tilegx.c