// Lua: sei() - to enable all interrupts // or sei( id1, resnum1, [resnum2], ..., [resnumn] ) - to enable a specific id/resnum(s) static int cpu_sei( lua_State *L ) { #ifdef BUILD_LUA_INT_HANDLERS unsigned i; elua_int_id id; elua_int_resnum resnum; if( lua_gettop( L ) > 0 ) { id = ( elua_int_id )luaL_checkinteger( L, 1 ); for( i = 2; i <= lua_gettop( L ); i ++ ) { resnum = ( elua_int_resnum )luaL_checkinteger( L, i ); platform_cpu_set_interrupt( id, resnum, PLATFORM_CPU_ENABLE ); } elua_int_enable( id ); } else #else // #ifdef BUILD_LUA_INT_HANDLERS if( lua_gettop( L ) > 0 ) return luaL_error( L, "Lua interrupt support not available." ); #endif // #ifdef BUILD_LUA_INT_HANDLERS platform_cpu_set_global_interrupts( PLATFORM_CPU_ENABLE ); return 0; }
// Lua: sei() - to enable all interrupts // or sei( id1, resnum1, [resnum2], ..., [resnumn] ) - to enable a specific id/resnum(s) static int cpu_sei( lua_State *L ) { unsigned i; elua_int_id id; elua_int_resnum resnum; if( lua_gettop( L ) > 0 ) { id = ( elua_int_id )luaL_checkinteger( L, 1 ); for( i = 2; i <= lua_gettop( L ); i ++ ) { resnum = ( elua_int_resnum )luaL_checkinteger( L, i ); platform_cpu_set_interrupt( id, resnum, PLATFORM_CPU_ENABLE ); } elua_int_enable( id ); } else platform_cpu_set_global_interrupts( PLATFORM_CPU_ENABLE ); return 0; }