[Cbe-oss-dev] [PATCH part1 v2 8/9] ps3flash: Refuse to work in lpars other than OtherOS
Geoff Levand
geoff at infradead.org
Wed Aug 24 08:12:07 EST 2011
On 08/11/2011 12:31 PM, Andre Heider wrote:
> The driver implements a character and misc device, meant for the
> axed OtherOS to exchange various settings with GameOS.
> Since Firmware 3.21 there is no support anymore to write these
> settings, so test if we're running in OtherOS, and refuse to load
> if that is not the case.
Please see my comments to the v1 patch regarding this text.
> Signed-off-by: Andre Heider <a.heider at gmail.com>
> ---
> arch/powerpc/platforms/ps3/Kconfig | 2 +-
> drivers/char/ps3flash.c | 7 +++++++
> 2 files changed, 8 insertions(+), 1 deletions(-)
>
> diff --git a/arch/powerpc/platforms/ps3/Kconfig b/arch/powerpc/platforms/ps3/Kconfig
> index 84df5c8..72fdecd 100644
> --- a/arch/powerpc/platforms/ps3/Kconfig
> +++ b/arch/powerpc/platforms/ps3/Kconfig
> @@ -121,7 +121,7 @@ config PS3_FLASH
>
> This support is required to access the PS3 FLASH ROM, which
> contains the boot loader and some boot options.
> - In general, all users will say Y or M.
> + In general, all PS3 OtherOS users will say Y or M.
>
> As this driver needs a fixed buffer of 256 KiB of memory, it can
> be disabled on the kernel command line using "ps3flash=off", to
> diff --git a/drivers/char/ps3flash.c b/drivers/char/ps3flash.c
> index d0c57c2..fc6d867 100644
> --- a/drivers/char/ps3flash.c
> +++ b/drivers/char/ps3flash.c
> @@ -25,6 +25,7 @@
>
> #include <asm/lv1call.h>
> #include <asm/ps3stor.h>
> +#include <asm/firmware.h>
>
>
> #define DEVICE_NAME "ps3flash"
> @@ -464,6 +465,12 @@ static struct ps3_system_bus_driver ps3flash = {
>
> static int __init ps3flash_init(void)
> {
> + if (!firmware_has_feature(FW_FEATURE_PS3_LV1))
> + return -ENODEV;
> +
> + if (ps3_get_ss_laid() != PS3_SS_LAID_OTHEROS)
> + return -ENODEV;
> +
> return ps3_system_bus_driver_register(&ps3flash);
> }
>
More information about the cbe-oss-dev
mailing list