mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-19 13:47:56 +00:00
base-foc: fix placement of utcb area stack area
This commit ensures that UTCB areas of PDs are positioned relative to the stack areas of regular components, not the one of core. Fixes #3108
This commit is contained in:
parent
3f60dcfae8
commit
97e3d05f37
@ -31,6 +31,7 @@
|
|||||||
|
|
||||||
/* base-internal includes */
|
/* base-internal includes */
|
||||||
#include <base/internal/stack_area.h>
|
#include <base/internal/stack_area.h>
|
||||||
|
#include <base/internal/non_core_stack_area_addr.h>
|
||||||
|
|
||||||
/* Fiasco.OC includes */
|
/* Fiasco.OC includes */
|
||||||
namespace Fiasco {
|
namespace Fiasco {
|
||||||
@ -57,7 +58,7 @@ namespace Genode {
|
|||||||
|
|
||||||
addr_t utcb_area_start()
|
addr_t utcb_area_start()
|
||||||
{
|
{
|
||||||
return stack_area_virtual_base() +
|
return NON_CORE_STACK_AREA_ADDR +
|
||||||
THREAD_MAX*stack_virtual_size();
|
THREAD_MAX*stack_virtual_size();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -0,0 +1,23 @@
|
|||||||
|
/*
|
||||||
|
* \brief Definition of the stack area outside of core
|
||||||
|
* \author Norman Feske
|
||||||
|
* \date 2019-01-09
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2019 Genode Labs GmbH
|
||||||
|
*
|
||||||
|
* This file is part of the Genode OS framework, which is distributed
|
||||||
|
* under the terms of the GNU Affero General Public License version 3.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _INCLUDE__BASE__INTERNAL__NON_CORE_STACK_AREA_ADDR_H_
|
||||||
|
#define _INCLUDE__BASE__INTERNAL__NON_CORE_STACK_AREA_ADDR_H_
|
||||||
|
|
||||||
|
namespace Genode
|
||||||
|
{
|
||||||
|
static constexpr addr_t NON_CORE_STACK_AREA_ADDR = 0x40000000UL;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* _INCLUDE__BASE__INTERNAL__NON_CORE_STACK_AREA_ADDR_H_ */
|
||||||
|
|
@ -13,5 +13,6 @@
|
|||||||
|
|
||||||
/* base-internal includes */
|
/* base-internal includes */
|
||||||
#include <base/internal/stack_area.h>
|
#include <base/internal/stack_area.h>
|
||||||
|
#include <base/internal/non_core_stack_area_addr.h>
|
||||||
|
|
||||||
Genode::addr_t Genode::stack_area_virtual_base() { return 0x40000000UL; }
|
Genode::addr_t Genode::stack_area_virtual_base() { return NON_CORE_STACK_AREA_ADDR; }
|
||||||
|
Loading…
Reference in New Issue
Block a user