summaryrefslogtreecommitdiff
path: root/src/libmach/setmach.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libmach/setmach.c')
-rw-r--r--src/libmach/setmach.c203
1 files changed, 0 insertions, 203 deletions
diff --git a/src/libmach/setmach.c b/src/libmach/setmach.c
deleted file mode 100644
index 0fa4d3192..000000000
--- a/src/libmach/setmach.c
+++ /dev/null
@@ -1,203 +0,0 @@
-// Inferno libmach/setmach.c
-// http://code.google.com/p/inferno-os/source/browse/utils/libmach/setmach.c
-//
-// Copyright © 1994-1999 Lucent Technologies Inc.
-// Power PC support Copyright © 1995-2004 C H Forsyth (forsyth@terzarima.net).
-// Portions Copyright © 1997-1999 Vita Nuova Limited.
-// Portions Copyright © 2000-2007 Vita Nuova Holdings Limited (www.vitanuova.com).
-// Revisions Copyright © 2000-2004 Lucent Technologies Inc. and others.
-// Portions Copyright © 2009 The Go Authors. All rights reserved.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-
-#include <u.h>
-#include <libc.h>
-#include <bio.h>
-#include <mach.h>
- /* table for selecting machine-dependent parameters */
-
-typedef struct machtab Machtab;
-
-struct machtab
-{
- char *name; /* machine name */
- short type; /* executable type */
- short boottype; /* bootable type */
- int asstype; /* disassembler code */
- Mach *mach; /* machine description */
- Machdata *machdata; /* machine functions */
-};
-
-/*
-extern Mach mmips, msparc, m68020, mi386, mamd64,
- marm, mmips2be, mmips2le, mpower, mpower64, malpha, msparc64;
-extern Machdata mipsmach, sparcmach, m68020mach, i386mach,
- armmach, mipsmach2le, powermach, alphamach, sparc64mach;
-*/
-extern Mach mi386, mamd64, marm;
-extern Machdata i386mach, armmach;
-
-/*
- * machine selection table. machines with native disassemblers should
- * follow the plan 9 variant in the table; native modes are selectable
- * only by name.
- */
-Machtab machines[] =
-{
- { "386", /*plan 9 386*/
- FI386,
- FI386B,
- AI386,
- &mi386,
- &i386mach, },
- { "amd64", /*amd64*/
- FAMD64,
- FAMD64B,
- AAMD64,
- &mamd64,
- &i386mach, },
- { "arm", /*ARM*/
- FARM,
- FARMB,
- AARM,
- &marm,
- &armmach, },
-#ifdef unused
- { "68020", /*68020*/
- F68020,
- F68020B,
- A68020,
- &m68020,
- &m68020mach, },
- { "68020", /*Next 68040 bootable*/
- F68020,
- FNEXTB,
- A68020,
- &m68020,
- &m68020mach, },
- { "mips2LE", /*plan 9 mips2 little endian*/
- FMIPS2LE,
- 0,
- AMIPS,
- &mmips2le,
- &mipsmach2le, },
- { "mips", /*plan 9 mips*/
- FMIPS,
- FMIPSB,
- AMIPS,
- &mmips,
- &mipsmach, },
- { "mips2", /*plan 9 mips2*/
- FMIPS2BE,
- FMIPSB,
- AMIPS,
- &mmips2be,
- &mipsmach, }, /* shares debuggers with native mips */
- { "mipsco", /*native mips - must follow plan 9*/
- FMIPS,
- FMIPSB,
- AMIPSCO,
- &mmips,
- &mipsmach, },
- { "sparc", /*plan 9 sparc */
- FSPARC,
- FSPARCB,
- ASPARC,
- &msparc,
- &sparcmach, },
- { "sunsparc", /*native sparc - must follow plan 9*/
- FSPARC,
- FSPARCB,
- ASUNSPARC,
- &msparc,
- &sparcmach, },
- { "86", /*8086 - a peach of a machine*/
- FI386,
- FI386B,
- AI8086,
- &mi386,
- &i386mach, },
- { "power", /*PowerPC*/
- FPOWER,
- FPOWERB,
- APOWER,
- &mpower,
- &powermach, },
- { "power64", /*PowerPC*/
- FPOWER64,
- FPOWER64B,
- APOWER64,
- &mpower64,
- &powermach, },
- { "alpha", /*Alpha*/
- FALPHA,
- FALPHAB,
- AALPHA,
- &malpha,
- &alphamach, },
- { "sparc64", /*plan 9 sparc64 */
- FSPARC64,
- FSPARCB, /* XXX? */
- ASPARC64,
- &msparc64,
- &sparc64mach, },
-#endif
- { 0 }, /*the terminator*/
-};
-
-/*
- * select a machine by executable file type
- */
-void
-machbytype(int type)
-{
- Machtab *mp;
-
- for (mp = machines; mp->name; mp++){
- if (mp->type == type || mp->boottype == type) {
- asstype = mp->asstype;
- machdata = mp->machdata;
- break;
- }
- }
-}
-/*
- * select a machine by name
- */
-int
-machbyname(char *name)
-{
- Machtab *mp;
-
- if (!name) {
- asstype = AAMD64;
- machdata = &i386mach;
- mach = &mamd64;
- return 1;
- }
- for (mp = machines; mp->name; mp++){
- if (strcmp(mp->name, name) == 0) {
- asstype = mp->asstype;
- machdata = mp->machdata;
- mach = mp->mach;
- return 1;
- }
- }
- return 0;
-}