blob: 09d97cec28f6ab72fcc6f88c6afbc45d7fa3ef33 [file] [log] [blame]
// Copyright 2020 The Fuchsia Authors
//
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file or at
// https://opensource.org/licenses/MIT
#include <lib/uart/qemu.h>
#include <stdio.h>
#include <stdlib.h>
#include "../main.h"
#include "test-main.h"
FILE FILE::stdout_;
void PhysMain(void* zbi, arch::EarlyTicks ticks) {
// Apply any relocations required to ourself.
ApplyRelocations();
uart::qemu::KernelDriver<> uart;
FILE::stdout_ = FILE{&uart};
// Early boot may have filled the screen with logs. Add a newline to
// terminate any previous line, and another newline to leave a blank.
printf("\n\n");
// Run the test.
//
// The qemu-phys tests don't use the argument at all. Pass nullptr to easily
// distinguish qemu-phys tests from proper ZBI tests in the shared test code.
int status = TestMain(nullptr, ticks);
if (status == 0) {
printf("\n*** Test succeeded ***\n%s\n\n", ZBI_TEST_SUCCESS_STRING);
} else {
printf("\n*** Test FAILED: status %d ***\n\n", status);
}
// No way to shut down.
abort();
}