1 | // SPDX-License-Identifier: GPL-2.0-only |
2 | /* |
3 | * Copyright IBM Corporation, 2007 |
4 | * Josh Boyer <jwboyer@linux.vnet.ibm.com> |
5 | * |
6 | * Based on ebony wrapper: |
7 | * Copyright 2007 David Gibson, IBM Corporation. |
8 | */ |
9 | #include "ops.h" |
10 | #include "stdio.h" |
11 | #include "44x.h" |
12 | #include "stdlib.h" |
13 | |
14 | BSS_STACK(4096); |
15 | |
16 | #define PIBS_MAC0 0xfffc0400 |
17 | #define PIBS_MAC1 0xfffc0500 |
18 | char pibs_mac0[6]; |
19 | char pibs_mac1[6]; |
20 | |
21 | static void read_pibs_mac(void) |
22 | { |
23 | unsigned long long mac64; |
24 | |
25 | mac64 = strtoull(ptr: (char *)PIBS_MAC0, end: 0, base: 16); |
26 | memcpy(dest: &pibs_mac0, src: (char *)&mac64+2, n: 6); |
27 | |
28 | mac64 = strtoull(ptr: (char *)PIBS_MAC1, end: 0, base: 16); |
29 | memcpy(dest: &pibs_mac1, src: (char *)&mac64+2, n: 6); |
30 | } |
31 | |
32 | void platform_init(void) |
33 | { |
34 | unsigned long end_of_ram = 0x8000000; |
35 | unsigned long avail_ram = end_of_ram - (unsigned long)_end; |
36 | |
37 | simple_alloc_init(base: _end, heap_size: avail_ram, granularity: 32, max_allocs: 64); |
38 | read_pibs_mac(); |
39 | bamboo_init(mac0: (u8 *)&pibs_mac0, mac1: (u8 *)&pibs_mac1); |
40 | } |
41 | |