summaryrefslogtreecommitdiffstats
path: root/sys/boot/arc/include/arcfuncs.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/boot/arc/include/arcfuncs.h')
-rw-r--r--sys/boot/arc/include/arcfuncs.h209
1 files changed, 0 insertions, 209 deletions
diff --git a/sys/boot/arc/include/arcfuncs.h b/sys/boot/arc/include/arcfuncs.h
deleted file mode 100644
index 13e4792..0000000
--- a/sys/boot/arc/include/arcfuncs.h
+++ /dev/null
@@ -1,209 +0,0 @@
-/*
- * Copyright (c) 1999, Stefan Esser <se@freebsd.org>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice unmodified, this list of conditions, and the following
- * disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * 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.
- *
- * $FreeBSD$
- *
- */
-
-#ifndef _ARCFUNCS_H
-#define _ARCFUNCS_H
-
-#ifndef _SYS_CDEFS_H_
-#error this file needs sys/cdefs.h as a prerequisite
-#endif
-
-#ifdef __CC_SUPPORTS_INLINE
-#define INLINE inline
-#else
-#define INLINE /**/
-#endif
-
-/* System Parameter Block holding ARC and VENDOR function vector addresses */
-
-#define SPBlock ((SPB *)0xffffffff806fe000ul)
-
-/*
- * Convert between 32bit (ARC) and 64bit (Alpha) pointers
- */
-
-static INLINE void*
-ptr(arcptr p)
-{
- return (void*)(int64_t)p.adr;
-}
-
-static INLINE arcptr
-toarcptr(void *p)
-{
- arcptr p32;
- p32.adr = (int32_t)(int64_t) p;
- return (p32);
-}
-
-/*
- * Return entry point for ARC BIOS function "funcno"
- */
-
-static INLINE void *
-get_arc_vector(int funcno)
-{
- arcptr (*arc_vector)[] = ptr(SPBlock->FirmwareVectorP);
- return ptr((*arc_vector)[funcno -1]);
-}
-
-/*
- * Return entry point for VENDOR function "funcno"
- */
-
-static INLINE void *
-get_vendor_vector(int funcno)
-{
- arcptr (*arc_vector)[] = ptr(SPBlock->PrivateVectorP);
- return ptr((*arc_vector)[funcno -1]);
-}
-
-static INLINE int
-get_vendor_vector_length(void)
-{
- return SPBlock->PrivateVectorLength;
-}
-
-/*
- * Macros to create inline wrappers for ARCS BIOS functions
- *
- * Parameter:
- * num function number (starting at 1)
- * result result type
- * fn function name
- * param parameter list (types and formal args)
- * args parameter list (formal args only)
- */
-
-#define ARC_FN(num,result,fn,param,args) \
-static inline result fn param { \
- typedef result _fn_t param; \
- _fn_t *p_ ## fn = get_arc_vector(num); \
- return p_ ## fn args; \
-}
-
-#define VND_FN(num,result,fn,param,args) \
-static INLINE result fn param { \
- typedef result _fn_t param; \
- _fn_t *p_ ## fn = get_vendor_vector(num); \
- return p_ ## fn args; \
-}
-
-/* function codes as defined in ARC Specification Version 1.2 */
-
-ARC_FN(1, int32_t, Load,
- (char *Path, u_int32_t TopAddr, u_int32_t *ExecAddr, u_int32_t *LowAddr),
- (Path, TopAddr, ExecAddr, LowAddr))
-ARC_FN(2, int32_t, Invoke,
- (u_int32_t ExecAddr, u_int32_t StackAddr, u_int32_t Argc, char *Argv[], char *Envp[]),
- (ExecAddr, StackAddr, Argc, Argv, Envp))
-ARC_FN(3, int32_t, Execute,
- (char *Path, u_int32_t Argc, char *Argv[], char *Envp[]),
- (Path, Argc, Argv, Envp))
-ARC_FN(4, void, Halt, (void), ())
-ARC_FN(5, void, PowerDown, (void), ())
-ARC_FN(6, void, Restart, (void), ())
-ARC_FN(7, void, FwReboot, (void), ())
-ARC_FN(8, void, EnterInteractiveMode, (void), ())
-ARC_FN(10, CONFIGURATION_COMPONENT *, GetPeer,
- (CONFIGURATION_COMPONENT *Current),
- (Current))
-ARC_FN(11, CONFIGURATION_COMPONENT *, GetChild,
- (CONFIGURATION_COMPONENT *Current),
- (Current))
-ARC_FN(12, CONFIGURATION_COMPONENT *, GetParent,
- (CONFIGURATION_COMPONENT *Current),
- (Current))
-ARC_FN(13, CONFIGURATION_COMPONENT *, AddChild,
- (CONFIGURATION_COMPONENT *Current, CONFIGURATION_COMPONENT *Template,
- void *ConfigurationData),
- (Current, Template, ConfigurationData))
-ARC_FN(14, int32_t, DeleteComponent,
- (CONFIGURATION_COMPONENT *ComponentToDelete),
- (ComponentToDelete))
-ARC_FN(15, CONFIGURATION_COMPONENT *, GetComponent, (char *Path), (Path))
-ARC_FN(16, int32_t, GetConfigurationData,
- (void *ConfigurationData, CONFIGURATION_COMPONENT *Component),
- (ConfigurationData, Component))
-ARC_FN(17, int32_t, SaveConfiguration, (void), ())
-ARC_FN(18, SYSTEM_ID *, GetSystemId, (void), ())
-ARC_FN(19, MEMORY_DESCRIPTOR *, GetMemoryDescriptor,
- (MEMORY_DESCRIPTOR *Current),
- (Current))
-ARC_FN(21, TIME_FIELDS *, GetTime, (void), ())
-ARC_FN(22, u_int32_t, GetRelativeTime, (void), ())
-ARC_FN(23, int32_t, GetDirectoryEntry,
- (u_int32_t FileId, DIRECTORY_ENTRY *Buffer, u_int32_t Length, u_int32_t *Count),
- (FileId, Buffer, Length, Count))
-ARC_FN(24, int32_t, Open,
- (const char *Path, OPEN_MODE OpenMode, u_int32_t *FileId),
- (Path, OpenMode, FileId))
-ARC_FN(25, int32_t, Close, (u_int32_t FileId), (FileId))
-ARC_FN(26, int32_t, Read,
- (u_int32_t FileId, void *Buffer, u_int32_t N, u_int32_t *Count),
- (FileId, Buffer, N, Count))
-ARC_FN(27, int32_t, GetReadStatus, (u_int32_t FileId), (FileId))
-ARC_FN(28, int32_t, Write,
- (u_int32_t FileId, void const *Buffer, u_int32_t N, u_int32_t *Count),
- (FileId, Buffer, N, Count))
-ARC_FN(29, int32_t, Seek,
- (u_int32_t FileId, fpos_t *Position, SEEK_MODE SeekMode),
- (FileId, Position, SeekMode))
-ARC_FN(30, int32_t, Mount,
- (char *Path, MOUNT_OPERATION Operation),
- (Path, Operation))
-ARC_FN(31, char *, GetEnvironmentVariable, (char *Name), (Name))
-ARC_FN(32, int32_t, SetEnvironmentVariable,
- (char *Name, char *Value),
- (Name, Value))
-ARC_FN(33, int32_t, GetFileInformation,
- (u_int32_t FileId, FILE_INFORMATION *Information),
- (FileId, Information))
-ARC_FN(34, int32_t, SetFileInformation,
- (u_int32_t FileId, u_int32_t AttributeFlags, u_int32_t AttributeMask),
- (FileId, AttributeFlags, AttributeMask))
-ARC_FN(35, void, FlushAllCaches, (void), ())
-ARC_FN(36, int32_t, TestUnicodeCharacter,
- (u_int32_t FileId, WCHAR UnicodeCharacter),
- (FileId, UnicodeCharacter))
-ARC_FN(37, ARC_DISPLAY_STATUS *, GetDisplayStatus, (u_int32_t FileId), (FileId))
-
-/* Vendor specific function codes have not been verified beyond function 4 */
-
-VND_FN(1, void *, AllocatePool, (u_int32_t NumberOfBytes), (NumberOfBytes))
-VND_FN(2, void, StallExecution, (u_int32_t Microseconds), (Microseconds))
-VND_FN(3, u_int32_t, Print,
- (char *Format, int32_t Arg1, int32_t Arg2, int32_t Arg3),
- (Format, Arg1, Arg2, Arg3))
-VND_FN(4, void, ReturnExtendedSystemInformation,
- (EXTENDED_SYSTEM_INFORMATION *SystemInfo),
- (SystemInfo))
-
-#endif /* _ARGFUNCS_H */
-
OpenPOWER on IntegriCloud