2005-04-16 15:20:36 -07:00
/*
* This file is subject to the terms and conditions of the GNU General Public
* License . See the file " COPYING " in the main directory of this archive
* for more details .
*
* Miscellaneous ARCS PROM routines .
*
2011-04-04 14:15:29 -07:00
* Copyright ( C ) 1996 David S . Miller ( davem @ davemloft . net )
2005-04-16 15:20:36 -07:00
* Copyright ( C ) 1999 Ralf Baechle ( ralf @ gnu . org )
* Copyright ( C ) 1999 Silicon Graphics , Inc .
*/
# include <linux/init.h>
# include <linux/kernel.h>
2012-11-16 14:14:52 -08:00
# include <linux/irqflags.h>
2005-04-16 15:20:36 -07:00
# include <asm/bcache.h>
2007-09-05 08:59:34 +02:00
# include <asm/fw/arc/types.h>
2005-04-16 15:20:36 -07:00
# include <asm/sgialib.h>
# include <asm/bootinfo.h>
VOID
ArcHalt ( VOID )
{
bc_disable ( ) ;
local_irq_disable ( ) ;
ARC_CALL0 ( halt ) ;
never : goto never ;
}
VOID
ArcPowerDown ( VOID )
{
bc_disable ( ) ;
local_irq_disable ( ) ;
ARC_CALL0 ( pdown ) ;
never : goto never ;
}
/* XXX is this a soft reset basically? XXX */
VOID
ArcRestart ( VOID )
{
bc_disable ( ) ;
local_irq_disable ( ) ;
ARC_CALL0 ( restart ) ;
never : goto never ;
}
VOID
ArcReboot ( VOID )
{
bc_disable ( ) ;
local_irq_disable ( ) ;
ARC_CALL0 ( reboot ) ;
never : goto never ;
}
VOID
ArcEnterInteractiveMode ( VOID )
{
bc_disable ( ) ;
local_irq_disable ( ) ;
ARC_CALL0 ( imode ) ;
never : goto never ;
}
LONG
ArcSaveConfiguration ( VOID )
{
return ARC_CALL0 ( cfg_save ) ;
}
struct linux_sysid *
ArcGetSystemId ( VOID )
{
return ( struct linux_sysid * ) ARC_CALL0 ( get_sysid ) ;
}
VOID __init
ArcFlushAllCaches ( VOID )
{
ARC_CALL0 ( cache_flush ) ;
}
DISPLAY_STATUS * __init ArcGetDisplayStatus ( ULONG FileID )
{
return ( DISPLAY_STATUS * ) ARC_CALL1 ( GetDisplayStatus , FileID ) ;
}