Ron Minnich writes: "we'll change cbfstool to put a header on the payload to jump to supervisor if that is desired. The principal here is that payloads are always started in machine mode, but we want to set the page tables up for them." Change-Id: I5cbfc90afd3febab33835935f08005136a3f47e9 Signed-off-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net> Reviewed-on: https://review.coreboot.org/15510 Tested-by: build bot (Jenkins) Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
36 lines
885 B
C
36 lines
885 B
C
/*
|
|
* This file is part of the coreboot project.
|
|
*
|
|
* Copyright 2013 Google Inc.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; version 2 of the License.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*/
|
|
|
|
#include <program_loading.h>
|
|
#include <vm.h>
|
|
#include <arch/encoding.h>
|
|
#include <rules.h>
|
|
|
|
void arch_prog_run(struct prog *prog)
|
|
{
|
|
void (*doit)(void *) = prog_entry(prog);
|
|
|
|
if (ENV_RAMSTAGE && prog_type(prog) == PROG_PAYLOAD) {
|
|
initVirtualMemory();
|
|
}
|
|
|
|
doit(prog_entry_arg(prog));
|
|
}
|
|
|
|
int arch_supports_bounce_buffer(void)
|
|
{
|
|
return 0;
|
|
}
|