Skip to content

Commit fae8fca

Browse files
danielRepjosecm
authored andcommitted
feat(plat): add platform initialization functions
Add two functions for platforms without firmware support: - platform_default_init: minimal init required by Bao - platform_config_init: user-extended platform configuration Signed-off-by: Daniel Oliveira <[email protected]>
1 parent daf584e commit fae8fca

File tree

4 files changed

+23
-0
lines changed

4 files changed

+23
-0
lines changed

src/core/inc/platform.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,8 @@ struct platform {
3232

3333
extern struct platform platform;
3434

35+
void platform_init(void);
36+
void platform_default_init(void);
37+
void platform_config_init(void);
38+
3539
#endif /* __PLATFORM_H__ */

src/core/init.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ void init(cpuid_t cpu_id, paddr_t load_addr)
2424

2525
/* -------------------------------------------------------------- */
2626

27+
platform_init();
28+
2729
console_init();
2830

2931
if (cpu_is_master()) {

src/core/objects.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,4 @@ core-objs-y+=objpool.o
1515
core-objs-y+=hypercall.o
1616
core-objs-y+=shmem.o
1717
core-objs-y+=remio.o
18+
core-objs-y+=platform.o

src/core/platform.c

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
/**
2+
* SPDX-License-Identifier: Apache-2.0
3+
* Copyright (c) Bao Project and Contributors. All rights reserved.
4+
*/
5+
6+
#include <platform.h>
7+
8+
__attribute__((weak)) void platform_default_init(void) { }
9+
10+
__attribute__((weak)) void platform_config_init(void) { }
11+
12+
void platform_init(void)
13+
{
14+
platform_default_init();
15+
platform_config_init();
16+
}

0 commit comments

Comments
 (0)