From 418476ecb925e5d58ba9c22928a4e37dc30909df Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Fri, 20 Nov 2020 19:28:53 +0100 Subject: pkg/ifuzz/iset: rename ifuzzimpl to iset ifuzzimpl is too lenghty and too clumsy on my taste (nm/vmimpl worked better b/c it's shorter and used less). I've tried to come up with something shorter and nicer. We could use "insn" as a common name for "instruction" in ifuzz, but it's a commonly used name already so would cause lots of conflicts. "iset" is somewhat descriptive, short and nice. --- pkg/ifuzz/ifuzzimpl/ifuzzimpl.go | 101 --------------------------------------- 1 file changed, 101 deletions(-) delete mode 100644 pkg/ifuzz/ifuzzimpl/ifuzzimpl.go (limited to 'pkg/ifuzz/ifuzzimpl/ifuzzimpl.go') diff --git a/pkg/ifuzz/ifuzzimpl/ifuzzimpl.go b/pkg/ifuzz/ifuzzimpl/ifuzzimpl.go deleted file mode 100644 index 32f285250..000000000 --- a/pkg/ifuzz/ifuzzimpl/ifuzzimpl.go +++ /dev/null @@ -1,101 +0,0 @@ -// Copyright 2017 syzkaller project authors. All rights reserved. -// Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. - -package ifuzzimpl - -import ( - "math/rand" -) - -const ( - ArchX86 = "x86" - ArchPowerPC = "powerpc" -) - -var Arches = make(map[string]InsnSet) - -type ( - Mode int - Type int -) - -type Insn interface { - Info() (name string, mode Mode, pseudo, priv bool) - Encode(cfg *Config, r *rand.Rand) []byte -} - -type InsnSet interface { - GetInsns(mode Mode, typ Type) []Insn - Decode(mode Mode, text []byte) (int, error) - DecodeExt(mode Mode, text []byte) (int, error) // XED, to keep ifuzz_test happy -} - -type Config struct { - Arch string - Len int // number of instructions to generate - Mode Mode // one of ModeXXX - Priv bool // generate CPL=0 instructions (x86), HV/!PR mode (PPC) - Exec bool // generate instructions sequences interesting for execution - MemRegions []MemRegion // generated instructions will reference these regions -} - -type MemRegion struct { - Start uint64 - Size uint64 -} - -const ( - ModeLong64 Mode = iota - ModeProt32 - ModeProt16 - ModeReal16 - ModeLast -) - -const ( - TypeExec Type = iota - TypePriv - TypeUser - TypeAll - TypeLast -) - -var SpecialNumbers = [...]uint64{0, 1 << 15, 1 << 16, 1 << 31, 1 << 32, 1 << 47, 1 << 47, 1 << 63} - -type ModeInsns [ModeLast][TypeLast][]Insn - -func (modeInsns *ModeInsns) Add(insn Insn) { - _, mode, pseudo, priv := insn.Info() - for m := Mode(0); m < ModeLast; m++ { - if mode&(1<= ModeLast { - panic("bad mode") - } - if priv && !cfg.Priv { - return false - } - if pseudo && !cfg.Exec { - return false - } - if mode&(1<