vxworks.h (fa5e91f778fe8aba1fa9a7d0d7f64abdf3080ac9) vxworks.h (447ae4f7adb2c667eec1e0861e2346694c57a2e0)
1/*
2 * (C) Copyright 2008
3 * Niklaus Giger, niklaus.giger@member.fsf.org
4 *
5 * SPDX-License-Identifier: GPL-2.0+
6 */
7
8#ifndef _VXWORKS_H_
9#define _VXWORKS_H_
10
1/*
2 * (C) Copyright 2008
3 * Niklaus Giger, niklaus.giger@member.fsf.org
4 *
5 * SPDX-License-Identifier: GPL-2.0+
6 */
7
8#ifndef _VXWORKS_H_
9#define _VXWORKS_H_
10
11#include <efi_api.h>
12
11/*
12 * Physical address of memory base for VxWorks x86
13 * This is LOCAL_MEM_LOCAL_ADRS in the VxWorks kernel configuration.
14 */
15#define VXWORKS_PHYS_MEM_BASE 0x100000
16
17/*
18 * VxWorks x86 E820 related stuff

--- 28 unchanged lines hidden (view full) ---

47 * VxWorks bootloader stores its size at a pre-defined offset @ 0x5004.
48 * Later when VxWorks kernel boots up and system memory information is
49 * retrieved from the E820 table, the bootloader size will be subtracted
50 * from the total system memory size to calculate the size of available
51 * memory for the OS.
52 */
53#define BOOT_IMAGE_SIZE_OFFSET 0x5004
54
13/*
14 * Physical address of memory base for VxWorks x86
15 * This is LOCAL_MEM_LOCAL_ADRS in the VxWorks kernel configuration.
16 */
17#define VXWORKS_PHYS_MEM_BASE 0x100000
18
19/*
20 * VxWorks x86 E820 related stuff

--- 28 unchanged lines hidden (view full) ---

49 * VxWorks bootloader stores its size at a pre-defined offset @ 0x5004.
50 * Later when VxWorks kernel boots up and system memory information is
51 * retrieved from the E820 table, the bootloader size will be subtracted
52 * from the total system memory size to calculate the size of available
53 * memory for the OS.
54 */
55#define BOOT_IMAGE_SIZE_OFFSET 0x5004
56
57/*
58 * When booting from EFI BIOS, VxWorks bootloader stores the EFI GOP
59 * framebuffer info at a pre-defined offset @ 0x6100. When VxWorks kernel
60 * boots up, its EFI console driver tries to find such a block and if
61 * the signature matches, the framebuffer information will be used to
62 * initialize the driver.
63 *
64 * However it is not necessary to prepare an EFI environment for VxWorks's
65 * EFI console driver to function (eg: EFI loader in U-Boot). If U-Boot has
66 * already initialized the graphics card and set it to a VESA mode that is
67 * compatible with EFI GOP, we can simply prepare such a block for VxWorks.
68 */
69#define EFI_GOP_INFO_OFFSET 0x6100
70
71/* EFI GOP info signatiure */
72#define EFI_GOP_INFO_MAGIC 0xfeedface
73
74struct efi_gop_info {
75 u32 magic; /* signature */
76 struct efi_gop_mode_info info; /* EFI GOP mode info structure */
77 phys_addr_t fb_base; /* framebuffer base address */
78 u32 fb_size; /* framebuffer size */
79};
80
55int do_bootvx(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
56void boot_prep_vxworks(bootm_headers_t *images);
57void boot_jump_vxworks(bootm_headers_t *images);
58void do_bootvx_fdt(bootm_headers_t *images);
59
60#endif
81int do_bootvx(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
82void boot_prep_vxworks(bootm_headers_t *images);
83void boot_jump_vxworks(bootm_headers_t *images);
84void do_bootvx_fdt(bootm_headers_t *images);
85
86#endif