diff options
Diffstat (limited to 'c/src/lib/libbsp/sparc64')
44 files changed, 13 insertions, 3008 deletions
diff --git a/c/src/lib/libbsp/sparc64/Makefile.am b/c/src/lib/libbsp/sparc64/Makefile.am index 526453030c..b0e0689014 100644 --- a/c/src/lib/libbsp/sparc64/Makefile.am +++ b/c/src/lib/libbsp/sparc64/Makefile.am @@ -5,3 +5,4 @@ _SUBDIRS = @RTEMS_BSP_FAMILY@ include $(top_srcdir)/../../../automake/subdirs.am include $(top_srcdir)/../../../automake/local.am +include $(srcdir)/../../../../../bsps/sparc64/headers.am diff --git a/c/src/lib/libbsp/sparc64/configure.ac b/c/src/lib/libbsp/sparc64/configure.ac index dc62789228..4c696899f3 100644 --- a/c/src/lib/libbsp/sparc64/configure.ac +++ b/c/src/lib/libbsp/sparc64/configure.ac @@ -7,6 +7,8 @@ AC_INIT([rtems-c-src-lib-libbsp-sparc64],[_RTEMS_VERSION],[https://devel.rtems.o # AC_CONFIG_SRCDIR([shared]) RTEMS_TOP(../../../../..) +RTEMS_SOURCE_TOP +RTEMS_BUILD_TOP RTEMS_CANONICAL_TARGET_CPU AM_INIT_AUTOMAKE([no-define foreign 1.12.2]) diff --git a/c/src/lib/libbsp/sparc64/niagara/Makefile.am b/c/src/lib/libbsp/sparc64/niagara/Makefile.am index 0267cc9a6c..717dfdc638 100644 --- a/c/src/lib/libbsp/sparc64/niagara/Makefile.am +++ b/c/src/lib/libbsp/sparc64/niagara/Makefile.am @@ -4,28 +4,8 @@ EXTRA_DIST = include $(top_srcdir)/../../../../automake/compile.am include $(top_srcdir)/../../bsp.am -include_bspdir = $(includedir)/bsp +dist_project_lib_DATA = startup/bsp_specs -dist_project_lib_DATA = bsp_specs - -include_HEADERS = include/bsp.h -include_HEADERS += include/tm27.h -include_HEADERS += ../shared/include/asm.h - -include_bootdir = $(includedir)/boot -include_boot_HEADERS = ../shared/helenos/boot/include/align.h \ - ../shared/helenos/boot/include/balloc.h \ - ../shared/helenos/boot/include/gentypes.h \ - ../shared/helenos/boot/include/main.h \ - ../shared/helenos/boot/include/ofwarch.h \ - ../shared/helenos/boot/include/ofw.h \ - ../shared/helenos/boot/include/ofw_tree.h \ - ../shared/helenos/boot/include/register.h \ - ../shared/helenos/boot/include/stack.h \ - ../shared/helenos/boot/include/types.h - -nodist_include_HEADERS = include/bspopts.h -nodist_include_bsp_HEADERS = ../../shared/include/bootcard.h DISTCLEANFILES = include/bspopts.h noinst_PROGRAMS = @@ -75,5 +55,5 @@ libbsp_a_LIBADD = \ ../../../libcpu/@RTEMS_CPU@/shared/cache.rel \ ../../../libcpu/@RTEMS_CPU@/shared/sparc64-syscall.rel -include $(srcdir)/preinstall.am include $(top_srcdir)/../../../../automake/local.am +include $(srcdir)/../../../../../../bsps/sparc64/niagara/headers.am diff --git a/c/src/lib/libbsp/sparc64/niagara/configure.ac b/c/src/lib/libbsp/sparc64/niagara/configure.ac index 761700175e..cd5d26121e 100644 --- a/c/src/lib/libbsp/sparc64/niagara/configure.ac +++ b/c/src/lib/libbsp/sparc64/niagara/configure.ac @@ -4,6 +4,8 @@ AC_PREREQ([2.69]) AC_INIT([rtems-c-src-lib-libbsp-sparc64-sun4v],[_RTEMS_VERSION],[https://devel.rtems.org/newticket]) AC_CONFIG_SRCDIR([make/custom/niagara.cfg]) RTEMS_TOP(../../../../../..) +RTEMS_SOURCE_TOP +RTEMS_BUILD_TOP RTEMS_CANONICAL_TARGET_CPU AM_INIT_AUTOMAKE([no-define nostdinc foreign 1.12.2]) diff --git a/c/src/lib/libbsp/sparc64/niagara/include/bsp.h b/c/src/lib/libbsp/sparc64/niagara/include/bsp.h deleted file mode 100644 index 81058270a9..0000000000 --- a/c/src/lib/libbsp/sparc64/niagara/include/bsp.h +++ /dev/null @@ -1,41 +0,0 @@ -/* bsp.h - * - * This include file contains all SPARC64 simulator definitions. - * - * COPYRIGHT (c) 1989-1998. On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#ifndef LIBBSP_SPARC64_NIAGARA_BSP_H -#define LIBBSP_SPARC64_NIAGARA_BSP_H - -#include <bspopts.h> -#include <bsp/default-initial-extension.h> - -#include <rtems.h> - -#ifdef __cplusplus -extern "C" { -#endif - -/* support for simulated clock tick */ -/* -void *clock_driver_sim_idle_body(uintptr_t); -#define BSP_IDLE_TASK_BODY clock_driver_sim_idle_body -*/ - -/* this should be defined somewhere */ -rtems_isr_entry set_vector( /* returns old vector */ - rtems_isr_entry handler, /* isr routine */ - rtems_vector_number vector, /* vector number */ - int type /* RTEMS or RAW intr */ -); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/c/src/lib/libbsp/sparc64/niagara/include/tm27.h b/c/src/lib/libbsp/sparc64/niagara/include/tm27.h deleted file mode 100644 index 0dfa7bf628..0000000000 --- a/c/src/lib/libbsp/sparc64/niagara/include/tm27.h +++ /dev/null @@ -1 +0,0 @@ -#include <rtems/tm27-default.h> diff --git a/c/src/lib/libbsp/sparc64/niagara/preinstall.am b/c/src/lib/libbsp/sparc64/niagara/preinstall.am deleted file mode 100644 index d2c8f3b3b8..0000000000 --- a/c/src/lib/libbsp/sparc64/niagara/preinstall.am +++ /dev/null @@ -1,112 +0,0 @@ -## Automatically generated by ampolish3 - Do not edit - -if AMPOLISH3 -$(srcdir)/preinstall.am: Makefile.am - $(AMPOLISH3) $(srcdir)/Makefile.am > $(srcdir)/preinstall.am -endif - -PREINSTALL_DIRS = -DISTCLEANFILES += $(PREINSTALL_DIRS) - -all-am: $(PREINSTALL_FILES) - -PREINSTALL_FILES = -CLEANFILES = $(PREINSTALL_FILES) - -all-local: $(TMPINSTALL_FILES) - -TMPINSTALL_FILES = -CLEANFILES += $(TMPINSTALL_FILES) - -$(PROJECT_LIB)/$(dirstamp): - @$(MKDIR_P) $(PROJECT_LIB) - @: > $(PROJECT_LIB)/$(dirstamp) -PREINSTALL_DIRS += $(PROJECT_LIB)/$(dirstamp) - -$(PROJECT_INCLUDE)/$(dirstamp): - @$(MKDIR_P) $(PROJECT_INCLUDE) - @: > $(PROJECT_INCLUDE)/$(dirstamp) -PREINSTALL_DIRS += $(PROJECT_INCLUDE)/$(dirstamp) - -$(PROJECT_INCLUDE)/bsp/$(dirstamp): - @$(MKDIR_P) $(PROJECT_INCLUDE)/bsp - @: > $(PROJECT_INCLUDE)/bsp/$(dirstamp) -PREINSTALL_DIRS += $(PROJECT_INCLUDE)/bsp/$(dirstamp) - -$(PROJECT_LIB)/bsp_specs: bsp_specs $(PROJECT_LIB)/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_LIB)/bsp_specs -PREINSTALL_FILES += $(PROJECT_LIB)/bsp_specs - -$(PROJECT_INCLUDE)/bsp.h: include/bsp.h $(PROJECT_INCLUDE)/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp.h - -$(PROJECT_INCLUDE)/tm27.h: include/tm27.h $(PROJECT_INCLUDE)/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/tm27.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/tm27.h - -$(PROJECT_INCLUDE)/asm.h: ../shared/include/asm.h $(PROJECT_INCLUDE)/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/asm.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/asm.h - -$(PROJECT_INCLUDE)/boot/$(dirstamp): - @$(MKDIR_P) $(PROJECT_INCLUDE)/boot - @: > $(PROJECT_INCLUDE)/boot/$(dirstamp) -PREINSTALL_DIRS += $(PROJECT_INCLUDE)/boot/$(dirstamp) - -$(PROJECT_INCLUDE)/boot/align.h: ../shared/helenos/boot/include/align.h $(PROJECT_INCLUDE)/boot/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/boot/align.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/boot/align.h - -$(PROJECT_INCLUDE)/boot/balloc.h: ../shared/helenos/boot/include/balloc.h $(PROJECT_INCLUDE)/boot/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/boot/balloc.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/boot/balloc.h - -$(PROJECT_INCLUDE)/boot/gentypes.h: ../shared/helenos/boot/include/gentypes.h $(PROJECT_INCLUDE)/boot/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/boot/gentypes.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/boot/gentypes.h - -$(PROJECT_INCLUDE)/boot/main.h: ../shared/helenos/boot/include/main.h $(PROJECT_INCLUDE)/boot/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/boot/main.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/boot/main.h - -$(PROJECT_INCLUDE)/boot/ofwarch.h: ../shared/helenos/boot/include/ofwarch.h $(PROJECT_INCLUDE)/boot/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/boot/ofwarch.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/boot/ofwarch.h - -$(PROJECT_INCLUDE)/boot/ofw.h: ../shared/helenos/boot/include/ofw.h $(PROJECT_INCLUDE)/boot/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/boot/ofw.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/boot/ofw.h - -$(PROJECT_INCLUDE)/boot/ofw_tree.h: ../shared/helenos/boot/include/ofw_tree.h $(PROJECT_INCLUDE)/boot/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/boot/ofw_tree.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/boot/ofw_tree.h - -$(PROJECT_INCLUDE)/boot/register.h: ../shared/helenos/boot/include/register.h $(PROJECT_INCLUDE)/boot/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/boot/register.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/boot/register.h - -$(PROJECT_INCLUDE)/boot/stack.h: ../shared/helenos/boot/include/stack.h $(PROJECT_INCLUDE)/boot/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/boot/stack.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/boot/stack.h - -$(PROJECT_INCLUDE)/boot/types.h: ../shared/helenos/boot/include/types.h $(PROJECT_INCLUDE)/boot/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/boot/types.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/boot/types.h - -$(PROJECT_INCLUDE)/bspopts.h: include/bspopts.h $(PROJECT_INCLUDE)/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bspopts.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/bspopts.h - -$(PROJECT_INCLUDE)/bsp/bootcard.h: ../../shared/include/bootcard.h $(PROJECT_INCLUDE)/bsp/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/bootcard.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/bootcard.h - -$(PROJECT_LIB)/start.$(OBJEXT): start.$(OBJEXT) $(PROJECT_LIB)/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_LIB)/start.$(OBJEXT) -TMPINSTALL_FILES += $(PROJECT_LIB)/start.$(OBJEXT) - -$(PROJECT_LIB)/linkcmds: ../shared/startup/linkcmds $(PROJECT_LIB)/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds -PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds - diff --git a/c/src/lib/libbsp/sparc64/niagara/bsp_specs b/c/src/lib/libbsp/sparc64/niagara/startup/bsp_specs index 0b4b0db932..0b4b0db932 100644 --- a/c/src/lib/libbsp/sparc64/niagara/bsp_specs +++ b/c/src/lib/libbsp/sparc64/niagara/startup/bsp_specs diff --git a/c/src/lib/libbsp/sparc64/shared/helenos/boot/include/align.h b/c/src/lib/libbsp/sparc64/shared/helenos/boot/include/align.h deleted file mode 100644 index 96229101ed..0000000000 --- a/c/src/lib/libbsp/sparc64/shared/helenos/boot/include/align.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (c) 2006 Jakub Jermar - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - 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. - * - 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 ``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 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. - */ - -/** @addtogroup generic - * @{ - */ -/** @file - */ - -#ifndef BOOT_ALIGN_H_ -#define BOOT_ALIGN_H_ - -/** Align to the nearest higher address. - * - * @param addr Address or size to be aligned. - * @param align Size of alignment, must be power of 2. - */ -#define ALIGN_UP(addr, align) (((addr) + ((align) - 1)) & ~((align) - 1)) - -#endif - -/** @} - */ diff --git a/c/src/lib/libbsp/sparc64/shared/helenos/boot/include/balloc.h b/c/src/lib/libbsp/sparc64/shared/helenos/boot/include/balloc.h deleted file mode 100644 index 8e502c0c58..0000000000 --- a/c/src/lib/libbsp/sparc64/shared/helenos/boot/include/balloc.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (c) 2006 Jakub Jermar - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - 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. - * - 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 ``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 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. - */ - -/* - * Modifications are made to compile for RTEMS. Move BALLOC_MAX_SIZE from - * asm.h to here. - * - */ - - -#ifndef BOOT_BALLOC_H_ -#define BOOT_BALLOC_H_ - -#include <boot/types.h> - -#define BALLOC_MAX_SIZE (128 * 1024) - -typedef struct { - uintptr_t base; - size_t size; -} ballocs_t; - -extern void balloc_init(ballocs_t *ball, uintptr_t base, uintptr_t kernel_base); -extern void *balloc(size_t size, size_t alignment); -extern void *balloc_rebase(void *ptr); - -#endif diff --git a/c/src/lib/libbsp/sparc64/shared/helenos/boot/include/gentypes.h b/c/src/lib/libbsp/sparc64/shared/helenos/boot/include/gentypes.h deleted file mode 100644 index a3e82d6eef..0000000000 --- a/c/src/lib/libbsp/sparc64/shared/helenos/boot/include/gentypes.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (c) 2006 Martin Decky - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - 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. - * - 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 ``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 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. - */ - -/** @addtogroup generic - * @{ - */ -/** @file - */ - -#ifndef BOOT_GENTYPES_H_ -#define BOOT_GENTYPES_H_ - -#define NULL 0 -#define false 0 -#define true 1 - -typedef unsigned long size_t; - -#endif - -/** @} - */ diff --git a/c/src/lib/libbsp/sparc64/shared/helenos/boot/include/main.h b/c/src/lib/libbsp/sparc64/shared/helenos/boot/include/main.h deleted file mode 100644 index 5ddc814ac8..0000000000 --- a/c/src/lib/libbsp/sparc64/shared/helenos/boot/include/main.h +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright (c) 2005 Martin Decky - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - 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. - * - 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 ``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 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 BOOT_sparc64_MAIN_H_ -#define BOOT_sparc64_MAIN_H_ - -#include <boot/ofw.h> -#include <boot/ofw_tree.h> -#include <boot/balloc.h> -#include <boot/types.h> - -#define KERNEL_VIRTUAL_ADDRESS 0x400000 - -#define TASKMAP_MAX_RECORDS 32 - -/** Size of buffer for storing task name in task_t. */ -#define BOOTINFO_TASK_NAME_BUFLEN 32 - -#define BSP_PROCESSOR 1 -#define AP_PROCESSOR 0 - -#define SUBARCH_US 1 -#define SUBARCH_US3 3 - -typedef struct { - void *addr; - uint32_t size; - char name[BOOTINFO_TASK_NAME_BUFLEN]; -} task_t; - -typedef struct { - uint32_t count; - task_t tasks[TASKMAP_MAX_RECORDS]; -} taskmap_t; - -typedef struct { - uintptr_t physmem_start; - taskmap_t taskmap; - memmap_t memmap; - ballocs_t ballocs; - ofw_tree_node_t *ofw_root; -} bootinfo_t; - -extern uint32_t silo_ramdisk_image; -extern uint32_t silo_ramdisk_size; - -extern void start(void); -extern void bootstrap(void); - -#endif diff --git a/c/src/lib/libbsp/sparc64/shared/helenos/boot/include/ofw.h b/c/src/lib/libbsp/sparc64/shared/helenos/boot/include/ofw.h deleted file mode 100644 index c562b675a2..0000000000 --- a/c/src/lib/libbsp/sparc64/shared/helenos/boot/include/ofw.h +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Copyright (c) 2005 Martin Decky - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - 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. - * - 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 ``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 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 BOOT_OFW_H_ -#define BOOT_OFW_H_ - -#include <boot/types.h> -#include <stdarg.h> - -#define MEMMAP_MAX_RECORDS 32 -#define MAX_OFW_ARGS 12 - -#define OFW_TREE_PATH_MAX_LEN 256 -#define OFW_TREE_PROPERTY_MAX_NAMELEN 32 -#define OFW_TREE_PROPERTY_MAX_VALUELEN 64 - -typedef unative_t ofw_arg_t; -typedef unsigned int ihandle; -typedef unsigned int phandle; - -/** OpenFirmware command structure - * - */ -typedef struct { - ofw_arg_t service; /**< Command name. */ - ofw_arg_t nargs; /**< Number of in arguments. */ - ofw_arg_t nret; /**< Number of out arguments. */ - ofw_arg_t args[MAX_OFW_ARGS]; /**< List of arguments. */ -} ofw_args_t; - -typedef struct { - void *start; - uint32_t size; -} memzone_t; - -typedef struct { - uint32_t total; - uint32_t count; - memzone_t zones[MEMMAP_MAX_RECORDS]; -} memmap_t; - -typedef struct { - uint32_t info; - uint32_t addr_hi; - uint32_t addr_lo; -} pci_addr_t; - -typedef struct { - pci_addr_t addr; - uint32_t size_hi; - uint32_t size_lo; -} pci_reg_t; - -extern uintptr_t ofw_cif; - -extern phandle ofw_chosen; -extern ihandle ofw_stdout; -extern phandle ofw_root; -extern ihandle ofw_mmu; -extern phandle ofw_memory; - -extern void ofw_init(void); - -extern void ofw_write(const char *str, const int len); - -extern int ofw_get_property(const phandle device, const char *name, void *buf, const int buflen); -extern int ofw_get_proplen(const phandle device, const char *name); -extern int ofw_next_property(const phandle device, char *previous, char *buf); - -extern phandle ofw_get_child_node(const phandle node); -extern phandle ofw_get_peer_node(const phandle node); -extern phandle ofw_find_device(const char *name); - -extern int ofw_package_to_path(const phandle device, char *buf, const int buflen); - -extern int ofw(ofw_args_t *arg); -extern unsigned long ofw_call(const char *service, const int nargs, const int nret, ofw_arg_t *rets, ...); -extern void ofw_write(const char *str, const int len); -extern void ofw_read(void *str, const int len); -extern unsigned int ofw_get_address_cells(const phandle device); -extern unsigned int ofw_get_size_cells(const phandle device); -extern void *ofw_translate(const void *virt); -extern int ofw_translate_failed(ofw_arg_t flag); -extern void *ofw_claim_virt(const void *virt, const unsigned int len); -extern void *ofw_claim_phys(const void *virt, const unsigned int len); -extern void *ofw_claim_phys_any(const unsigned int len, const unsigned int alignment); -extern int ofw_map(const void *phys, const void *virt, const unsigned int size, const int mode); -extern int ofw_memmap(memmap_t *map); -extern void ofw_setup_screens(void); -extern void ofw_quiesce(void); - -#endif diff --git a/c/src/lib/libbsp/sparc64/shared/helenos/boot/include/ofw_tree.h b/c/src/lib/libbsp/sparc64/shared/helenos/boot/include/ofw_tree.h deleted file mode 100644 index 5872ade261..0000000000 --- a/c/src/lib/libbsp/sparc64/shared/helenos/boot/include/ofw_tree.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright (c) 2006 Jakub Jermar - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - 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. - * - 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 ``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 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 BOOT_OFW_TREE_H_ -#define BOOT_OFW_TREE_H_ - -#include <boot/types.h> -#include <boot/ofw.h> - - -/** Memory representation of OpenFirmware device tree node property. */ -typedef struct { - char name[OFW_TREE_PROPERTY_MAX_NAMELEN]; - size_t size; - void *value; -} ofw_tree_property_t; - -/** Memory representation of OpenFirmware device tree node. */ -typedef struct ofw_tree_node { - struct ofw_tree_node *parent; - struct ofw_tree_node *peer; - struct ofw_tree_node *child; - - uint32_t node_handle; /**< Old OpenFirmware node handle. */ - - char *da_name; /**< Disambigued name. */ - - unsigned int properties; /**< Number of properties. */ - ofw_tree_property_t *property; - - void *device; /**< Member used solely by the kernel. */ -} ofw_tree_node_t; - -extern ofw_tree_node_t *ofw_tree_build(void); - -#endif diff --git a/c/src/lib/libbsp/sparc64/shared/helenos/boot/include/ofwarch.h b/c/src/lib/libbsp/sparc64/shared/helenos/boot/include/ofwarch.h deleted file mode 100644 index 2d4f7643c0..0000000000 --- a/c/src/lib/libbsp/sparc64/shared/helenos/boot/include/ofwarch.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (c) 2006 Jakub Jermar - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - 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. - * - 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 ``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 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 BOOT_sparc64_OFWARCH_H_ -#define BOOT_sparc64_OFWARCH_H_ - -#include "main.h" -#include "types.h" - -#define OFW_ADDRESS_CELLS 2 -#define OFW_SIZE_CELLS 2 - -extern int ofw_cpu(uint16_t mid_mask, uintptr_t physmem_start); -extern int ofw_get_physmem_start(uintptr_t *start); - -#endif diff --git a/c/src/lib/libbsp/sparc64/shared/helenos/boot/include/register.h b/c/src/lib/libbsp/sparc64/shared/helenos/boot/include/register.h deleted file mode 100644 index 61bf34ac66..0000000000 --- a/c/src/lib/libbsp/sparc64/shared/helenos/boot/include/register.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (c) 2006 Jakub Jermar - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - 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. - * - 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 ``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 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 BOOT_sparc64_REGISTER_H_ -#define BOOT_sparc64_REGISTER_H_ - -#define PSTATE_IE_BIT 2 -#define PSTATE_PRIV_BIT 4 -#define PSTATE_AM_BIT 8 - -#define ASI_ICBUS_CONFIG 0x4a -#define ICBUS_CONFIG_MID_SHIFT 17 - -#endif diff --git a/c/src/lib/libbsp/sparc64/shared/helenos/boot/include/stack.h b/c/src/lib/libbsp/sparc64/shared/helenos/boot/include/stack.h deleted file mode 100644 index 1486dd21b4..0000000000 --- a/c/src/lib/libbsp/sparc64/shared/helenos/boot/include/stack.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (c) 2006 Jakub Jermar - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - 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. - * - 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 ``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 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 BOOT_sparc64_STACK_H_ -#define BOOT_sparc64_STACK_H_ - -#define STACK_ALIGNMENT 16 -#define STACK_BIAS 2047 -#define STACK_WINDOW_SAVE_AREA_SIZE (16 * 8) - -#endif diff --git a/c/src/lib/libbsp/sparc64/shared/helenos/boot/include/types.h b/c/src/lib/libbsp/sparc64/shared/helenos/boot/include/types.h deleted file mode 100644 index 095e25233d..0000000000 --- a/c/src/lib/libbsp/sparc64/shared/helenos/boot/include/types.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright (c) 2006 Martin Decky - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - 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. - * - 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 ``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 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 BOOT_sparc64_TYPES_H_ -#define BOOT_sparc64_TYPES_H_ - -#include <boot/gentypes.h> - -typedef signed char int8_t; - -typedef unsigned char uint8_t; -typedef unsigned short uint16_t; -typedef unsigned int uint32_t; -typedef unsigned long uint64_t; - -typedef uint64_t uintptr_t; -typedef uint64_t unative_t; - -#endif diff --git a/c/src/lib/libbsp/sparc64/shared/helenos/kernel/genarch/include/ofw/ofw_tree.h b/c/src/lib/libbsp/sparc64/shared/helenos/kernel/genarch/include/ofw/ofw_tree.h deleted file mode 100644 index f62d545527..0000000000 --- a/c/src/lib/libbsp/sparc64/shared/helenos/kernel/genarch/include/ofw/ofw_tree.h +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Copyright (c) 2006 Jakub Jermar - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - 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. - * - 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 ``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 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 KERN_OFW_TREE_H_ -#define KERN_OFW_TREE_H_ - -#include <arch/types.h> -#include <typedefs.h> - -#define OFW_TREE_PROPERTY_MAX_NAMELEN 32 - -/** Memory representation of OpenFirmware device tree node property. */ -typedef struct { - char name[OFW_TREE_PROPERTY_MAX_NAMELEN]; - size_t size; - void *value; -} ofw_tree_property_t; - -/** Memory representation of OpenFirmware device tree node. */ -typedef struct ofw_tree_node { - struct ofw_tree_node *parent; - struct ofw_tree_node *peer; - struct ofw_tree_node *child; - - uint32_t node_handle; /**< Old OpenFirmware node handle. */ - - char *da_name; /**< Disambigued name. */ - - unsigned int properties; /**< Number of properties. */ - ofw_tree_property_t *property; - - /** - * Pointer to a structure representing respective device. - * Its semantics is device dependent. - */ - void *device; -} ofw_tree_node_t; - -/* Walker for visiting OpenFirmware device tree nodes. */ -typedef bool (* ofw_tree_walker_t)(ofw_tree_node_t *, void *); - -extern void ofw_tree_init(ofw_tree_node_t *); -extern void ofw_tree_print(void); - -extern const char *ofw_tree_node_name(const ofw_tree_node_t *); -extern ofw_tree_node_t *ofw_tree_lookup(const char *); -extern ofw_tree_property_t *ofw_tree_getprop(const ofw_tree_node_t *, - const char *); -extern void ofw_tree_walk_by_device_type(const char *, ofw_tree_walker_t, - void *); - -extern ofw_tree_node_t *ofw_tree_find_child(ofw_tree_node_t *, const char *); -extern ofw_tree_node_t *ofw_tree_find_child_by_device_type(ofw_tree_node_t *, - const char *); - -extern ofw_tree_node_t *ofw_tree_find_peer_by_device_type(ofw_tree_node_t *, - const char *); -extern ofw_tree_node_t *ofw_tree_find_peer_by_name(ofw_tree_node_t *, - const char *); -extern ofw_tree_node_t *ofw_tree_find_node_by_handle(ofw_tree_node_t *, - uint32_t); - -#endif diff --git a/c/src/lib/libbsp/sparc64/shared/helenos/kernel/generic/include/align.h b/c/src/lib/libbsp/sparc64/shared/helenos/kernel/generic/include/align.h deleted file mode 100644 index 6003ea9c4e..0000000000 --- a/c/src/lib/libbsp/sparc64/shared/helenos/kernel/generic/include/align.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright (c) 2005 Jakub Jermar - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - 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. - * - 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 ``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 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. - */ - -/** @addtogroup generic - * @ingroup others - * @{ - */ -/** - * @file - * @brief Macros for making values and addresses aligned. - */ - -#ifndef KERN_ALIGN_H_ -#define KERN_ALIGN_H_ - -/** Align to the nearest lower address. - * - * @param s Address or size to be aligned. - * @param a Size of alignment, must be power of 2. - */ -#define ALIGN_DOWN(s, a) ((s) & ~((a) - 1)) - - -/** Align to the nearest higher address. - * - * @param s Address or size to be aligned. - * @param a Size of alignment, must be power of 2. - */ -#define ALIGN_UP(s, a) (((s) + ((a) - 1)) & ~((a) - 1)) - -#endif - -/** @} - */ diff --git a/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/arch.h b/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/arch.h deleted file mode 100644 index 5fdd4a2cb2..0000000000 --- a/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/arch.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright (c) 2005 Jakub Jermar - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - 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. - * - 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 ``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 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. - */ - -/** @addtogroup sparc64 - * @{ - */ -/** - * @file - * @brief Various sparc64-specific macros. - */ - -#ifndef KERN_sparc64_ARCH_H_ -#define KERN_sparc64_ARCH_H_ - -#if defined (SUN4U) -#include <arch/sun4u/arch.h> -#elif defined (SUN4V) -#include <arch/sun4v/arch.h> -#endif - -#define ASI_AIUP 0x10 /** Access to primary context with user privileges. */ -#define ASI_AIUS 0x11 /** Access to secondary context with user privileges. */ - -#define NWINDOWS 8 /** Number of register window sets. */ - -#ifndef __ASM__ - -extern void arch_pre_main(void); - -#endif /* __ASM__ */ - - -#endif - -/** @} - */ diff --git a/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/boot.h b/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/boot.h deleted file mode 100644 index b0a997a957..0000000000 --- a/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/boot.h +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Copyright (c) 2006 Jakub Jermar - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - 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. - * - 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 ``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 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. - */ - -/** @addtogroup sparc64 - * @{ - */ -/** @file - */ - -#ifndef KERN_sparc64_BOOT_H_ -#define KERN_sparc64_BOOT_H_ - -#if 0 -#define VMA 0x400000 -#endif -#define VMA 0x4000 -#define LMA VMA - -#ifndef __ASM__ -#ifndef __LINKER__ - -#include <config.h> -#include <arch/types.h> -#include <genarch/ofw/ofw_tree.h> - -#define TASKMAP_MAX_RECORDS 32 -#define MEMMAP_MAX_RECORDS 32 - -#define BOOTINFO_TASK_NAME_BUFLEN 32 - -typedef struct { - void * addr; - uint32_t size; - char name[BOOTINFO_TASK_NAME_BUFLEN]; -} utask_t; - -typedef struct { - uint32_t count; - utask_t tasks[TASKMAP_MAX_RECORDS]; -} taskmap_t; - -typedef struct { - uintptr_t start; - uint32_t size; -} memzone_t; - -typedef struct { - uint32_t total; - uint32_t count; - memzone_t zones[MEMMAP_MAX_RECORDS]; -} memmap_t; - -/** Bootinfo structure. - * - * Must be in sync with bootinfo structure used by the boot loader. - */ -typedef struct { - uintptr_t physmem_start; - taskmap_t taskmap; - memmap_t memmap; - ballocs_t ballocs; - ofw_tree_node_t *ofw_root; -} bootinfo_t; - -extern bootinfo_t bootinfo; - -#endif -#endif - -#endif - -/** @} - */ diff --git a/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/mm/cache_spec.h b/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/mm/cache_spec.h deleted file mode 100644 index 1d9199db33..0000000000 --- a/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/mm/cache_spec.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright (c) 2008 Jakub Jermar - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - 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. - * - 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 ``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 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. - */ - -/** @addtogroup sparc64mm - * @{ - */ -/** @file - */ - -#ifndef KERN_sparc64_CACHE_SPEC_H_ -#define KERN_sparc64_CACHE_SPEC_H_ - -/* - * The following macros are valid for the following processors: - * - * UltraSPARC, UltraSPARC II, UltraSPARC IIi, UltraSPARC III, - * UltraSPARC III+, UltraSPARC IV, UltraSPARC IV+ - * - * Should we support other UltraSPARC processors, we need to make sure that - * the macros are defined correctly for them. - */ - -#if defined (US) -#define DCACHE_SIZE (16 * 1024) -#elif defined (US3) -#define DCACHE_SIZE (64 * 1024) -#endif -#define DCACHE_LINE_SIZE 32 - -#endif - -/** @} - */ diff --git a/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/mm/frame.h b/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/mm/frame.h deleted file mode 100644 index fb66e54bf1..0000000000 --- a/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/mm/frame.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (c) 2005 Jakub Jermar - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - 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. - * - 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 ``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 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. - */ - -/** @addtogroup sparc64mm - * @{ - */ -/** @file - */ - -#ifndef KERN_sparc64_FRAME_H_ -#define KERN_sparc64_FRAME_H_ - -#if defined (SUN4U) -#include <arch/mm/sun4u/frame.h> -#elif defined (SUN4V) -#include <arch/mm/sun4v/frame.h> -#endif - -#endif - -/** @} - */ diff --git a/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/mm/mmu.h b/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/mm/mmu.h deleted file mode 100644 index 1d445f2e24..0000000000 --- a/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/mm/mmu.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (c) 2005 Jakub Jermar - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - 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. - * - 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 ``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 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. - */ - -/** @addtogroup sparc64mm - * @{ - */ -/** @file - */ - -#ifndef KERN_sparc64_MMU_H_ -#define KERN_sparc64_MMU_H_ - -#if defined (SUN4U) -#include <arch/mm/sun4u/mmu.h> -#elif defined (SUN4V) -#include <arch/mm/sun4v/mmu.h> -#endif - - -#endif - -/** @} - */ diff --git a/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/mm/page.h b/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/mm/page.h deleted file mode 100644 index f1451a2866..0000000000 --- a/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/mm/page.h +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Copyright (c) 2005 Jakub Jermar - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - 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. - * - 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 ``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 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. - */ - -/** @addtogroup sparc64mm - * @{ - */ -/** @file - */ - -#ifndef KERN_sparc64_PAGE_H_ -#define KERN_sparc64_PAGE_H_ - -#include <arch/mm/frame.h> - -/* - * On the TLB and TSB level, we still use 8K pages, which are supported by the - * MMU. - */ -#define MMU_PAGE_WIDTH MMU_FRAME_WIDTH -#define MMU_PAGE_SIZE MMU_FRAME_SIZE - -/* - * On the page table level, we use 16K pages. 16K pages are not supported by - * the MMU but we emulate them with pairs of 8K pages. - */ -#define PAGE_WIDTH FRAME_WIDTH -#define PAGE_SIZE FRAME_SIZE - -#define MMU_PAGES_PER_PAGE (1 << (PAGE_WIDTH - MMU_PAGE_WIDTH)) - -#ifdef KERNEL - -#ifndef __ASM__ - -#include <arch/interrupt.h> - -extern uintptr_t physmem_base; - -#define KA2PA(x) (((uintptr_t) (x)) + physmem_base) -#define PA2KA(x) (((uintptr_t) (x)) - physmem_base) - -typedef union { - uintptr_t address; - struct { - uint64_t vpn : 51; /**< Virtual Page Number. */ - unsigned offset : 13; /**< Offset. */ - } __attribute__ ((packed)); -} page_address_t; - -extern void page_arch_init(void); - -#endif /* !def __ASM__ */ - -#endif /* KERNEL */ - -#endif - -/** @} - */ diff --git a/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/mm/sun4u/frame.h b/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/mm/sun4u/frame.h deleted file mode 100644 index e30f504d08..0000000000 --- a/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/mm/sun4u/frame.h +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Copyright (c) 2005 Jakub Jermar - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - 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. - * - 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 ``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 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. - */ - -/** @addtogroup sparc64mm - * @{ - */ -/** @file - */ - -#ifndef KERN_sparc64_SUN4U_FRAME_H_ -#define KERN_sparc64_SUN4U_FRAME_H_ - -/* - * Page size supported by the MMU. - * For 8K there is the nasty illegal virtual aliasing problem. - * Therefore, the kernel uses 8K only internally on the TLB and TSB levels. - */ -#define MMU_FRAME_WIDTH 13 /* 8K */ -#define MMU_FRAME_SIZE (1 << MMU_FRAME_WIDTH) - -/* - * Page size exported to the generic memory management subsystems. - * This page size is not directly supported by the MMU, but we can emulate - * each 16K page with a pair of adjacent 8K pages. - */ -#define FRAME_WIDTH 14 /* 16K */ -#define FRAME_SIZE (1 << FRAME_WIDTH) - -#ifdef KERNEL -#ifndef __ASM__ - -#include <arch/types.h> - -union frame_address { - uintptr_t address; - struct { -#if defined (US) - unsigned : 23; - uint64_t pfn : 28; /**< Physical Frame Number. */ -#elif defined (US3) - unsigned : 21; - uint64_t pfn : 30; /**< Physical Frame Number. */ -#endif - unsigned offset : 13; /**< Offset. */ - } __attribute__ ((packed)); -}; - -typedef union frame_address frame_address_t; - -extern uintptr_t last_frame; -extern uintptr_t end_of_identity; - -extern void frame_arch_init(void); -#define physmem_print() - -#endif -#endif - -#endif - -/** @} - */ diff --git a/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/mm/sun4u/mmu.h b/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/mm/sun4u/mmu.h deleted file mode 100644 index f887ebe7f4..0000000000 --- a/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/mm/sun4u/mmu.h +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) 2005 Jakub Jermar - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - 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. - * - 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 ``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 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. - */ - -/** @addtogroup sparc64mm - * @{ - */ -/** @file - */ - -#ifndef KERN_sparc64_sun4u_MMU_H_ -#define KERN_sparc64_sun4u_MMU_H_ - -#if defined(US) -/* LSU Control Register ASI. */ -#define ASI_LSU_CONTROL_REG 0x45 /**< Load/Store Unit Control Register. */ -#endif - -/* I-MMU ASIs. */ -#define ASI_IMMU 0x50 -#define ASI_IMMU_TSB_8KB_PTR_REG 0x51 -#define ASI_IMMU_TSB_64KB_PTR_REG 0x52 -#define ASI_ITLB_DATA_IN_REG 0x54 -#define ASI_ITLB_DATA_ACCESS_REG 0x55 -#define ASI_ITLB_TAG_READ_REG 0x56 -#define ASI_IMMU_DEMAP 0x57 - -/* Virtual Addresses within ASI_IMMU. */ -#define VA_IMMU_TSB_TAG_TARGET 0x0 /**< IMMU TSB tag target register. */ -#define VA_IMMU_SFSR 0x18 /**< IMMU sync fault status register. */ -#define VA_IMMU_TSB_BASE 0x28 /**< IMMU TSB base register. */ -#define VA_IMMU_TAG_ACCESS 0x30 /**< IMMU TLB tag access register. */ -#if defined (US3) -#define VA_IMMU_PRIMARY_EXTENSION 0x48 /**< IMMU TSB primary extension register */ -#define VA_IMMU_NUCLEUS_EXTENSION 0x58 /**< IMMU TSB nucleus extension register */ -#endif - - -/* D-MMU ASIs. */ -#define ASI_DMMU 0x58 -#define ASI_DMMU_TSB_8KB_PTR_REG 0x59 -#define ASI_DMMU_TSB_64KB_PTR_REG 0x5a -#define ASI_DMMU_TSB_DIRECT_PTR_REG 0x5b -#define ASI_DTLB_DATA_IN_REG 0x5c -#define ASI_DTLB_DATA_ACCESS_REG 0x5d -#define ASI_DTLB_TAG_READ_REG 0x5e -#define ASI_DMMU_DEMAP 0x5f - -/* Virtual Addresses within ASI_DMMU. */ -#define VA_DMMU_TSB_TAG_TARGET 0x0 /**< DMMU TSB tag target register. */ -#define VA_PRIMARY_CONTEXT_REG 0x8 /**< DMMU primary context register. */ -#define VA_SECONDARY_CONTEXT_REG 0x10 /**< DMMU secondary context register. */ -#define VA_DMMU_SFSR 0x18 /**< DMMU sync fault status register. */ -#define VA_DMMU_SFAR 0x20 /**< DMMU sync fault address register. */ -#define VA_DMMU_TSB_BASE 0x28 /**< DMMU TSB base register. */ -#define VA_DMMU_TAG_ACCESS 0x30 /**< DMMU TLB tag access register. */ -#define VA_DMMU_VA_WATCHPOINT_REG 0x38 /**< DMMU VA data watchpoint register. */ -#define VA_DMMU_PA_WATCHPOINT_REG 0x40 /**< DMMU PA data watchpoint register. */ -#if defined (US3) -#define VA_DMMU_PRIMARY_EXTENSION 0x48 /**< DMMU TSB primary extension register */ -#define VA_DMMU_SECONDARY_EXTENSION 0x50 /**< DMMU TSB secondary extension register */ -#define VA_DMMU_NUCLEUS_EXTENSION 0x58 /**< DMMU TSB nucleus extension register */ -#endif - -#ifndef __ASM__ - -#include <arch/asm.h> -#include <arch/barrier.h> -#include <arch/types.h> - -#if defined(US) -/** LSU Control Register. */ -typedef union { - uint64_t value; - struct { - unsigned : 23; - unsigned pm : 8; - unsigned vm : 8; - unsigned pr : 1; - unsigned pw : 1; - unsigned vr : 1; - unsigned vw : 1; - unsigned : 1; - unsigned fm : 16; - unsigned dm : 1; /**< D-MMU enable. */ - unsigned im : 1; /**< I-MMU enable. */ - unsigned dc : 1; /**< D-Cache enable. */ - unsigned ic : 1; /**< I-Cache enable. */ - - } __attribute__ ((packed)); -} lsu_cr_reg_t; -#endif /* US */ - -#endif /* !def __ASM__ */ - -#endif - -/** @} - */ diff --git a/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/mm/sun4u/page.h b/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/mm/sun4u/page.h deleted file mode 100644 index f1451a2866..0000000000 --- a/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/mm/sun4u/page.h +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Copyright (c) 2005 Jakub Jermar - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - 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. - * - 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 ``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 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. - */ - -/** @addtogroup sparc64mm - * @{ - */ -/** @file - */ - -#ifndef KERN_sparc64_PAGE_H_ -#define KERN_sparc64_PAGE_H_ - -#include <arch/mm/frame.h> - -/* - * On the TLB and TSB level, we still use 8K pages, which are supported by the - * MMU. - */ -#define MMU_PAGE_WIDTH MMU_FRAME_WIDTH -#define MMU_PAGE_SIZE MMU_FRAME_SIZE - -/* - * On the page table level, we use 16K pages. 16K pages are not supported by - * the MMU but we emulate them with pairs of 8K pages. - */ -#define PAGE_WIDTH FRAME_WIDTH -#define PAGE_SIZE FRAME_SIZE - -#define MMU_PAGES_PER_PAGE (1 << (PAGE_WIDTH - MMU_PAGE_WIDTH)) - -#ifdef KERNEL - -#ifndef __ASM__ - -#include <arch/interrupt.h> - -extern uintptr_t physmem_base; - -#define KA2PA(x) (((uintptr_t) (x)) + physmem_base) -#define PA2KA(x) (((uintptr_t) (x)) - physmem_base) - -typedef union { - uintptr_t address; - struct { - uint64_t vpn : 51; /**< Virtual Page Number. */ - unsigned offset : 13; /**< Offset. */ - } __attribute__ ((packed)); -} page_address_t; - -extern void page_arch_init(void); - -#endif /* !def __ASM__ */ - -#endif /* KERNEL */ - -#endif - -/** @} - */ diff --git a/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/mm/sun4u/tlb.h b/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/mm/sun4u/tlb.h deleted file mode 100644 index 6f6e6542e6..0000000000 --- a/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/mm/sun4u/tlb.h +++ /dev/null @@ -1,693 +0,0 @@ -/* - * Copyright (c) 2005 Jakub Jermar - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - 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. - * - 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 ``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 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. - */ - -/** @addtogroup sparc64mm - * @{ - */ -/** @file - */ - -#ifndef KERN_sparc64_TLB_sun4u_H_ -#define KERN_sparc64_TLB_sun4u_H_ - -#if defined (US) -#define ITLB_ENTRY_COUNT 64 -#define DTLB_ENTRY_COUNT 64 -#define DTLB_MAX_LOCKED_ENTRIES DTLB_ENTRY_COUNT -#endif - -/** TLB_DSMALL is the only of the three DMMUs that can hold locked entries. */ -#if defined (US3) -#define DTLB_MAX_LOCKED_ENTRIES 16 -#endif - -#define MEM_CONTEXT_KERNEL 0 -#define MEM_CONTEXT_TEMP 1 - -/** Page sizes. */ -#define PAGESIZE_8K 0 -#define PAGESIZE_64K 1 -#define PAGESIZE_512K 2 -#define PAGESIZE_4M 3 - -/** Bit width of the TLB-locked portion of kernel address space. */ -#define KERNEL_PAGE_WIDTH 22 /* 4M */ - -/* TLB Demap Operation types. */ -#define TLB_DEMAP_PAGE 0 -#define TLB_DEMAP_CONTEXT 1 -#if defined (US3) -#define TLB_DEMAP_ALL 2 -#endif - -#define TLB_DEMAP_TYPE_SHIFT 6 - -/* TLB Demap Operation Context register encodings. */ -#define TLB_DEMAP_PRIMARY 0 -#define TLB_DEMAP_SECONDARY 1 -#define TLB_DEMAP_NUCLEUS 2 - -/* There are more TLBs in one MMU in US3, their codes are defined here. */ -#if defined (US3) -/* D-MMU: one small (16-entry) TLB and two big (512-entry) TLBs */ -#define TLB_DSMALL 0 -#define TLB_DBIG_0 2 -#define TLB_DBIG_1 3 - -/* I-MMU: one small (16-entry) TLB and one big TLB */ -#define TLB_ISMALL 0 -#define TLB_IBIG 2 -#endif - -#define TLB_DEMAP_CONTEXT_SHIFT 4 - -/* TLB Tag Access shifts */ -#define TLB_TAG_ACCESS_CONTEXT_SHIFT 0 -#define TLB_TAG_ACCESS_CONTEXT_MASK ((1 << 13) - 1) -#define TLB_TAG_ACCESS_VPN_SHIFT 13 - -#ifndef __ASM__ - -#include <arch/mm/tte.h> -#include <arch/mm/mmu.h> -#include <arch/mm/page.h> -#include <arch/asm.h> -#include <arch/barrier.h> -#include <arch/types.h> -#include <arch/register.h> -#include <arch/cpu.h> - -union tlb_context_reg { - uint64_t v; - struct { - unsigned long : 51; - unsigned context : 13; /**< Context/ASID. */ - } __attribute__ ((packed)); -}; -typedef union tlb_context_reg tlb_context_reg_t; - -/** I-/D-TLB Data In/Access Register type. */ -typedef tte_data_t tlb_data_t; - -/** I-/D-TLB Data Access Address in Alternate Space. */ - -#if defined (US) - -union tlb_data_access_addr { - uint64_t value; - struct { - uint64_t : 55; - unsigned tlb_entry : 6; - unsigned : 3; - } __attribute__ ((packed)); -}; -typedef union tlb_data_access_addr dtlb_data_access_addr_t; -typedef union tlb_data_access_addr dtlb_tag_read_addr_t; -typedef union tlb_data_access_addr itlb_data_access_addr_t; -typedef union tlb_data_access_addr itlb_tag_read_addr_t; - -#elif defined (US3) - -/* - * In US3, I-MMU and D-MMU have different formats of the data - * access register virtual address. In the corresponding - * structures the member variable for the entry number is - * called "local_tlb_entry" - it contrasts with the "tlb_entry" - * for the US data access register VA structure. The rationale - * behind this is to prevent careless mistakes in the code - * caused by setting only the entry number and not the TLB - * number in the US3 code (when taking the code from US). - */ - -union dtlb_data_access_addr { - uint64_t value; - struct { - uint64_t : 45; - unsigned : 1; - unsigned tlb_number : 2; - unsigned : 4; - unsigned local_tlb_entry : 9; - unsigned : 3; - } __attribute__ ((packed)); -}; -typedef union dtlb_data_access_addr dtlb_data_access_addr_t; -typedef union dtlb_data_access_addr dtlb_tag_read_addr_t; - -union itlb_data_access_addr { - uint64_t value; - struct { - uint64_t : 45; - unsigned : 1; - unsigned tlb_number : 2; - unsigned : 6; - unsigned local_tlb_entry : 7; - unsigned : 3; - } __attribute__ ((packed)); -}; -typedef union itlb_data_access_addr itlb_data_access_addr_t; -typedef union itlb_data_access_addr itlb_tag_read_addr_t; - -#endif - -/** I-/D-TLB Tag Read Register. */ -union tlb_tag_read_reg { - uint64_t value; - struct { - uint64_t vpn : 51; /**< Virtual Address bits 63:13. */ - unsigned context : 13; /**< Context identifier. */ - } __attribute__ ((packed)); -}; -typedef union tlb_tag_read_reg tlb_tag_read_reg_t; -typedef union tlb_tag_read_reg tlb_tag_access_reg_t; - - -/** TLB Demap Operation Address. */ -union tlb_demap_addr { - uint64_t value; - struct { - uint64_t vpn: 51; /**< Virtual Address bits 63:13. */ -#if defined (US) - unsigned : 6; /**< Ignored. */ - unsigned type : 1; /**< The type of demap operation. */ -#elif defined (US3) - unsigned : 5; /**< Ignored. */ - unsigned type: 2; /**< The type of demap operation. */ -#endif - unsigned context : 2; /**< Context register selection. */ - unsigned : 4; /**< Zero. */ - } __attribute__ ((packed)); -}; -typedef union tlb_demap_addr tlb_demap_addr_t; - -/** TLB Synchronous Fault Status Register. */ -union tlb_sfsr_reg { - uint64_t value; - struct { -#if defined (US) - unsigned long : 40; /**< Implementation dependent. */ - unsigned asi : 8; /**< ASI. */ - unsigned : 2; - unsigned ft : 7; /**< Fault type. */ -#elif defined (US3) - unsigned long : 39; /**< Implementation dependent. */ - unsigned nf : 1; /**< Non-faulting load. */ - unsigned asi : 8; /**< ASI. */ - unsigned tm : 1; /**< I-TLB miss. */ - unsigned : 3; /**< Reserved. */ - unsigned ft : 5; /**< Fault type. */ -#endif - unsigned e : 1; /**< Side-effect bit. */ - unsigned ct : 2; /**< Context Register selection. */ - unsigned pr : 1; /**< Privilege bit. */ - unsigned w : 1; /**< Write bit. */ - unsigned ow : 1; /**< Overwrite bit. */ - unsigned fv : 1; /**< Fault Valid bit. */ - } __attribute__ ((packed)); -}; -typedef union tlb_sfsr_reg tlb_sfsr_reg_t; - -#if defined (US3) - -/* - * Functions for determining the number of entries in TLBs. They either return - * a constant value or a value based on the CPU autodetection. - */ - -/** - * Determine the number of entries in the DMMU's small TLB. - */ -static inline uint16_t tlb_dsmall_size(void) -{ - return 16; -} - -/** - * Determine the number of entries in each DMMU's big TLB. - */ -static inline uint16_t tlb_dbig_size(void) -{ - return 512; -} - -/** - * Determine the number of entries in the IMMU's small TLB. - */ -static inline uint16_t tlb_ismall_size(void) -{ - return 16; -} - -/** - * Determine the number of entries in the IMMU's big TLB. - */ -static inline uint16_t tlb_ibig_size(void) -{ - if (((ver_reg_t) ver_read()).impl == IMPL_ULTRASPARCIV_PLUS) - return 512; - else - return 128; -} - -#endif - -/** Read MMU Primary Context Register. - * - * @return Current value of Primary Context Register. - */ -static inline uint64_t mmu_primary_context_read(void) -{ - return asi_u64_read(ASI_DMMU, VA_PRIMARY_CONTEXT_REG); -} - -/** Write MMU Primary Context Register. - * - * @param v New value of Primary Context Register. - */ -static inline void mmu_primary_context_write(uint64_t v) -{ - asi_u64_write(ASI_DMMU, VA_PRIMARY_CONTEXT_REG, v); - flush_pipeline(); -} - -/** Read MMU Secondary Context Register. - * - * @return Current value of Secondary Context Register. - */ -static inline uint64_t mmu_secondary_context_read(void) -{ - return asi_u64_read(ASI_DMMU, VA_SECONDARY_CONTEXT_REG); -} - -/** Write MMU Primary Context Register. - * - * @param v New value of Primary Context Register. - */ -static inline void mmu_secondary_context_write(uint64_t v) -{ - asi_u64_write(ASI_DMMU, VA_SECONDARY_CONTEXT_REG, v); - flush_pipeline(); -} - -#if defined (US) - -/** Read IMMU TLB Data Access Register. - * - * @param entry TLB Entry index. - * - * @return Current value of specified IMMU TLB Data Access - * Register. - */ -static inline uint64_t itlb_data_access_read(size_t entry) -{ - itlb_data_access_addr_t reg; - - reg.value = 0; - reg.tlb_entry = entry; - return asi_u64_read(ASI_ITLB_DATA_ACCESS_REG, reg.value); -} - -/** Write IMMU TLB Data Access Register. - * - * @param entry TLB Entry index. - * @param value Value to be written. - */ -static inline void itlb_data_access_write(size_t entry, uint64_t value) -{ - itlb_data_access_addr_t reg; - - reg.value = 0; - reg.tlb_entry = entry; - asi_u64_write(ASI_ITLB_DATA_ACCESS_REG, reg.value, value); - flush_pipeline(); -} - -/** Read DMMU TLB Data Access Register. - * - * @param entry TLB Entry index. - * - * @return Current value of specified DMMU TLB Data Access - * Register. - */ -static inline uint64_t dtlb_data_access_read(size_t entry) -{ - dtlb_data_access_addr_t reg; - - reg.value = 0; - reg.tlb_entry = entry; - return asi_u64_read(ASI_DTLB_DATA_ACCESS_REG, reg.value); -} - -/** Write DMMU TLB Data Access Register. - * - * @param entry TLB Entry index. - * @param value Value to be written. - */ -static inline void dtlb_data_access_write(size_t entry, uint64_t value) -{ - dtlb_data_access_addr_t reg; - - reg.value = 0; - reg.tlb_entry = entry; - asi_u64_write(ASI_DTLB_DATA_ACCESS_REG, reg.value, value); - membar(); -} - -/** Read IMMU TLB Tag Read Register. - * - * @param entry TLB Entry index. - * - * @return Current value of specified IMMU TLB Tag Read Register. - */ -static inline uint64_t itlb_tag_read_read(size_t entry) -{ - itlb_tag_read_addr_t tag; - - tag.value = 0; - tag.tlb_entry = entry; - return asi_u64_read(ASI_ITLB_TAG_READ_REG, tag.value); -} - -/** Read DMMU TLB Tag Read Register. - * - * @param entry TLB Entry index. - * - * @return Current value of specified DMMU TLB Tag Read Register. - */ -static inline uint64_t dtlb_tag_read_read(size_t entry) -{ - dtlb_tag_read_addr_t tag; - - tag.value = 0; - tag.tlb_entry = entry; - return asi_u64_read(ASI_DTLB_TAG_READ_REG, tag.value); -} - -#elif defined (US3) - - -/** Read IMMU TLB Data Access Register. - * - * @param tlb TLB number (one of TLB_ISMALL or TLB_IBIG) - * @param entry TLB Entry index. - * - * @return Current value of specified IMMU TLB Data Access - * Register. - */ -static inline uint64_t itlb_data_access_read(int tlb, size_t entry) -{ - itlb_data_access_addr_t reg; - - reg.value = 0; - reg.tlb_number = tlb; - reg.local_tlb_entry = entry; - return asi_u64_read(ASI_ITLB_DATA_ACCESS_REG, reg.value); -} - -/** Write IMMU TLB Data Access Register. - * @param tlb TLB number (one of TLB_ISMALL or TLB_IBIG) - * @param entry TLB Entry index. - * @param value Value to be written. - */ -static inline void itlb_data_access_write(int tlb, size_t entry, - uint64_t value) -{ - itlb_data_access_addr_t reg; - - reg.value = 0; - reg.tlb_number = tlb; - reg.local_tlb_entry = entry; - asi_u64_write(ASI_ITLB_DATA_ACCESS_REG, reg.value, value); - flush_pipeline(); -} - -/** Read DMMU TLB Data Access Register. - * - * @param tlb TLB number (one of TLB_DSMALL, TLB_DBIG, TLB_DBIG) - * @param entry TLB Entry index. - * - * @return Current value of specified DMMU TLB Data Access - * Register. - */ -static inline uint64_t dtlb_data_access_read(int tlb, size_t entry) -{ - dtlb_data_access_addr_t reg; - - reg.value = 0; - reg.tlb_number = tlb; - reg.local_tlb_entry = entry; - return asi_u64_read(ASI_DTLB_DATA_ACCESS_REG, reg.value); -} - -/** Write DMMU TLB Data Access Register. - * - * @param tlb TLB number (one of TLB_DSMALL, TLB_DBIG_0, TLB_DBIG_1) - * @param entry TLB Entry index. - * @param value Value to be written. - */ -static inline void dtlb_data_access_write(int tlb, size_t entry, - uint64_t value) -{ - dtlb_data_access_addr_t reg; - - reg.value = 0; - reg.tlb_number = tlb; - reg.local_tlb_entry = entry; - asi_u64_write(ASI_DTLB_DATA_ACCESS_REG, reg.value, value); - membar(); -} - -/** Read IMMU TLB Tag Read Register. - * - * @param tlb TLB number (one of TLB_ISMALL or TLB_IBIG) - * @param entry TLB Entry index. - * - * @return Current value of specified IMMU TLB Tag Read Register. - */ -static inline uint64_t itlb_tag_read_read(int tlb, size_t entry) -{ - itlb_tag_read_addr_t tag; - - tag.value = 0; - tag.tlb_number = tlb; - tag.local_tlb_entry = entry; - return asi_u64_read(ASI_ITLB_TAG_READ_REG, tag.value); -} - -/** Read DMMU TLB Tag Read Register. - * - * @param tlb TLB number (one of TLB_DSMALL, TLB_DBIG_0, TLB_DBIG_1) - * @param entry TLB Entry index. - * - * @return Current value of specified DMMU TLB Tag Read Register. - */ -static inline uint64_t dtlb_tag_read_read(int tlb, size_t entry) -{ - dtlb_tag_read_addr_t tag; - - tag.value = 0; - tag.tlb_number = tlb; - tag.local_tlb_entry = entry; - return asi_u64_read(ASI_DTLB_TAG_READ_REG, tag.value); -} - -#endif - - -/** Write IMMU TLB Tag Access Register. - * - * @param v Value to be written. - */ -static inline void itlb_tag_access_write(uint64_t v) -{ - asi_u64_write(ASI_IMMU, VA_IMMU_TAG_ACCESS, v); - flush_pipeline(); -} - -/** Read IMMU TLB Tag Access Register. - * - * @return Current value of IMMU TLB Tag Access Register. - */ -static inline uint64_t itlb_tag_access_read(void) -{ - return asi_u64_read(ASI_IMMU, VA_IMMU_TAG_ACCESS); -} - -/** Write DMMU TLB Tag Access Register. - * - * @param v Value to be written. - */ -static inline void dtlb_tag_access_write(uint64_t v) -{ - asi_u64_write(ASI_DMMU, VA_DMMU_TAG_ACCESS, v); - membar(); -} - -/** Read DMMU TLB Tag Access Register. - * - * @return Current value of DMMU TLB Tag Access Register. - */ -static inline uint64_t dtlb_tag_access_read(void) -{ - return asi_u64_read(ASI_DMMU, VA_DMMU_TAG_ACCESS); -} - - -/** Write IMMU TLB Data in Register. - * - * @param v Value to be written. - */ -static inline void itlb_data_in_write(uint64_t v) -{ - asi_u64_write(ASI_ITLB_DATA_IN_REG, 0, v); - flush_pipeline(); -} - -/** Write DMMU TLB Data in Register. - * - * @param v Value to be written. - */ -static inline void dtlb_data_in_write(uint64_t v) -{ - asi_u64_write(ASI_DTLB_DATA_IN_REG, 0, v); - membar(); -} - -/** Read ITLB Synchronous Fault Status Register. - * - * @return Current content of I-SFSR register. - */ -static inline uint64_t itlb_sfsr_read(void) -{ - return asi_u64_read(ASI_IMMU, VA_IMMU_SFSR); -} - -/** Write ITLB Synchronous Fault Status Register. - * - * @param v New value of I-SFSR register. - */ -static inline void itlb_sfsr_write(uint64_t v) -{ - asi_u64_write(ASI_IMMU, VA_IMMU_SFSR, v); - flush_pipeline(); -} - -/** Read DTLB Synchronous Fault Status Register. - * - * @return Current content of D-SFSR register. - */ -static inline uint64_t dtlb_sfsr_read(void) -{ - return asi_u64_read(ASI_DMMU, VA_DMMU_SFSR); -} - -/** Write DTLB Synchronous Fault Status Register. - * - * @param v New value of D-SFSR register. - */ -static inline void dtlb_sfsr_write(uint64_t v) -{ - asi_u64_write(ASI_DMMU, VA_DMMU_SFSR, v); - membar(); -} - -/** Read DTLB Synchronous Fault Address Register. - * - * @return Current content of D-SFAR register. - */ -static inline uint64_t dtlb_sfar_read(void) -{ - return asi_u64_read(ASI_DMMU, VA_DMMU_SFAR); -} - -/** Perform IMMU TLB Demap Operation. - * - * @param type Selects between context and page demap (and entire MMU - * demap on US3). - * @param context_encoding Specifies which Context register has Context ID for - * demap. - * @param page Address which is on the page to be demapped. - */ -static inline void itlb_demap(int type, int context_encoding, uintptr_t page) -{ - tlb_demap_addr_t da; - page_address_t pg; - - da.value = 0; - pg.address = page; - - da.type = type; - da.context = context_encoding; - da.vpn = pg.vpn; - - /* da.value is the address within the ASI */ - asi_u64_write(ASI_IMMU_DEMAP, da.value, 0); - - flush_pipeline(); -} - -/** Perform DMMU TLB Demap Operation. - * - * @param type Selects between context and page demap (and entire MMU - * demap on US3). - * @param context_encoding Specifies which Context register has Context ID for - * demap. - * @param page Address which is on the page to be demapped. - */ -static inline void dtlb_demap(int type, int context_encoding, uintptr_t page) -{ - tlb_demap_addr_t da; - page_address_t pg; - - da.value = 0; - pg.address = page; - - da.type = type; - da.context = context_encoding; - da.vpn = pg.vpn; - - /* da.value is the address within the ASI */ - asi_u64_write(ASI_DMMU_DEMAP, da.value, 0); - - membar(); -} - -extern void fast_instruction_access_mmu_miss(unative_t, istate_t *); -extern void fast_data_access_mmu_miss(tlb_tag_access_reg_t, istate_t *); -extern void fast_data_access_protection(tlb_tag_access_reg_t , istate_t *); - -extern void dtlb_insert_mapping(uintptr_t, uintptr_t, int, bool, bool); - -extern void dump_sfsr_and_sfar(void); -extern void describe_dmmu_fault(void); - -#endif /* !def __ASM__ */ - -#endif - -/** @} - */ diff --git a/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/mm/sun4u/tte.h b/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/mm/sun4u/tte.h deleted file mode 100644 index 46acaed47c..0000000000 --- a/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/mm/sun4u/tte.h +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Copyright (c) 2005 Jakub Jermar - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - 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. - * - 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 ``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 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. - */ - -/** @addtogroup sparc64mm - * @{ - */ -/** @file - */ - -#ifndef KERN_sparc64_sun4u_TTE_H_ -#define KERN_sparc64_sun4u_TTE_H_ - -#define TTE_G (1 << 0) -#define TTE_W (1 << 1) -#define TTE_P (1 << 2) -#define TTE_E (1 << 3) -#define TTE_CV (1 << 4) -#define TTE_CP (1 << 5) -#define TTE_L (1 << 6) - -#define TTE_V_SHIFT 63 -#define TTE_SIZE_SHIFT 61 - -#ifndef __ASM__ - -#include <arch/types.h> - -/* TTE tag's VA_tag field contains bits <63:VA_TAG_PAGE_SHIFT> of the VA */ -#define VA_TAG_PAGE_SHIFT 22 - -/** Translation Table Entry - Tag. */ -union tte_tag { - uint64_t value; - struct { - unsigned g : 1; /**< Global. */ - unsigned : 2; /**< Reserved. */ - unsigned context : 13; /**< Context identifier. */ - unsigned : 6; /**< Reserved. */ - uint64_t va_tag : 42; /**< Virtual Address Tag, bits 63:22. */ - } __attribute__ ((packed)); -}; - -typedef union tte_tag tte_tag_t; - -/** Translation Table Entry - Data. */ -union tte_data { - uint64_t value; - struct { - unsigned v : 1; /**< Valid. */ - unsigned size : 2; /**< Page size of this entry. */ - unsigned nfo : 1; /**< No-Fault-Only. */ - unsigned ie : 1; /**< Invert Endianness. */ - unsigned soft2 : 9; /**< Software defined field. */ -#if defined (US) - unsigned diag : 9; /**< Diagnostic data. */ - unsigned pfn : 28; /**< Physical Address bits, bits 40:13. */ -#elif defined (US3) - unsigned : 7; /**< Reserved. */ - unsigned pfn : 30; /**< Physical Address bits, bits 42:13 */ -#endif - unsigned soft : 6; /**< Software defined field. */ - unsigned l : 1; /**< Lock. */ - unsigned cp : 1; /**< Cacheable in physically indexed cache. */ - unsigned cv : 1; /**< Cacheable in virtually indexed cache. */ - unsigned e : 1; /**< Side-effect. */ - unsigned p : 1; /**< Privileged. */ - unsigned w : 1; /**< Writable. */ - unsigned g : 1; /**< Global. */ - } __attribute__ ((packed)); -}; - -typedef union tte_data tte_data_t; - -#endif /* !def __ASM__ */ - -#endif - -/** @} - */ diff --git a/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/mm/tlb.h b/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/mm/tlb.h deleted file mode 100644 index 4adf26ca64..0000000000 --- a/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/mm/tlb.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (c) 2005 Jakub Jermar - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - 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. - * - 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 ``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 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. - */ - -/** @addtogroup sparc64mm - * @{ - */ -/** @file - */ - -#ifndef KERN_sparc64_TLB_H_ -#define KERN_sparc64_TLB_H_ - - -#if defined (SUN4U) -#include <arch/mm/sun4u/tlb.h> -#elif defined (SUN4V) -#include <arch/mm/sun4v/tlb.h> -#endif - -#endif - -/** @} - */ diff --git a/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/mm/tte.h b/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/mm/tte.h deleted file mode 100644 index f0b746e8c6..0000000000 --- a/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/mm/tte.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (c) 2005 Jakub Jermar - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - 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. - * - 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 ``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 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. - */ - -/** @addtogroup sparc64mm - * @{ - */ -/** @file - */ - -#ifndef KERN_sparc64_TTE_H_ -#define KERN_sparc64_TTE_H_ - -#if defined (SUN4U) -#include <arch/mm/sun4u/tte.h> -#elif defined (SUN4V) -#include <arch/mm/sun4v/tte.h> -#endif - -#endif - -/** @} - */ diff --git a/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/regdef.h b/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/regdef.h deleted file mode 100644 index aae46fa99f..0000000000 --- a/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/regdef.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright (c) 2005 Jakub Jermar - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - 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. - * - 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 ``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 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. - */ - -/** @addtogroup sparc64 - * @{ - */ -/** @file - */ - -#ifndef KERN_sparc64_REGDEF_H_ -#define KERN_sparc64_REGDEF_H_ - -#define PSTATE_IE_BIT (1 << 1) -#define PSTATE_AM_BIT (1 << 3) - -#define PSTATE_AG_BIT (1 << 0) -#define PSTATE_IG_BIT (1 << 11) -#define PSTATE_MG_BIT (1 << 10) - -#define PSTATE_PRIV_BIT (1 << 2) -#define PSTATE_PEF_BIT (1 << 4) - -#define TSTATE_PSTATE_SHIFT 8 -#define TSTATE_PRIV_BIT (PSTATE_PRIV_BIT << TSTATE_PSTATE_SHIFT) -#define TSTATE_IE_BIT (PSTATE_IE_BIT << TSTATE_PSTATE_SHIFT) -#define TSTATE_PEF_BIT (PSTATE_PEF_BIT << TSTATE_PSTATE_SHIFT) - -#define TSTATE_CWP_MASK 0x1f - -#define WSTATE_NORMAL(n) (n) -#define WSTATE_OTHER(n) ((n) << 3) - -/* - * The following definitions concern the UPA_CONFIG register on US and the - * FIREPLANE_CONFIG register on US3. - */ -#define ICBUS_CONFIG_MID_SHIFT 17 - -#endif - -/** @} - */ diff --git a/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/stack.h b/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/stack.h deleted file mode 100644 index 6364916912..0000000000 --- a/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/stack.h +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright (c) 2005 Jakub Jermar - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - 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. - * - 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 ``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 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. - */ - -/** @addtogroup sparc64 - * @{ - */ -/** @file - */ - -#ifndef KERN_sparc64_STACK_H_ -#define KERN_sparc64_STACK_H_ - -#define STACK_ITEM_SIZE 8 - -/** According to SPARC Compliance Definition, every stack frame is 16-byte aligned. */ -#define STACK_ALIGNMENT 16 - -/** - * 16-extended-word save area for %i[0-7] and %l[0-7] registers. - */ -#define STACK_WINDOW_SAVE_AREA_SIZE (16 * STACK_ITEM_SIZE) - -/** - * Six extended words for first six arguments. - */ -#define STACK_ARG_SAVE_AREA_SIZE (6 * STACK_ITEM_SIZE) - -/** - * By convention, the actual top of the stack is %sp + STACK_BIAS. - */ -#define STACK_BIAS 2047 - -/* - * Offsets of arguments on stack. - */ -#define STACK_ARG0 0 -#define STACK_ARG1 8 -#define STACK_ARG2 16 -#define STACK_ARG3 24 -#define STACK_ARG4 32 -#define STACK_ARG5 40 -#define STACK_ARG6 48 - -#endif - -/** @} - */ diff --git a/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/sun4u/arch.h b/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/sun4u/arch.h deleted file mode 100644 index 9e883a37ff..0000000000 --- a/c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/include/sun4u/arch.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (c) 2005 Jakub Jermar - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - 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. - * - 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 ``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 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. - */ - -/** @addtogroup sparc64 - * @{ - */ -/** - * @file - * @brief Various sun4u-specific macros. - */ - -#ifndef KERN_sparc64_sun4u_ARCH_H_ -#define KERN_sparc64_sun4u_ARCH_H_ - -#define ASI_NUCLEUS_QUAD_LDD 0x24 /** ASI for 16-byte atomic loads. */ -#define ASI_DCACHE_TAG 0x47 /** ASI D-Cache Tag. */ -#define ASI_ICBUS_CONFIG 0x4a /** ASI of the UPA_CONFIG/FIREPLANE_CONFIG register. */ - -#endif - -/** @} - */ diff --git a/c/src/lib/libbsp/sparc64/shared/include/asm.h b/c/src/lib/libbsp/sparc64/shared/include/asm.h deleted file mode 100644 index bd3cc1298a..0000000000 --- a/c/src/lib/libbsp/sparc64/shared/include/asm.h +++ /dev/null @@ -1,13 +0,0 @@ -/* - * asm.h - * - * Copyright 2010 Gedare Bloom - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - - -extern void halt( void ); - diff --git a/c/src/lib/libbsp/sparc64/shared/include/traptable.h b/c/src/lib/libbsp/sparc64/shared/include/traptable.h deleted file mode 100644 index 353c60d79c..0000000000 --- a/c/src/lib/libbsp/sparc64/shared/include/traptable.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * traptable.h - * - * Copyright 2010 Gedare Bloom - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -/* This file can be included by assembly code */ - -#define ENTRY_SIZE (32) - -#define TABLE_SIZE (1024*ENTRY_SIZE) - -#ifndef ASM -extern void* real_trap_table; -extern void* trap_table[TABLE_SIZE]; -#endif - diff --git a/c/src/lib/libbsp/sparc64/usiii/Makefile.am b/c/src/lib/libbsp/sparc64/usiii/Makefile.am index 90be322b0d..cf2828a015 100644 --- a/c/src/lib/libbsp/sparc64/usiii/Makefile.am +++ b/c/src/lib/libbsp/sparc64/usiii/Makefile.am @@ -4,74 +4,16 @@ EXTRA_DIST = include $(top_srcdir)/../../../../automake/compile.am include $(top_srcdir)/../../bsp.am -include_bspdir = $(includedir)/bsp - -dist_project_lib_DATA = bsp_specs - -include_HEADERS = include/bsp.h -include_HEADERS += include/tm27.h -include_HEADERS += ../shared/include/asm.h -include_HEADERS += ../shared/include/traptable.h +dist_project_lib_DATA = startup/bsp_specs ## these are the include files used by the boot process from HelenOS Sparc64 -include_bootdir = $(includedir)/boot -include_boot_HEADERS = \ - ../shared/helenos/boot/include/align.h \ - ../shared/helenos/boot/include/balloc.h \ - ../shared/helenos/boot/include/gentypes.h \ - ../shared/helenos/boot/include/main.h \ - ../shared/helenos/boot/include/ofwarch.h \ - ../shared/helenos/boot/include/ofw.h \ - ../shared/helenos/boot/include/ofw_tree.h \ - ../shared/helenos/boot/include/register.h \ - ../shared/helenos/boot/include/stack.h \ - ../shared/helenos/boot/include/types.h - ## These include files mimic the HelenOS kernel include layout, which ## in HelenOS-0.4.2 is more complicated than the boot include dirs. # assumed by the HelenOS sources to be in the root includedir. We place them # in a kernel include directory. -include_kerneldir = $(includedir)/kernel -include_kernel_HEADERS = \ - ../shared/helenos/kernel/generic/include/align.h - -include_archdir = $(includedir)/arch -include_arch_HEADERS = \ - ../shared/helenos/kernel/sparc64/include/arch.h \ - ../shared/helenos/kernel/sparc64/include/boot.h \ - ../shared/helenos/kernel/sparc64/include/regdef.h \ - ../shared/helenos/kernel/sparc64/include/stack.h - -include_arch_sun4udir = $(includedir)/arch/sun4u -include_arch_sun4u_HEADERS = \ - ../shared/helenos/kernel/sparc64/include/sun4u/arch.h - -include_arch_mmdir = $(includedir)/arch/mm -include_arch_mm_HEADERS = \ - ../shared/helenos/kernel/sparc64/include/mm/cache_spec.h \ - ../shared/helenos/kernel/sparc64/include/mm/frame.h \ - ../shared/helenos/kernel/sparc64/include/mm/mmu.h \ - ../shared/helenos/kernel/sparc64/include/mm/page.h \ - ../shared/helenos/kernel/sparc64/include/mm/tlb.h \ - ../shared/helenos/kernel/sparc64/include/mm/tte.h - - -include_arch_mm_sun4udir = $(includedir)/arch/mm/sun4u -include_arch_mm_sun4u_HEADERS = \ - ../shared/helenos/kernel/sparc64/include/mm/sun4u/frame.h \ - ../shared/helenos/kernel/sparc64/include/mm/sun4u/mmu.h \ - ../shared/helenos/kernel/sparc64/include/mm/sun4u/page.h \ - ../shared/helenos/kernel/sparc64/include/mm/sun4u/tlb.h \ - ../shared/helenos/kernel/sparc64/include/mm/sun4u/tte.h - -include_genarch_ofwdir = $(includedir)/genarch/ofw -include_genarch_ofw_HEADERS = \ - ../shared/helenos/kernel/genarch/include/ofw/ofw_tree.h - - -nodist_include_HEADERS = include/bspopts.h -nodist_include_bsp_HEADERS = ../../shared/include/bootcard.h + + DISTCLEANFILES = include/bspopts.h noinst_PROGRAMS = @@ -127,5 +69,5 @@ libbsp_a_LIBADD = \ ../../../libcpu/@RTEMS_CPU@/shared/cache.rel \ ../../../libcpu/@RTEMS_CPU@/shared/sparc64-syscall.rel -include $(srcdir)/preinstall.am include $(top_srcdir)/../../../../automake/local.am +include $(srcdir)/../../../../../../bsps/sparc64/usiii/headers.am diff --git a/c/src/lib/libbsp/sparc64/usiii/configure.ac b/c/src/lib/libbsp/sparc64/usiii/configure.ac index 1d183d2a63..a95c48fd8b 100644 --- a/c/src/lib/libbsp/sparc64/usiii/configure.ac +++ b/c/src/lib/libbsp/sparc64/usiii/configure.ac @@ -4,6 +4,8 @@ AC_PREREQ([2.69]) AC_INIT([rtems-c-src-lib-libbsp-sparc64-sun4u],[_RTEMS_VERSION],[https://devel.rtems.org/newticket]) AC_CONFIG_SRCDIR([make/custom/usiii.cfg]) RTEMS_TOP(../../../../../..) +RTEMS_SOURCE_TOP +RTEMS_BUILD_TOP RTEMS_CANONICAL_TARGET_CPU AM_INIT_AUTOMAKE([no-define nostdinc foreign 1.12.2]) diff --git a/c/src/lib/libbsp/sparc64/usiii/include/bsp.h b/c/src/lib/libbsp/sparc64/usiii/include/bsp.h deleted file mode 100644 index 8051db3987..0000000000 --- a/c/src/lib/libbsp/sparc64/usiii/include/bsp.h +++ /dev/null @@ -1,42 +0,0 @@ -/* bsp.h - * - * This include file contains all SPARC64 simulator definitions. - * - * COPYRIGHT (c) 1989-1998. On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - * - */ - -#ifndef LIBBSP_SPARC64_USIII_BSP_H -#define LIBBSP_SPARC64_USIII_BSP_H - -#include <bspopts.h> -#include <bsp/default-initial-extension.h> - -#include <rtems.h> - -#ifdef __cplusplus -extern "C" { -#endif - -/* support for simulated clock tick */ -/* -void *clock_driver_sim_idle_body(uintptr_t); -#define BSP_IDLE_TASK_BODY clock_driver_sim_idle_body -*/ - -/* this should be defined somewhere */ -rtems_isr_entry set_vector( /* returns old vector */ - rtems_isr_entry handler, /* isr routine */ - rtems_vector_number vector, /* vector number */ - int type /* RTEMS or RAW intr */ -); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/c/src/lib/libbsp/sparc64/usiii/include/tm27.h b/c/src/lib/libbsp/sparc64/usiii/include/tm27.h deleted file mode 100644 index 0dfa7bf628..0000000000 --- a/c/src/lib/libbsp/sparc64/usiii/include/tm27.h +++ /dev/null @@ -1 +0,0 @@ -#include <rtems/tm27-default.h> diff --git a/c/src/lib/libbsp/sparc64/usiii/preinstall.am b/c/src/lib/libbsp/sparc64/usiii/preinstall.am deleted file mode 100644 index fa403a3842..0000000000 --- a/c/src/lib/libbsp/sparc64/usiii/preinstall.am +++ /dev/null @@ -1,218 +0,0 @@ -## Automatically generated by ampolish3 - Do not edit - -if AMPOLISH3 -$(srcdir)/preinstall.am: Makefile.am - $(AMPOLISH3) $(srcdir)/Makefile.am > $(srcdir)/preinstall.am -endif - -PREINSTALL_DIRS = -DISTCLEANFILES += $(PREINSTALL_DIRS) - -all-am: $(PREINSTALL_FILES) - -PREINSTALL_FILES = -CLEANFILES = $(PREINSTALL_FILES) - -all-local: $(TMPINSTALL_FILES) - -TMPINSTALL_FILES = -CLEANFILES += $(TMPINSTALL_FILES) - -$(PROJECT_LIB)/$(dirstamp): - @$(MKDIR_P) $(PROJECT_LIB) - @: > $(PROJECT_LIB)/$(dirstamp) -PREINSTALL_DIRS += $(PROJECT_LIB)/$(dirstamp) - -$(PROJECT_INCLUDE)/$(dirstamp): - @$(MKDIR_P) $(PROJECT_INCLUDE) - @: > $(PROJECT_INCLUDE)/$(dirstamp) -PREINSTALL_DIRS += $(PROJECT_INCLUDE)/$(dirstamp) - -$(PROJECT_INCLUDE)/bsp/$(dirstamp): - @$(MKDIR_P) $(PROJECT_INCLUDE)/bsp - @: > $(PROJECT_INCLUDE)/bsp/$(dirstamp) -PREINSTALL_DIRS += $(PROJECT_INCLUDE)/bsp/$(dirstamp) - -$(PROJECT_LIB)/bsp_specs: bsp_specs $(PROJECT_LIB)/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_LIB)/bsp_specs -PREINSTALL_FILES += $(PROJECT_LIB)/bsp_specs - -$(PROJECT_INCLUDE)/bsp.h: include/bsp.h $(PROJECT_INCLUDE)/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp.h - -$(PROJECT_INCLUDE)/tm27.h: include/tm27.h $(PROJECT_INCLUDE)/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/tm27.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/tm27.h - -$(PROJECT_INCLUDE)/asm.h: ../shared/include/asm.h $(PROJECT_INCLUDE)/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/asm.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/asm.h - -$(PROJECT_INCLUDE)/traptable.h: ../shared/include/traptable.h $(PROJECT_INCLUDE)/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/traptable.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/traptable.h - -$(PROJECT_INCLUDE)/boot/$(dirstamp): - @$(MKDIR_P) $(PROJECT_INCLUDE)/boot - @: > $(PROJECT_INCLUDE)/boot/$(dirstamp) -PREINSTALL_DIRS += $(PROJECT_INCLUDE)/boot/$(dirstamp) - -$(PROJECT_INCLUDE)/boot/align.h: ../shared/helenos/boot/include/align.h $(PROJECT_INCLUDE)/boot/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/boot/align.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/boot/align.h - -$(PROJECT_INCLUDE)/boot/balloc.h: ../shared/helenos/boot/include/balloc.h $(PROJECT_INCLUDE)/boot/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/boot/balloc.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/boot/balloc.h - -$(PROJECT_INCLUDE)/boot/gentypes.h: ../shared/helenos/boot/include/gentypes.h $(PROJECT_INCLUDE)/boot/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/boot/gentypes.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/boot/gentypes.h - -$(PROJECT_INCLUDE)/boot/main.h: ../shared/helenos/boot/include/main.h $(PROJECT_INCLUDE)/boot/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/boot/main.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/boot/main.h - -$(PROJECT_INCLUDE)/boot/ofwarch.h: ../shared/helenos/boot/include/ofwarch.h $(PROJECT_INCLUDE)/boot/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/boot/ofwarch.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/boot/ofwarch.h - -$(PROJECT_INCLUDE)/boot/ofw.h: ../shared/helenos/boot/include/ofw.h $(PROJECT_INCLUDE)/boot/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/boot/ofw.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/boot/ofw.h - -$(PROJECT_INCLUDE)/boot/ofw_tree.h: ../shared/helenos/boot/include/ofw_tree.h $(PROJECT_INCLUDE)/boot/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/boot/ofw_tree.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/boot/ofw_tree.h - -$(PROJECT_INCLUDE)/boot/register.h: ../shared/helenos/boot/include/register.h $(PROJECT_INCLUDE)/boot/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/boot/register.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/boot/register.h - -$(PROJECT_INCLUDE)/boot/stack.h: ../shared/helenos/boot/include/stack.h $(PROJECT_INCLUDE)/boot/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/boot/stack.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/boot/stack.h - -$(PROJECT_INCLUDE)/boot/types.h: ../shared/helenos/boot/include/types.h $(PROJECT_INCLUDE)/boot/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/boot/types.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/boot/types.h - -$(PROJECT_INCLUDE)/kernel/$(dirstamp): - @$(MKDIR_P) $(PROJECT_INCLUDE)/kernel - @: > $(PROJECT_INCLUDE)/kernel/$(dirstamp) -PREINSTALL_DIRS += $(PROJECT_INCLUDE)/kernel/$(dirstamp) - -$(PROJECT_INCLUDE)/kernel/align.h: ../shared/helenos/kernel/generic/include/align.h $(PROJECT_INCLUDE)/kernel/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/kernel/align.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/kernel/align.h - -$(PROJECT_INCLUDE)/arch/$(dirstamp): - @$(MKDIR_P) $(PROJECT_INCLUDE)/arch - @: > $(PROJECT_INCLUDE)/arch/$(dirstamp) -PREINSTALL_DIRS += $(PROJECT_INCLUDE)/arch/$(dirstamp) - -$(PROJECT_INCLUDE)/arch/arch.h: ../shared/helenos/kernel/sparc64/include/arch.h $(PROJECT_INCLUDE)/arch/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/arch.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/arch.h - -$(PROJECT_INCLUDE)/arch/boot.h: ../shared/helenos/kernel/sparc64/include/boot.h $(PROJECT_INCLUDE)/arch/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/boot.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/boot.h - -$(PROJECT_INCLUDE)/arch/regdef.h: ../shared/helenos/kernel/sparc64/include/regdef.h $(PROJECT_INCLUDE)/arch/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/regdef.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/regdef.h - -$(PROJECT_INCLUDE)/arch/stack.h: ../shared/helenos/kernel/sparc64/include/stack.h $(PROJECT_INCLUDE)/arch/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/stack.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/stack.h - -$(PROJECT_INCLUDE)/arch/sun4u/$(dirstamp): - @$(MKDIR_P) $(PROJECT_INCLUDE)/arch/sun4u - @: > $(PROJECT_INCLUDE)/arch/sun4u/$(dirstamp) -PREINSTALL_DIRS += $(PROJECT_INCLUDE)/arch/sun4u/$(dirstamp) - -$(PROJECT_INCLUDE)/arch/sun4u/arch.h: ../shared/helenos/kernel/sparc64/include/sun4u/arch.h $(PROJECT_INCLUDE)/arch/sun4u/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/sun4u/arch.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/sun4u/arch.h - -$(PROJECT_INCLUDE)/arch/mm/$(dirstamp): - @$(MKDIR_P) $(PROJECT_INCLUDE)/arch/mm - @: > $(PROJECT_INCLUDE)/arch/mm/$(dirstamp) -PREINSTALL_DIRS += $(PROJECT_INCLUDE)/arch/mm/$(dirstamp) - -$(PROJECT_INCLUDE)/arch/mm/cache_spec.h: ../shared/helenos/kernel/sparc64/include/mm/cache_spec.h $(PROJECT_INCLUDE)/arch/mm/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/mm/cache_spec.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/mm/cache_spec.h - -$(PROJECT_INCLUDE)/arch/mm/frame.h: ../shared/helenos/kernel/sparc64/include/mm/frame.h $(PROJECT_INCLUDE)/arch/mm/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/mm/frame.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/mm/frame.h - -$(PROJECT_INCLUDE)/arch/mm/mmu.h: ../shared/helenos/kernel/sparc64/include/mm/mmu.h $(PROJECT_INCLUDE)/arch/mm/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/mm/mmu.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/mm/mmu.h - -$(PROJECT_INCLUDE)/arch/mm/page.h: ../shared/helenos/kernel/sparc64/include/mm/page.h $(PROJECT_INCLUDE)/arch/mm/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/mm/page.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/mm/page.h - -$(PROJECT_INCLUDE)/arch/mm/tlb.h: ../shared/helenos/kernel/sparc64/include/mm/tlb.h $(PROJECT_INCLUDE)/arch/mm/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/mm/tlb.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/mm/tlb.h - -$(PROJECT_INCLUDE)/arch/mm/tte.h: ../shared/helenos/kernel/sparc64/include/mm/tte.h $(PROJECT_INCLUDE)/arch/mm/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/mm/tte.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/mm/tte.h - -$(PROJECT_INCLUDE)/arch/mm/sun4u/$(dirstamp): - @$(MKDIR_P) $(PROJECT_INCLUDE)/arch/mm/sun4u - @: > $(PROJECT_INCLUDE)/arch/mm/sun4u/$(dirstamp) -PREINSTALL_DIRS += $(PROJECT_INCLUDE)/arch/mm/sun4u/$(dirstamp) - -$(PROJECT_INCLUDE)/arch/mm/sun4u/frame.h: ../shared/helenos/kernel/sparc64/include/mm/sun4u/frame.h $(PROJECT_INCLUDE)/arch/mm/sun4u/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/mm/sun4u/frame.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/mm/sun4u/frame.h - -$(PROJECT_INCLUDE)/arch/mm/sun4u/mmu.h: ../shared/helenos/kernel/sparc64/include/mm/sun4u/mmu.h $(PROJECT_INCLUDE)/arch/mm/sun4u/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/mm/sun4u/mmu.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/mm/sun4u/mmu.h - -$(PROJECT_INCLUDE)/arch/mm/sun4u/page.h: ../shared/helenos/kernel/sparc64/include/mm/sun4u/page.h $(PROJECT_INCLUDE)/arch/mm/sun4u/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/mm/sun4u/page.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/mm/sun4u/page.h - -$(PROJECT_INCLUDE)/arch/mm/sun4u/tlb.h: ../shared/helenos/kernel/sparc64/include/mm/sun4u/tlb.h $(PROJECT_INCLUDE)/arch/mm/sun4u/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/mm/sun4u/tlb.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/mm/sun4u/tlb.h - -$(PROJECT_INCLUDE)/arch/mm/sun4u/tte.h: ../shared/helenos/kernel/sparc64/include/mm/sun4u/tte.h $(PROJECT_INCLUDE)/arch/mm/sun4u/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/mm/sun4u/tte.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/mm/sun4u/tte.h - -$(PROJECT_INCLUDE)/genarch/ofw/$(dirstamp): - @$(MKDIR_P) $(PROJECT_INCLUDE)/genarch/ofw - @: > $(PROJECT_INCLUDE)/genarch/ofw/$(dirstamp) -PREINSTALL_DIRS += $(PROJECT_INCLUDE)/genarch/ofw/$(dirstamp) - -$(PROJECT_INCLUDE)/genarch/ofw/ofw_tree.h: ../shared/helenos/kernel/genarch/include/ofw/ofw_tree.h $(PROJECT_INCLUDE)/genarch/ofw/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/genarch/ofw/ofw_tree.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/genarch/ofw/ofw_tree.h - -$(PROJECT_INCLUDE)/bspopts.h: include/bspopts.h $(PROJECT_INCLUDE)/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bspopts.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/bspopts.h - -$(PROJECT_INCLUDE)/bsp/bootcard.h: ../../shared/include/bootcard.h $(PROJECT_INCLUDE)/bsp/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/bootcard.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/bootcard.h - -$(PROJECT_LIB)/start.$(OBJEXT): start.$(OBJEXT) $(PROJECT_LIB)/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_LIB)/start.$(OBJEXT) -TMPINSTALL_FILES += $(PROJECT_LIB)/start.$(OBJEXT) - -$(PROJECT_LIB)/linkcmds: ../shared/startup/linkcmds $(PROJECT_LIB)/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds -PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds - diff --git a/c/src/lib/libbsp/sparc64/usiii/bsp_specs b/c/src/lib/libbsp/sparc64/usiii/startup/bsp_specs index 0b4b0db932..0b4b0db932 100644 --- a/c/src/lib/libbsp/sparc64/usiii/bsp_specs +++ b/c/src/lib/libbsp/sparc64/usiii/startup/bsp_specs |