libpayload: Drop PowerPC architecture
This was never completed / working and we have the working ARMv7 port for an architecture template, so get rid of this dead code. Change-Id: Ic2c1267ee5546dd6e1b63220c263b2fa86c8ae33 Signed-off-by: Stefan Reinauer <reinauer@google.com> Reviewed-on: https://gerrit.chromium.org/gerrit/56065 Reviewed-by: Patrick Georgi <patrick@georgi-clan.de> Reviewed-by: Ronald G. Minnich <rminnich@chromium.org> Commit-Queue: Stefan Reinauer <reinauer@chromium.org> Reviewed-on: http://review.coreboot.org/4235 Tested-by: build bot (Jenkins) Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
This commit is contained in:
parent
5f5d914876
commit
b82a74c7ff
18 changed files with 0 additions and 964 deletions
|
@ -72,11 +72,6 @@ config ARCH_ARMV7
|
|||
help
|
||||
Support the x86 architecture
|
||||
|
||||
config ARCH_POWERPC
|
||||
bool "PowerPC"
|
||||
help
|
||||
Support the PowerPC architecture
|
||||
|
||||
config ARCH_X86
|
||||
bool "x86"
|
||||
help
|
||||
|
|
|
@ -92,7 +92,6 @@ include util/kconfig/Makefile
|
|||
include $(HAVE_DOTCONFIG)
|
||||
|
||||
ARCHDIR-$(CONFIG_ARCH_ARMV7) := armv7
|
||||
ARCHDIR-$(CONFIG_ARCH_POWERPC) := powerpc
|
||||
ARCHDIR-$(CONFIG_ARCH_X86) := x86
|
||||
|
||||
ARCH-y := $(ARCHDIR-y)
|
||||
|
@ -100,7 +99,6 @@ ARCH-y := $(ARCHDIR-y)
|
|||
# If architecture folder name is different from GCC binutils architecture name,
|
||||
# override here.
|
||||
ARCH-$(CONFIG_ARCH_ARMV7) := armv7
|
||||
ARCH-$(CONFIG_ARCH_POWERPC) := powerpc
|
||||
ARCH-$(CONFIG_ARCH_X86) := i386
|
||||
|
||||
CC := $(CC_$(ARCH-y))
|
||||
|
|
|
@ -33,7 +33,6 @@ export KERNELVERSION := 0.2.0
|
|||
|
||||
ARCHDIR-$(CONFIG_ARCH_ARMV7) := armv7
|
||||
ARCHDIR-$(CONFIG_ARCH_X86) := x86
|
||||
ARCHDIR-$(CONFIG_ARCH_POWERPC) := powerpc
|
||||
DESTDIR ?= install
|
||||
|
||||
real-target: lib
|
||||
|
|
|
@ -28,5 +28,4 @@
|
|||
##
|
||||
|
||||
source "arch/armv7/Config.in"
|
||||
source "arch/powerpc/Config.in"
|
||||
source "arch/x86/Config.in"
|
||||
|
|
|
@ -1,37 +0,0 @@
|
|||
##
|
||||
## This file is part of the libpayload project.
|
||||
##
|
||||
## Copyright (c) 2012 Google Inc.
|
||||
##
|
||||
## Redistribution and use in source and binary forms, with or without
|
||||
## modification, are permitted provided that the following conditions
|
||||
## are met:
|
||||
## 1. Redistributions of source code must retain the above copyright
|
||||
## notice, this list of conditions and the following disclaimer.
|
||||
## 2. Redistributions in binary form must reproduce the above copyright
|
||||
## notice, this list of conditions and the following disclaimer in the
|
||||
## documentation and/or other materials provided with the distribution.
|
||||
## 3. The name of the author may not be used to endorse or promote products
|
||||
## derived from this software without specific prior written permission.
|
||||
##
|
||||
## THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||||
## ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
## ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||
## FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
## DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
## OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
## HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
## LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
## OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
## SUCH DAMAGE.
|
||||
##
|
||||
|
||||
if ARCH_POWERPC
|
||||
|
||||
config ARCH_SPECIFIC_OPTIONS # dummy
|
||||
def_bool y
|
||||
select BIG_ENDIAN
|
||||
select IO_ADDRESS_SPACE
|
||||
|
||||
endif
|
|
@ -1,34 +0,0 @@
|
|||
##
|
||||
## This file is part of the libpayload project.
|
||||
##
|
||||
## Copyright (C) 2008 Advanced Micro Devices, Inc.
|
||||
##
|
||||
## Redistribution and use in source and binary forms, with or without
|
||||
## modification, are permitted provided that the following conditions
|
||||
## are met:
|
||||
## 1. Redistributions of source code must retain the above copyright
|
||||
## notice, this list of conditions and the following disclaimer.
|
||||
## 2. Redistributions in binary form must reproduce the above copyright
|
||||
## notice, this list of conditions and the following disclaimer in the
|
||||
## documentation and/or other materials provided with the distribution.
|
||||
## 3. The name of the author may not be used to endorse or promote products
|
||||
## derived from this software without specific prior written permission.
|
||||
##
|
||||
## THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||||
## ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
## ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||
## FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
## DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
## OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
## HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
## LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
## OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
## SUCH DAMAGE.
|
||||
##
|
||||
|
||||
head.o-y := head.S
|
||||
libc-y += main.c sysinfo.c
|
||||
libc-y += timer.c coreboot.c util.S
|
||||
libc-y += exec.S virtual.c
|
||||
|
|
@ -1,171 +0,0 @@
|
|||
/*
|
||||
* This file is part of the libpayload project.
|
||||
*
|
||||
* Copyright (C) 2008 Advanced Micro Devices, Inc.
|
||||
* Copyright (C) 2009 coresystems GmbH
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. The name of the author may not be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include <libpayload-config.h>
|
||||
#include <libpayload.h>
|
||||
#include <coreboot_tables.h>
|
||||
|
||||
/*
|
||||
* Some of this is x86 specific, and the rest of it is generic. Right now,
|
||||
* since we only support x86, we'll avoid trying to make lots of infrastructure
|
||||
* we don't need. If in the future, we want to use coreboot on some other
|
||||
* architecture, then take out the generic parsing code and move it elsewhere.
|
||||
*/
|
||||
|
||||
/* === Parsing code === */
|
||||
/* This is the generic parsing code. */
|
||||
|
||||
static void cb_parse_memory(unsigned char *ptr, struct sysinfo_t *info)
|
||||
{
|
||||
struct cb_memory *mem = (struct cb_memory *)ptr;
|
||||
int count = MEM_RANGE_COUNT(mem);
|
||||
int i;
|
||||
|
||||
if (count > SYSINFO_MAX_MEM_RANGES)
|
||||
count = SYSINFO_MAX_MEM_RANGES;
|
||||
|
||||
info->n_memranges = 0;
|
||||
|
||||
for (i = 0; i < count; i++) {
|
||||
struct cb_memory_range *range =
|
||||
(struct cb_memory_range *)MEM_RANGE_PTR(mem, i);
|
||||
|
||||
#ifdef CONFIG_MEMMAP_RAM_ONLY
|
||||
if (range->type != CB_MEM_RAM)
|
||||
continue;
|
||||
#endif
|
||||
|
||||
info->memrange[info->n_memranges].base =
|
||||
UNPACK_CB64(range->start);
|
||||
|
||||
info->memrange[info->n_memranges].size =
|
||||
UNPACK_CB64(range->size);
|
||||
|
||||
info->memrange[info->n_memranges].type = range->type;
|
||||
|
||||
info->n_memranges++;
|
||||
}
|
||||
}
|
||||
|
||||
static void cb_parse_serial(unsigned char *ptr, struct sysinfo_t *info)
|
||||
{
|
||||
struct cb_serial *ser = (struct cb_serial *)ptr;
|
||||
if (ser->type != CB_SERIAL_TYPE_IO_MAPPED)
|
||||
return;
|
||||
info->ser_ioport = ser->baseaddr;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_NVRAM
|
||||
static void cb_parse_optiontable(unsigned char *ptr, struct sysinfo_t *info)
|
||||
{
|
||||
info->option_table = (struct cb_cmos_option_table *)ptr;
|
||||
}
|
||||
|
||||
static void cb_parse_checksum(unsigned char *ptr, struct sysinfo_t *info)
|
||||
{
|
||||
struct cb_cmos_checksum *cmos_cksum = (struct cb_cmos_checksum *)ptr;
|
||||
info->cmos_range_start = cmos_cksum->range_start;
|
||||
info->cmos_range_end = cmos_cksum->range_end;
|
||||
info->cmos_checksum_location = cmos_cksum->location;
|
||||
}
|
||||
#endif
|
||||
|
||||
static int cb_parse_header(void *addr, int len, struct sysinfo_t *info)
|
||||
{
|
||||
struct cb_header *header;
|
||||
unsigned char *ptr = (unsigned char *)addr;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < len; i += 16, ptr += 16) {
|
||||
header = (struct cb_header *)ptr;
|
||||
if (!strncmp((const char *)header->signature, "LBIO", 4))
|
||||
break;
|
||||
}
|
||||
|
||||
/* We walked the entire space and didn't find anything. */
|
||||
if (i >= len)
|
||||
return -1;
|
||||
|
||||
if (!header->table_bytes)
|
||||
return 0;
|
||||
|
||||
/* Make sure the checksums match. */
|
||||
if (ipchksum((u16 *) header, sizeof(*header)) != 0)
|
||||
return -1;
|
||||
|
||||
if (ipchksum((u16 *) (ptr + sizeof(*header)),
|
||||
header->table_bytes) != header->table_checksum)
|
||||
return -1;
|
||||
|
||||
/* Now, walk the tables. */
|
||||
ptr += header->header_bytes;
|
||||
|
||||
for (i = 0; i < header->table_entries; i++) {
|
||||
struct cb_record *rec = (struct cb_record *)ptr;
|
||||
|
||||
/* We only care about a few tags here (maybe more later). */
|
||||
switch (rec->tag) {
|
||||
case CB_TAG_FORWARD:
|
||||
return cb_parse_header((void *)(unsigned long)((struct cb_forward *)rec)->forward, len, info);
|
||||
continue;
|
||||
case CB_TAG_MEMORY:
|
||||
cb_parse_memory(ptr, info);
|
||||
break;
|
||||
case CB_TAG_SERIAL:
|
||||
cb_parse_serial(ptr, info);
|
||||
break;
|
||||
#ifdef CONFIG_NVRAM
|
||||
case CB_TAG_CMOS_OPTION_TABLE:
|
||||
cb_parse_optiontable(ptr, info);
|
||||
break;
|
||||
case CB_TAG_OPTION_CHECKSUM:
|
||||
cb_parse_checksum(ptr, info);
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
|
||||
ptr += rec->size;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* == Architecture specific == */
|
||||
/* This is the x86 specific stuff. */
|
||||
|
||||
int get_coreboot_info(struct sysinfo_t *info)
|
||||
{
|
||||
int ret = cb_parse_header(phys_to_virt(0x00000000), 0x1000, info);
|
||||
|
||||
if (ret != 1)
|
||||
ret = cb_parse_header(phys_to_virt(0x000f0000), 0x1000, info);
|
||||
|
||||
return (ret == 1) ? 0 : -1;
|
||||
}
|
|
@ -1,100 +0,0 @@
|
|||
/*
|
||||
* This file is part of the libpayload project.
|
||||
*
|
||||
* Copyright (C) 2008 Advanced Micro Devices, Inc.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. The name of the author may not be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
/* calling syntax: i386_do_exec(long addr, int argc, char **argv, int *ret) */
|
||||
|
||||
/* This implements the payload API detailed here:
|
||||
* http://www.coreboot.org/Payload_API
|
||||
*/
|
||||
|
||||
.align 4
|
||||
.text
|
||||
|
||||
.globl powerpc_do_exec
|
||||
.type powerpc_do_exec,@function
|
||||
|
||||
powerpc_do_exec:
|
||||
#if 0
|
||||
pushl %ebp
|
||||
movl %esp, %ebp
|
||||
pushl %eax
|
||||
|
||||
/* Put the run address in %eax */
|
||||
movl 8(%ebp), %eax
|
||||
|
||||
/* Save off the rest of the registers */
|
||||
|
||||
pushl %esi
|
||||
pushl %ecx
|
||||
pushl %ebp
|
||||
|
||||
/* Push the argc and argv pointers on to the stack */
|
||||
|
||||
movl 12(%ebp), %esi
|
||||
movl 16(%ebp), %ecx
|
||||
|
||||
pushl %esi
|
||||
pushl %ecx
|
||||
|
||||
/* Move a "magic" number on the stack - the other
|
||||
* payload will use this as a clue that the argc
|
||||
* and argv are sane
|
||||
*/
|
||||
|
||||
movl $12345678, %ecx
|
||||
pushl %ecx
|
||||
|
||||
/* Jump to the code */
|
||||
call *%eax
|
||||
|
||||
/* %eax has the return value */
|
||||
|
||||
/* Skip over the argc/argv stuff still on the stack */
|
||||
addl $12, %esp
|
||||
|
||||
/* Get back %ebp */
|
||||
popl %ebp
|
||||
|
||||
/* Get the pointer to the return value
|
||||
* and save the return value in it
|
||||
*/
|
||||
|
||||
movl 20(%ebp), %ecx
|
||||
movl %eax, (%eax)
|
||||
|
||||
/* Get the rest of the saved registers */
|
||||
popl %ecx
|
||||
popl %esi
|
||||
popl %eax
|
||||
|
||||
/* Restore the stack pointer */
|
||||
movl %ebp,%esp
|
||||
popl %ebp
|
||||
ret
|
||||
#endif
|
|
@ -1,87 +0,0 @@
|
|||
/*
|
||||
* This file is part of the libpayload project.
|
||||
*
|
||||
* Copyright (C) 2008 Advanced Micro Devices, Inc.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. The name of the author may not be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
.globl _entry, _leave
|
||||
.text
|
||||
.align 4
|
||||
|
||||
/*
|
||||
* Our entry point - assume that the CPU is in 32 bit protected mode and
|
||||
* all segments are in a flat model. That's our operating mode, so we won't
|
||||
* change anything.
|
||||
*/
|
||||
_entry:
|
||||
#if 0
|
||||
call _init
|
||||
|
||||
/* We're back - go back to the bootloader. */
|
||||
ret
|
||||
.align 4
|
||||
|
||||
|
||||
/*
|
||||
* This function saves off the previous stack and switches us to our
|
||||
* own execution environment.
|
||||
*/
|
||||
_init:
|
||||
/* No interrupts, please. */
|
||||
cli
|
||||
|
||||
/* Store current stack pointer. */
|
||||
movl %esp, %esi
|
||||
|
||||
/* Store EAX and EBX */
|
||||
|
||||
movl %eax,loader_eax
|
||||
movl %ebx,loader_ebx
|
||||
|
||||
/* Setup new stack. */
|
||||
movl $_stack, %ebx
|
||||
|
||||
movl %ebx, %esp
|
||||
|
||||
/* Save old stack pointer. */
|
||||
pushl %esi
|
||||
|
||||
/* Let's rock. */
|
||||
call start_main
|
||||
|
||||
#endif
|
||||
/* %eax has the return value - pass it on unmolested */
|
||||
_leave:
|
||||
#if 0
|
||||
/* Get old stack pointer. */
|
||||
popl %ebx
|
||||
|
||||
/* Restore old stack. */
|
||||
movl %ebx, %esp
|
||||
|
||||
/* Return to the original context. */
|
||||
ret
|
||||
#endif
|
|
@ -1,73 +0,0 @@
|
|||
/*
|
||||
* This file is part of the libpayload project.
|
||||
*
|
||||
* Copyright (C) 2008 Advanced Micro Devices, Inc.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. The name of the author may not be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include <libpayload.h>
|
||||
|
||||
unsigned long loader_eax; /**< The value of EAX passed from the loader */
|
||||
unsigned long loader_ebx; /**< The value of EBX passed from the loader */
|
||||
|
||||
unsigned int main_argc; /**< The argc value to pass to main() */
|
||||
|
||||
/** The argv value to pass to main() */
|
||||
char *main_argv[MAX_ARGC_COUNT];
|
||||
|
||||
/**
|
||||
* This is our C entry function - set up the system
|
||||
* and jump into the payload entry point.
|
||||
*/
|
||||
void start_main(void);
|
||||
void start_main(void)
|
||||
{
|
||||
extern int main(int argc, char **argv);
|
||||
|
||||
/* Optionally set up the consoles. */
|
||||
#ifndef CONFIG_SKIP_CONSOLE_INIT
|
||||
console_init();
|
||||
#endif
|
||||
|
||||
/* Gather system information. */
|
||||
lib_get_sysinfo();
|
||||
|
||||
/*
|
||||
* Any other system init that has to happen before the
|
||||
* user gets control goes here.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Go to the entry point.
|
||||
* In the future we may care about the return value.
|
||||
*/
|
||||
|
||||
(void) main(main_argc, (main_argc != 0) ? main_argv : NULL);
|
||||
|
||||
/*
|
||||
* Returning here will go to the _leave function to return
|
||||
* us to the original context.
|
||||
*/
|
||||
}
|
|
@ -1,80 +0,0 @@
|
|||
/*
|
||||
* This file is part of the libpayload project.
|
||||
*
|
||||
* Copyright (C) 2008 Advanced Micro Devices, Inc.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. The name of the author may not be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include <libpayload-config.h>
|
||||
#include <libpayload.h>
|
||||
#include <coreboot_tables.h>
|
||||
#include <multiboot_tables.h>
|
||||
|
||||
/**
|
||||
* This is a global structure that is used through the library - we set it
|
||||
* up initially with some dummy values - hopefully they will be overridden.
|
||||
*/
|
||||
struct sysinfo_t lib_sysinfo = {
|
||||
.cpu_khz = 200,
|
||||
#ifdef CONFIG_SERIAL_CONSOLE
|
||||
.ser_ioport = CONFIG_SERIAL_IOBASE,
|
||||
#else
|
||||
.ser_ioport = 0x3f8,
|
||||
#endif
|
||||
};
|
||||
|
||||
int lib_get_sysinfo(void)
|
||||
{
|
||||
int ret;
|
||||
|
||||
/* Get the CPU speed (for delays). */
|
||||
lib_sysinfo.cpu_khz = get_cpu_speed();
|
||||
|
||||
#ifdef CONFIG_MULTIBOOT
|
||||
/* Get the information from the multiboot tables,
|
||||
* if they exist */
|
||||
get_multiboot_info(&lib_sysinfo);
|
||||
#endif
|
||||
|
||||
/* Get information from the coreboot tables,
|
||||
* if they exist */
|
||||
|
||||
ret = get_coreboot_info(&lib_sysinfo);
|
||||
|
||||
if (!lib_sysinfo.n_memranges) {
|
||||
/* If we can't get a good memory range, use the default. */
|
||||
lib_sysinfo.n_memranges = 2;
|
||||
|
||||
lib_sysinfo.memrange[0].base = 0;
|
||||
lib_sysinfo.memrange[0].size = 640 * 1024;
|
||||
lib_sysinfo.memrange[0].type = CB_MEM_RAM;
|
||||
|
||||
lib_sysinfo.memrange[1].base = 1024 * 1024;
|
||||
lib_sysinfo.memrange[1].size = 31 * 1024 * 1024;
|
||||
lib_sysinfo.memrange[1].type = CB_MEM_RAM;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
|
@ -1,65 +0,0 @@
|
|||
/*
|
||||
* This file is part of the libpayload project.
|
||||
*
|
||||
* Copyright (C) 2008 Advanced Micro Devices, Inc.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. The name of the author may not be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file i386/timer.c
|
||||
* i386 specific timer routines
|
||||
*/
|
||||
|
||||
#include <libpayload.h>
|
||||
|
||||
/**
|
||||
* @ingroup arch
|
||||
* Global variable containing the speed of the processor in KHz.
|
||||
*/
|
||||
u32 cpu_khz;
|
||||
|
||||
/**
|
||||
* Calculate the speed of the processor for use in delays.
|
||||
*
|
||||
* @return The CPU speed in kHz.
|
||||
*/
|
||||
unsigned int get_cpu_speed(void)
|
||||
{
|
||||
/* FIXME */
|
||||
cpu_khz = 200 * 1024;
|
||||
return cpu_khz;
|
||||
}
|
||||
|
||||
uint64_t timer_hz(void)
|
||||
{
|
||||
/* FIXME */
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint64_t timer_raw_value(void)
|
||||
{
|
||||
/* FIXME */
|
||||
return 0;
|
||||
}
|
|
@ -1,40 +0,0 @@
|
|||
/*
|
||||
* This file is part of the libpayload project.
|
||||
*
|
||||
* Copyright (C) 2008 Advanced Micro Devices, Inc.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. The name of the author may not be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
.globl halt
|
||||
.text
|
||||
.align 4
|
||||
|
||||
/* This function puts the system into a halt. */
|
||||
halt:
|
||||
#if 0
|
||||
cli
|
||||
hlt
|
||||
jmp halt
|
||||
#endif
|
|
@ -1,37 +0,0 @@
|
|||
/*
|
||||
* This file is part of the libpayload project.
|
||||
*
|
||||
* Copyright (C) 2008 coresystems GmbH
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. The name of the author may not be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include <unistd.h>
|
||||
|
||||
unsigned long virtual_offset = 0;
|
||||
|
||||
int getpagesize(void)
|
||||
{
|
||||
return 4096;
|
||||
}
|
|
@ -75,13 +75,6 @@ if [ "$CONFIG_ARCH_ARMV7" = "y" ]; then
|
|||
_ARCH=armv7
|
||||
fi
|
||||
|
||||
if [ "$CONFIG_ARCH_POWERPC" = "y" ]; then
|
||||
_ARCHINCDIR=$_INCDIR/powerpc
|
||||
_ARCHLIBDIR=$_LIBDIR/powerpc
|
||||
_ARCHEXTRA=""
|
||||
_ARCH=powerpc
|
||||
fi
|
||||
|
||||
if [ "$CONFIG_ARCH_X86" = "y" ]; then
|
||||
_ARCHINCDIR=$_INCDIR/x86
|
||||
_ARCHLIBDIR=$_LIBDIR/x86
|
||||
|
|
|
@ -1,123 +0,0 @@
|
|||
/*
|
||||
* This file is part of the libpayload project.
|
||||
*
|
||||
* Copyright (C) 2008 Advanced Micro Devices, Inc.
|
||||
* Copyright (C) 2008-2009 coresystems GmbH
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. The name of the author may not be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef _ARCH_IO_H
|
||||
#define _ARCH_IO_H
|
||||
|
||||
extern uint32_t isa_io_base;
|
||||
|
||||
#define readb(_a) (*(volatile unsigned char *) (_a))
|
||||
#define readw(_a) (*(volatile unsigned short *) (_a))
|
||||
#define readl(_a) (*(volatile unsigned long *) (_a))
|
||||
|
||||
#define writeb(_v, _a) (*(volatile unsigned char *) (_a) = (_v))
|
||||
#define writew(_v, _a) (*(volatile unsigned short *) (_a) = (_v))
|
||||
#define writel(_v, _a) (*(volatile unsigned long *) (_a) = (_v))
|
||||
|
||||
static inline unsigned long inl(int port)
|
||||
{
|
||||
volatile unsigned char *addr = (volatile unsigned char *)(isa_io_base + port);
|
||||
unsigned long val;
|
||||
__asm__ __volatile__("lhbrx %0,0,%1; eieio":"=r"(val):
|
||||
"r"(addr), "m"(*addr));
|
||||
return val;
|
||||
}
|
||||
|
||||
static inline unsigned short inw(int port)
|
||||
{
|
||||
volatile unsigned char *addr = (volatile unsigned char *)(isa_io_base + port);
|
||||
unsigned short val;
|
||||
__asm__ __volatile__("lwbrx %0,0,%1; eieio":"=r"(val):"r"(addr), "m"(*addr));
|
||||
return val;
|
||||
}
|
||||
|
||||
static inline unsigned char inb(int port)
|
||||
{
|
||||
volatile unsigned char *addr = (volatile unsigned char *)(isa_io_base + port);
|
||||
unsigned char val;
|
||||
__asm__ __volatile__("lbz%U1%X1 %0,%1; eieio":"=r"(val):"m"(*addr));
|
||||
return val;
|
||||
}
|
||||
|
||||
static inline void outl(unsigned long val, int port)
|
||||
{
|
||||
volatile unsigned char *addr = (volatile unsigned char *)(isa_io_base + port);
|
||||
__asm__ __volatile__("stb%U0%X0 %1,%0; eieio":"=m"(*addr):"r"(val));
|
||||
}
|
||||
|
||||
static inline void outw(unsigned short val, int port)
|
||||
{
|
||||
volatile unsigned char *addr = (volatile unsigned char *)(isa_io_base + port);
|
||||
__asm__ __volatile__("sthbrx %1,0,%2; eieio":"=m"(*addr):"r"(val),"r"(addr));
|
||||
}
|
||||
|
||||
static inline void outb(unsigned char val, int port)
|
||||
{
|
||||
volatile unsigned char *addr = (volatile unsigned char *)(isa_io_base + port);
|
||||
__asm__ __volatile__("stwbrx %1,0,%2; eieio":"=m"(*addr):"r"(val), "r"(addr));
|
||||
}
|
||||
|
||||
static inline void outsl(int port, const void *addr, unsigned long count)
|
||||
{
|
||||
volatile unsigned char *addr = (volatile unsigned char *)(isa_io_base + port);
|
||||
//__asm__ __volatile__("rep; outsl" : "+S"(addr), "+c"(count) : "d"(port));
|
||||
}
|
||||
|
||||
static inline void outsw(int port, const void *addr, unsigned long count)
|
||||
{
|
||||
volatile unsigned char *addr = (volatile unsigned char *)(isa_io_base + port);
|
||||
//__asm__ __volatile__("rep; outsw" : "+S"(addr), "+c"(count) : "d"(port));
|
||||
}
|
||||
|
||||
static inline void outsb(int port, const void *addr, unsigned long count)
|
||||
{
|
||||
volatile unsigned char *addr = (volatile unsigned char *)(isa_io_base + port);
|
||||
//__asm__ __volatile__("rep; outsb" : "+S"(addr), "+c"(count) : "d"(port));
|
||||
}
|
||||
|
||||
static inline void insl(int port, void *addr, unsigned long count)
|
||||
{
|
||||
volatile unsigned char *addr = (volatile unsigned char *)(isa_io_base + port);
|
||||
//__asm__ __volatile__("rep; insl" : "+D"(addr), "+c"(count) : "d"(port));
|
||||
}
|
||||
|
||||
static inline void insw(int port, void *addr, unsigned long count)
|
||||
{
|
||||
volatile unsigned char *addr = (volatile unsigned char *)(isa_io_base + port);
|
||||
//__asm__ __volatile__("rep; insw" : "+D"(addr), "+c"(count) : "d"(port));
|
||||
}
|
||||
|
||||
static inline void insb(int port, void *addr, unsigned long count)
|
||||
{
|
||||
volatile unsigned char *addr = (volatile unsigned char *)(isa_io_base + port);
|
||||
//__asm__ __volatile__("rep; insb" : "+D"(addr), "+c"(count) : "d"(port));
|
||||
}
|
||||
|
||||
#endif
|
|
@ -1,60 +0,0 @@
|
|||
/*
|
||||
* This file is part of the libpayload project.
|
||||
*
|
||||
* Copyright (C) 2007 Uwe Hermann <uwe@hermann-uwe.de>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. The name of the author may not be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef _ARCH_TYPES_H
|
||||
#define _ARCH_TYPES_H
|
||||
|
||||
typedef unsigned char uint8_t;
|
||||
typedef unsigned char u8;
|
||||
typedef signed char int8_t;
|
||||
typedef signed char s8;
|
||||
|
||||
typedef unsigned short uint16_t;
|
||||
typedef unsigned short u16;
|
||||
typedef signed short int16_t;
|
||||
typedef signed short s16;
|
||||
|
||||
typedef unsigned int uint32_t;
|
||||
typedef unsigned int u32;
|
||||
typedef signed int int32_t;
|
||||
typedef signed int s32;
|
||||
|
||||
typedef unsigned long long uint64_t;
|
||||
typedef unsigned long long u64;
|
||||
typedef signed long long int64_t;
|
||||
typedef signed long long s64;
|
||||
|
||||
typedef long time_t;
|
||||
typedef long suseconds_t;
|
||||
|
||||
#ifndef NULL
|
||||
#define NULL ((void *)0)
|
||||
#endif
|
||||
|
||||
#endif
|
|
@ -1,41 +0,0 @@
|
|||
/*
|
||||
* This file is part of the libpayload project.
|
||||
*
|
||||
* Copyright (C) 2008 coresystems GmbH
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. The name of the author may not be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef _ARCH_VIRTUAL_H
|
||||
#define _ARCH_VIRTUAL_H
|
||||
|
||||
extern unsigned long virtual_offset;
|
||||
|
||||
#define virt_to_phys(virt) ((unsigned long) (virt) + virtual_offset)
|
||||
#define phys_to_virt(phys) ((void *) ((unsigned long) (phys) - virtual_offset))
|
||||
|
||||
#define virt_to_bus(addr) virt_to_phys(addr)
|
||||
#define bus_to_virt(addr) phys_to_virt(addr)
|
||||
|
||||
#endif
|
Loading…
Reference in a new issue