blob: 02a9b4b4ac3a66c7ca4ce194a3329a47d31c7f44 [file] [log] [blame]
Andrew Scull18834872018-10-12 11:48:09 +01001/*
Andrew Walbran692b3252019-03-07 15:51:31 +00002 * Copyright 2018 The Hafnium Authors.
Andrew Scull18834872018-10-12 11:48:09 +01003 *
Andrew Walbrane959ec12020-06-17 15:01:09 +01004 * Use of this source code is governed by a BSD-style
5 * license that can be found in the LICENSE file or at
6 * https://opensource.org/licenses/BSD-3-Clause.
Andrew Scull18834872018-10-12 11:48:09 +01007 */
8
Andrew Scullfbc938a2018-08-20 14:09:28 +01009#pragma once
Wedson Almeida Filhofdf4afc2018-07-19 15:45:21 +010010
Karl Meakin6291eb22024-11-18 12:43:47 +000011#include "hf/mem_range.h"
Wedson Almeida Filhofdf4afc2018-07-19 15:45:21 +010012
Andrew Walbran34ce72e2018-09-13 16:47:44 +010013#define MAX_MEM_RANGES 20
Andrew Scull48929fd2020-01-28 10:39:10 +000014#define MAX_DEVICE_MEM_RANGES 10
Andrew Walbran34ce72e2018-09-13 16:47:44 +010015
Wedson Almeida Filhofdf4afc2018-07-19 15:45:21 +010016struct boot_params {
Andrew Walbran4d3fa282019-06-26 13:31:15 +010017 cpu_id_t cpu_ids[MAX_CPUS];
Andrew Scullbb3ab6c2018-11-26 20:38:49 +000018 size_t cpu_count;
Andrew Walbran34ce72e2018-09-13 16:47:44 +010019 struct mem_range mem_ranges[MAX_MEM_RANGES];
20 size_t mem_ranges_count;
Olivier Deprez05046922023-03-09 15:48:40 +010021 struct mem_range ns_mem_ranges[MAX_MEM_RANGES];
22 size_t ns_mem_ranges_count;
Andrew Scull48929fd2020-01-28 10:39:10 +000023 struct mem_range device_mem_ranges[MAX_DEVICE_MEM_RANGES];
24 size_t device_mem_ranges_count;
Daniel Boulby4339edc2024-02-21 14:59:00 +000025 struct mem_range ns_device_mem_ranges[MAX_DEVICE_MEM_RANGES];
26 size_t ns_device_mem_ranges_count;
27
Wedson Almeida Filhofdf4afc2018-07-19 15:45:21 +010028 paddr_t initrd_begin;
29 paddr_t initrd_end;
Andrew Scull37402872018-10-24 14:23:06 +010030 uintreg_t kernel_arg;
Wedson Almeida Filhofdf4afc2018-07-19 15:45:21 +010031};
32
33struct boot_params_update {
Andrew Walbran34ce72e2018-09-13 16:47:44 +010034 struct mem_range reserved_ranges[MAX_MEM_RANGES];
35 size_t reserved_ranges_count;
Wedson Almeida Filhofdf4afc2018-07-19 15:45:21 +010036 paddr_t initrd_begin;
37 paddr_t initrd_end;
38};