xref: /aosp_15_r20/external/coreboot/src/lib/prog_ops.c (revision b9411a12aaaa7e1e6a6fb7c5e057f44ee179a49c)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #include <program_loading.h>
4 #include <types.h>
5 
6 /* For each segment of a program loaded this function is called*/
prog_segment_loaded(uintptr_t start,size_t size,int flags)7 void prog_segment_loaded(uintptr_t start, size_t size, int flags)
8 {
9 	platform_segment_loaded(start, size, flags);
10 	arch_segment_loaded(start, size, flags);
11 }
12 
platform_segment_loaded(uintptr_t start,size_t size,int flags)13 void __weak platform_segment_loaded(uintptr_t start,
14 							size_t size, int flags)
15 {
16 	/* do nothing */
17 }
18 
arch_segment_loaded(uintptr_t start,size_t size,int flags)19 void __weak arch_segment_loaded(uintptr_t start, size_t size,
20 						int flags)
21 {
22 	/* do nothing */
23 }
24 
prog_run(struct prog * prog)25 void prog_run(struct prog *prog)
26 {
27 	platform_prog_run(prog);
28 	arch_prog_run(prog);
29 }
30 
platform_prog_run(struct prog * prog)31 void __weak platform_prog_run(struct prog *prog)
32 {
33 	/* do nothing */
34 }
35