The new implementation of the FPU and FPU context is taken out to separate architecture-dependent header files. The generic Cpu_lazy_state is deleted. There is no hint about the existence of something like an FPU in the generic non-architexture-dependent code anymore. Instead the architecture-dependent CPU context of a thread is extended by an FPU context where supported. Moreover, the current FPU implementations are enhanced so that threads that get deleted now release the FPU when still obtaining it. Fix #1855
25 lines
502 B
C++
25 lines
502 B
C++
/*
|
|
* \brief CPU driver for core
|
|
* \author Martin stein
|
|
* \author Stefan Kalkowski
|
|
* \date 2016-01-19
|
|
*/
|
|
|
|
/*
|
|
* Copyright (C) 2016 Genode Labs GmbH
|
|
*
|
|
* This file is part of the Genode OS framework, which is distributed
|
|
* under the terms of the GNU General Public License version 2.
|
|
*/
|
|
|
|
#include <cpu.h>
|
|
|
|
void Genode::Fpu::init()
|
|
{
|
|
Cpu::Cpacr::access_t cpacr = Cpu::Cpacr::read();
|
|
Cpu::Cpacr::Cp10::set(cpacr, 3);
|
|
Cpu::Cpacr::Cp11::set(cpacr, 3);
|
|
Cpu::Cpacr::write(cpacr);
|
|
_disable();
|
|
}
|