zemu 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/lib/zemu/config.rb +312 -0
- data/lib/zemu/instance.rb +179 -0
- data/lib/zemu.rb +172 -0
- data/src/debug.c +118 -0
- data/src/debug.h +30 -0
- data/src/external/Z/API/Z/ABIs/generic/allocator.h +36 -0
- data/src/external/Z/API/Z/ABIs/generic/cipher.h +47 -0
- data/src/external/Z/API/Z/ABIs/generic/data codec.h +33 -0
- data/src/external/Z/API/Z/ABIs/generic/emulation.h +103 -0
- data/src/external/Z/API/Z/ABIs/generic/hash function.h +33 -0
- data/src/external/Z/API/Z/ABIs/generic/module.h +33 -0
- data/src/external/Z/API/Z/ABIs/generic/wave codec.h +40 -0
- data/src/external/Z/API/Z/classes/base/InitializerList.hpp +34 -0
- data/src/external/Z/API/Z/classes/base/OpaqueFunctionPointer.hpp +26 -0
- data/src/external/Z/API/Z/classes/base/OpaqueMemberFunctionPointer.hpp +26 -0
- data/src/external/Z/API/Z/classes/base/Pair.hpp +46 -0
- data/src/external/Z/API/Z/classes/base/Range.hpp +111 -0
- data/src/external/Z/API/Z/classes/base/SizedString.hpp +66 -0
- data/src/external/Z/API/Z/classes/base/Status.hpp +89 -0
- data/src/external/Z/API/Z/classes/base/Symbol.hpp +39 -0
- data/src/external/Z/API/Z/classes/base/Tuple.hpp +111 -0
- data/src/external/Z/API/Z/classes/base/Value2D.hpp +389 -0
- data/src/external/Z/API/Z/classes/base/Value3D.hpp +368 -0
- data/src/external/Z/API/Z/classes/buffering/RingBuffer.hpp +93 -0
- data/src/external/Z/API/Z/classes/buffering/TripleBuffer.hpp +68 -0
- data/src/external/Z/API/Z/classes/functional/Functor.hpp +265 -0
- data/src/external/Z/API/Z/classes/functional/MemberFunction.hpp +98 -0
- data/src/external/Z/API/Z/classes/functional/ObjectMemberFunction.hpp +172 -0
- data/src/external/Z/API/Z/classes/functional/ObjectSelector.hpp +219 -0
- data/src/external/Z/API/Z/classes/functional/Selector.hpp +146 -0
- data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/AABB.hpp +81 -0
- data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/AABR.hpp +685 -0
- data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/Box.hpp +219 -0
- data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/Circle.hpp +80 -0
- data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/Line2D.hpp +93 -0
- data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/Line3D.hpp +80 -0
- data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/Rectangle.hpp +675 -0
- data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/Sphere.hpp +0 -0
- data/src/external/Z/API/Z/classes/memory/Shared.hpp +90 -0
- data/src/external/Z/API/Z/constants/base.h +35 -0
- data/src/external/Z/API/Z/constants/chemical elements.h +6385 -0
- data/src/external/Z/API/Z/constants/numbers.h +963 -0
- data/src/external/Z/API/Z/constants/version.h +15 -0
- data/src/external/Z/API/Z/formats/character set/ASCII.h +158 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP437.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP737.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP775.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP850.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP852.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP855.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP857.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP858.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP860.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP861.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP862.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP863.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP864.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP865.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP866.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP869.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP872.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP874.h +159 -0
- data/src/external/Z/API/Z/formats/character set/Unicode.h +30119 -0
- data/src/external/Z/API/Z/formats/data model/I16LP32.h +19 -0
- data/src/external/Z/API/Z/formats/data model/ILP32.h +19 -0
- data/src/external/Z/API/Z/formats/data model/ILP64.h +19 -0
- data/src/external/Z/API/Z/formats/data model/IP16L32.h +19 -0
- data/src/external/Z/API/Z/formats/data model/LLP64.h +19 -0
- data/src/external/Z/API/Z/formats/data model/LP32.h +19 -0
- data/src/external/Z/API/Z/formats/data model/LP64.h +19 -0
- data/src/external/Z/API/Z/formats/data model/SILP64.h +19 -0
- data/src/external/Z/API/Z/formats/file system/FAT12.h +61 -0
- data/src/external/Z/API/Z/formats/floating-point/IEEE 754.h +141 -0
- data/src/external/Z/API/Z/formats/floating-point/x87.h +74 -0
- data/src/external/Z/API/Z/formats/image/ICNS.h +39 -0
- data/src/external/Z/API/Z/formats/keymap/Mac OS.h +284 -0
- data/src/external/Z/API/Z/formats/keymap/Z.h +141 -0
- data/src/external/Z/API/Z/formats/multimedia/Creative Voice.h +106 -0
- data/src/external/Z/API/Z/formats/multimedia/Microsoft Wave.h +49 -0
- data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/ACH.h +44 -0
- data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/FRZ.h +54 -0
- data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/PRG.h +33 -0
- data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/SEM.h +46 -0
- data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/SIT.h +34 -0
- data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/SNA.h +117 -0
- data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/SNP.h +37 -0
- data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/SP.h +62 -0
- data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/Z80.h +117 -0
- data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/ZX.h +56 -0
- data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/ZX82.h +70 -0
- data/src/external/Z/API/Z/formats/storage medium image/NES Game Pak/UNIF.h +26 -0
- data/src/external/Z/API/Z/formats/storage medium image/NES Game Pak/iNES.h +76 -0
- data/src/external/Z/API/Z/formats/storage medium image/audio/TAP.h +25 -0
- data/src/external/Z/API/Z/formats/storage medium image/audio/TZX.h +1185 -0
- data/src/external/Z/API/Z/formats/storage medium image/audio/Warajevo TAP.h +32 -0
- data/src/external/Z/API/Z/formats/storage medium image/floppy disk/FDI.h +45 -0
- data/src/external/Z/API/Z/functions/base/Z2D.h +583 -0
- data/src/external/Z/API/Z/functions/base/Z3D.h +712 -0
- data/src/external/Z/API/Z/functions/base/ZRange.h +137 -0
- data/src/external/Z/API/Z/functions/base/all.h +16 -0
- data/src/external/Z/API/Z/functions/base/casting.hpp +37 -0
- data/src/external/Z/API/Z/functions/base/character.h +38 -0
- data/src/external/Z/API/Z/functions/base/constructors.h +326 -0
- data/src/external/Z/API/Z/functions/base/structure.hpp +26 -0
- data/src/external/Z/API/Z/functions/base/type.hpp +60 -0
- data/src/external/Z/API/Z/functions/base/value.h +1901 -0
- data/src/external/Z/API/Z/functions/base/value.hpp +112 -0
- data/src/external/Z/API/Z/functions/buffering/ZRingBuffer.h +85 -0
- data/src/external/Z/API/Z/functions/buffering/ZTripleBuffer.h +65 -0
- data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/Z2DLine.h +179 -0
- data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/Z3DLine.h +168 -0
- data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/ZAABB.h +361 -0
- data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/ZAABR.h +1081 -0
- data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/ZBox.h +340 -0
- data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/ZCircle.h +142 -0
- data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/ZRectangle.h +1267 -0
- data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/ZSphere.h +156 -0
- data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/all.h +18 -0
- data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/constructors.h +620 -0
- data/src/external/Z/API/Z/functions/time/date.h +29 -0
- data/src/external/Z/API/Z/hardware/CPU/architecture/6502.h +90 -0
- data/src/external/Z/API/Z/hardware/CPU/architecture/Z80.h +245 -0
- data/src/external/Z/API/Z/hardware/CPU/architecture/i4004.h +37 -0
- data/src/external/Z/API/Z/hardware/PSG/General Instrument/AY-3-891x.h +180 -0
- data/src/external/Z/API/Z/hardware/VDC/Ricoh/RP2C0x.h +625 -0
- data/src/external/Z/API/Z/hardware/bus/AGP.h +24 -0
- data/src/external/Z/API/Z/hardware/bus/USB.h +510 -0
- data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/Inves Spectrum +.h +47 -0
- data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/Pentagon.h +13 -0
- data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/Scorpion.h +13 -0
- data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum + 128K.h +158 -0
- data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum +.h +82 -0
- data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum +2.h +13 -0
- data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum +2A.h +13 -0
- data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum +3.h +13 -0
- data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum.h +109 -0
- data/src/external/Z/API/Z/hardware/machine/model/console/Nintendo Entertainment System/NES-001 (NTSC).h +29 -0
- data/src/external/Z/API/Z/hardware/machine/model/console/Nintendo Entertainment System/NES-001 (PAL).h +29 -0
- data/src/external/Z/API/Z/hardware/machine/platform/computer/ZX Spectrum.h +405 -0
- data/src/external/Z/API/Z/hardware/machine/platform/console/Game Boy.h +49 -0
- data/src/external/Z/API/Z/hardware/machine/platform/console/Nintendo Entertainment System.h +350 -0
- data/src/external/Z/API/Z/hardware/storage medium/ROM cartridge/SNES Game Pak.h +238 -0
- data/src/external/Z/API/Z/inspection/C/completion.h +178 -0
- data/src/external/Z/API/Z/inspection/C/modules/C11.h +41 -0
- data/src/external/Z/API/Z/inspection/C/modules/C18.h +13 -0
- data/src/external/Z/API/Z/inspection/C/modules/C89.h +19 -0
- data/src/external/Z/API/Z/inspection/C/modules/C90.h +13 -0
- data/src/external/Z/API/Z/inspection/C/modules/C94.h +15 -0
- data/src/external/Z/API/Z/inspection/C/modules/C99.h +29 -0
- data/src/external/Z/API/Z/inspection/C/modules/KR C.h +19 -0
- data/src/external/Z/API/Z/inspection/C++/completion.h +512 -0
- data/src/external/Z/API/Z/inspection/C++/modules/C++03.h +15 -0
- data/src/external/Z/API/Z/inspection/C++/modules/C++11.h +80 -0
- data/src/external/Z/API/Z/inspection/C++/modules/C++14.h +26 -0
- data/src/external/Z/API/Z/inspection/C++/modules/C++17.h +55 -0
- data/src/external/Z/API/Z/inspection/C++/modules/C++85.h +11 -0
- data/src/external/Z/API/Z/inspection/C++/modules/C++89.h +13 -0
- data/src/external/Z/API/Z/inspection/C++/modules/C++98.h +17 -0
- data/src/external/Z/API/Z/inspection/C++.h +78 -0
- data/src/external/Z/API/Z/inspection/C.h +79 -0
- data/src/external/Z/API/Z/inspection/CPU/completion.h +56 -0
- data/src/external/Z/API/Z/inspection/CPU/detection.h +714 -0
- data/src/external/Z/API/Z/inspection/CPU/modules/6502.h +25 -0
- data/src/external/Z/API/Z/inspection/CPU/modules/AArch32.h +32 -0
- data/src/external/Z/API/Z/inspection/CPU/modules/AArch64.h +32 -0
- data/src/external/Z/API/Z/inspection/CPU/modules/Z80.h +26 -0
- data/src/external/Z/API/Z/inspection/CPU/modules/x86-32.h +31 -0
- data/src/external/Z/API/Z/inspection/CPU/modules/x86-64.h +312 -0
- data/src/external/Z/API/Z/inspection/CPU.h +209 -0
- data/src/external/Z/API/Z/inspection/OS/completion.h +36 -0
- data/src/external/Z/API/Z/inspection/OS/detection.h +768 -0
- data/src/external/Z/API/Z/inspection/OS/modules/Linux.h +22 -0
- data/src/external/Z/API/Z/inspection/OS/modules/MS-DOS.h +16 -0
- data/src/external/Z/API/Z/inspection/OS/modules/Mac OS X.h +23 -0
- data/src/external/Z/API/Z/inspection/OS/modules/Windows.h +19 -0
- data/src/external/Z/API/Z/inspection/OS/modules/iPhone OS.h +23 -0
- data/src/external/Z/API/Z/inspection/OS.h +236 -0
- data/src/external/Z/API/Z/inspection/Objective-C/completion.h +8 -0
- data/src/external/Z/API/Z/inspection/Objective-C/modules/Objective-C v1.0.h +11 -0
- data/src/external/Z/API/Z/inspection/Objective-C/modules/Objective-C v2.0.h +15 -0
- data/src/external/Z/API/Z/inspection/Objective-C.h +51 -0
- data/src/external/Z/API/Z/inspection/Z.h +19 -0
- data/src/external/Z/API/Z/inspection/build.h +22 -0
- data/src/external/Z/API/Z/inspection/character set.h +66 -0
- data/src/external/Z/API/Z/inspection/compiler/completion.h +2885 -0
- data/src/external/Z/API/Z/inspection/compiler/modules/Apple LLVM.h +26 -0
- data/src/external/Z/API/Z/inspection/compiler/modules/Clang.h +1664 -0
- data/src/external/Z/API/Z/inspection/compiler/modules/GCC.h +1366 -0
- data/src/external/Z/API/Z/inspection/compiler/modules/SCCZ80.h +473 -0
- data/src/external/Z/API/Z/inspection/compiler/modules/Visual C++.h +606 -0
- data/src/external/Z/API/Z/inspection/compiler/modules/cc65.h +529 -0
- data/src/external/Z/API/Z/inspection/compiler/modules/generic.h +13 -0
- data/src/external/Z/API/Z/inspection/compiler/modules/template.h +650 -0
- data/src/external/Z/API/Z/inspection/compiler.h +299 -0
- data/src/external/Z/API/Z/inspection/data model/completion.h +128 -0
- data/src/external/Z/API/Z/inspection/data model/deduction.h +9 -0
- data/src/external/Z/API/Z/inspection/data model/detection.h +45 -0
- data/src/external/Z/API/Z/inspection/data model.h +362 -0
- data/src/external/Z/API/Z/inspection/floating-point/completion.h +50 -0
- data/src/external/Z/API/Z/inspection/floating-point.h +324 -0
- data/src/external/Z/API/Z/inspection/language.h +163 -0
- data/src/external/Z/API/Z/inspection/platform/detection.h +9 -0
- data/src/external/Z/API/Z/inspection/platform.h +29 -0
- data/src/external/Z/API/Z/keys/C++.h +27 -0
- data/src/external/Z/API/Z/keys/C.h +29 -0
- data/src/external/Z/API/Z/keys/CPU.h +80 -0
- data/src/external/Z/API/Z/keys/OS.h +182 -0
- data/src/external/Z/API/Z/keys/Objective-C.h +17 -0
- data/src/external/Z/API/Z/keys/chemistry.h +26 -0
- data/src/external/Z/API/Z/keys/compiler.h +178 -0
- data/src/external/Z/API/Z/keys/data model.h +32 -0
- data/src/external/Z/API/Z/keys/endianness.h +24 -0
- data/src/external/Z/API/Z/keys/language.h +21 -0
- data/src/external/Z/API/Z/keys/layout.h +20 -0
- data/src/external/Z/API/Z/keys/mathematics/geometry.h +29 -0
- data/src/external/Z/API/Z/keys/mathematics/number.h +21 -0
- data/src/external/Z/API/Z/keys/order.h +18 -0
- data/src/external/Z/API/Z/keys/platform.h +87 -0
- data/src/external/Z/API/Z/keys/program.h +39 -0
- data/src/external/Z/API/Z/keys/science/chemical elements.h +200 -0
- data/src/external/Z/API/Z/keys/science/electricity.h +18 -0
- data/src/external/Z/API/Z/keys/science/magnetism.h +19 -0
- data/src/external/Z/API/Z/keys/status.h +69 -0
- data/src/external/Z/API/Z/keys/text.h +27 -0
- data/src/external/Z/API/Z/keys/value.h +88 -0
- data/src/external/Z/API/Z/macros/arguments.h +25 -0
- data/src/external/Z/API/Z/macros/casting.h +22 -0
- data/src/external/Z/API/Z/macros/character.h +159 -0
- data/src/external/Z/API/Z/macros/date.h +14 -0
- data/src/external/Z/API/Z/macros/key.h +20 -0
- data/src/external/Z/API/Z/macros/language.h +126 -0
- data/src/external/Z/API/Z/macros/language.hpp +81 -0
- data/src/external/Z/API/Z/macros/members.h +86 -0
- data/src/external/Z/API/Z/macros/pasting.h +308 -0
- data/src/external/Z/API/Z/macros/pointer.h +33 -0
- data/src/external/Z/API/Z/macros/repetition.h +283 -0
- data/src/external/Z/API/Z/macros/structure.h +104 -0
- data/src/external/Z/API/Z/macros/templating.h +407 -0
- data/src/external/Z/API/Z/macros/tokens.h +14 -0
- data/src/external/Z/API/Z/macros/type enumeration.h +43 -0
- data/src/external/Z/API/Z/macros/type selection.hpp +76 -0
- data/src/external/Z/API/Z/macros/value.h +489 -0
- data/src/external/Z/API/Z/macros/variadic pasting.h +21 -0
- data/src/external/Z/API/Z/macros/variadic selection.h +56 -0
- data/src/external/Z/API/Z/macros/variadic.h +46 -0
- data/src/external/Z/API/Z/macros/version.h +17 -0
- data/src/external/Z/API/Z/network/3/IP.h +36 -0
- data/src/external/Z/API/Z/network/4/TCP.h +24 -0
- data/src/external/Z/API/Z/network/4/UDP.h +26 -0
- data/src/external/Z/API/Z/network/7/ED2K.h +104 -0
- data/src/external/Z/API/Z/network/7/HTTP.h +100 -0
- data/src/external/Z/API/Z/traits/SelectType.hpp +71 -0
- data/src/external/Z/API/Z/traits/TernaryType.hpp +20 -0
- data/src/external/Z/API/Z/traits/Type.hpp +4516 -0
- data/src/external/Z/API/Z/traits/TypeCount.hpp +52 -0
- data/src/external/Z/API/Z/traits/TypeList.hpp +376 -0
- data/src/external/Z/API/Z/traits/base.hpp +19 -0
- data/src/external/Z/API/Z/traits/filtering.hpp +30 -0
- data/src/external/Z/API/Z/traits/mathematics.hpp +48 -0
- data/src/external/Z/API/Z/types/arguments.h +19 -0
- data/src/external/Z/API/Z/types/base.h +1655 -0
- data/src/external/Z/API/Z/types/base.hpp +169 -0
- data/src/external/Z/API/Z/types/buffering.h +27 -0
- data/src/external/Z/API/Z/types/mathematics.h +135 -0
- data/src/external/Z/API/Z/types/time.h +23 -0
- data/src/external/Z/COPYING.LESSER +165 -0
- data/src/external/Z/development/Qt Creator/Z.pro +253 -0
- data/src/external/Z/distribution/CocoaPods/Zeta.podspec +18 -0
- data/src/external/Z/distribution/Gentoo Linux/Zeta-0.1.ebuild +22 -0
- data/src/external/Z/distribution/Gentoo Linux/metadata.xml +8 -0
- data/src/external/Z/distribution/Homebrew/Zeta.rb +11 -0
- data/src/external/z80/API/emulation/CPU/Z80.h +201 -0
- data/src/external/z80/README.md +229 -0
- data/src/external/z80/building/premake4.lua +33 -0
- data/src/external/z80/development/Xcode/Z80.xcodeproj/project.pbxproj +520 -0
- data/src/external/z80/sources/Z80.c +1660 -0
- data/src/interrupt.c +6 -0
- data/src/interrupt.h +3 -0
- data/src/io.c.erb +115 -0
- data/src/io.h.erb +18 -0
- data/src/main.c +69 -0
- data/src/memory.c.erb +43 -0
- data/src/memory.h.erb +9 -0
- metadata +329 -0
@@ -0,0 +1,25 @@
|
|
1
|
+
/* Z Kit - inspection/modules/CPU/6502.h
|
2
|
+
_____ _______________
|
3
|
+
/_ /_/ -_/_ _/ _ |
|
4
|
+
/____/\___/ /__//___/_| Kit
|
5
|
+
Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
|
6
|
+
Released under the terms of the GNU Lesser General Public License v3. */
|
7
|
+
|
8
|
+
#ifndef _Z_inspection_CPU_modules_6502_H_
|
9
|
+
#define _Z_inspection_CPU_modules_6502_H_
|
10
|
+
|
11
|
+
#define Z_APPEND_CPU_ARCHITECTURE(to) to##6502
|
12
|
+
#define Z_APPEND_CPUArchitecture( to) to##6502
|
13
|
+
#define Z_APPEND_cpu_architecture(to) to##6502
|
14
|
+
#define Z_INSERT_CPU_ARCHITECTURE(left, right) left##6502##right
|
15
|
+
#define Z_INSERT_CPUArchitecture( left, right) left##6502##right
|
16
|
+
#define Z_INSERT_cpu_architecture(left, right) left##6502##right
|
17
|
+
|
18
|
+
#define Z_CPU_HAS_INTEGER_8BIT TRUE
|
19
|
+
|
20
|
+
#define Z_CPU_INTEGER_ENDIANNESS Z_ENDIANNESS_LITTLE
|
21
|
+
|
22
|
+
#define Z_CPU_BITS_TOP_INTEGER 8
|
23
|
+
#define Z_CPU_BITS_ADDRESSING 16
|
24
|
+
|
25
|
+
#endif /* _Z_inspection_CPU_modules_6502_H_ */
|
@@ -0,0 +1,32 @@
|
|
1
|
+
/* Z Kit - inspection/modules/CPU/AArch32.h
|
2
|
+
_____ _______________
|
3
|
+
/_ /_/ -_/_ _/ _ |
|
4
|
+
/____/\___/ /__//___/_| Kit
|
5
|
+
Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
|
6
|
+
Released under the terms of the GNU Lesser General Public License v3. */
|
7
|
+
|
8
|
+
#ifndef _Z_inspection_CPU_modules_AArch32_H_
|
9
|
+
#define _Z_inspection_CPU_modules_AArch32_H_
|
10
|
+
|
11
|
+
#define Z_APPEND_CPU_ARCHITECTURE(to) to##AARCH32
|
12
|
+
#define Z_APPEND_CPUArchitecture( to) to##AArch32
|
13
|
+
#define Z_APPEND_cpu_architecture(to) to##aarch32
|
14
|
+
#define Z_INSERT_CPU_ARCHITECTURE(left, right) left##AARCH32##right
|
15
|
+
#define Z_INSERT_CPUArchitecture( left, right) left##AArch32##right
|
16
|
+
#define Z_INSERT_cpu_architecture(left, right) left##aarch32##right
|
17
|
+
|
18
|
+
#define Z_CPU_HAS_MMU TRUE
|
19
|
+
#define Z_CPU_HAS_FPU TRUE
|
20
|
+
#define Z_CPU_HAS_INTEGER_8BIT TRUE
|
21
|
+
#define Z_CPU_HAS_INTEGER_16BIT TRUE
|
22
|
+
#define Z_CPU_HAS_INTEGER_32BIT TRUE
|
23
|
+
#define Z_CPU_HAS_INTEGER_64BIT TRUE
|
24
|
+
#define Z_CPU_HAS_REAL_IEEE_754_BINARY32 TRUE
|
25
|
+
#define Z_CPU_HAS_REAL_IEEE_754_BINARY64 TRUE
|
26
|
+
|
27
|
+
#define Z_CPU_INTEGER_ENDIANNESS Z_ENDIANNESS_MIXED
|
28
|
+
|
29
|
+
#define Z_CPU_BITS_TOP_INTEGER 32
|
30
|
+
#define Z_CPU_BITS_ADDRESSING 32
|
31
|
+
|
32
|
+
#endif /* _Z_inspection_CPU_modules_AArch32_H_ */
|
@@ -0,0 +1,32 @@
|
|
1
|
+
/* Z Kit - inspection/modules/CPU/AArch64.h
|
2
|
+
_____ _______________
|
3
|
+
/_ /_/ -_/_ _/ _ |
|
4
|
+
/____/\___/ /__//___/_| Kit
|
5
|
+
Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
|
6
|
+
Released under the terms of the GNU Lesser General Public License v3. */
|
7
|
+
|
8
|
+
#ifndef _Z_inspection_CPU_modules_AArch64_H_
|
9
|
+
#define _Z_inspection_CPU_modules_AArch64_H_
|
10
|
+
|
11
|
+
#define Z_APPEND_CPU_ARCHITECTURE(to) to##AARCH64
|
12
|
+
#define Z_APPEND_CPUArchitecture( to) to##AArch64
|
13
|
+
#define Z_APPEND_cpu_architecture(to) to##aarch64
|
14
|
+
#define Z_INSERT_CPU_ARCHITECTURE(left, right) left##AARCH64##right
|
15
|
+
#define Z_INSERT_CPUArchitecture( left, right) left##AArch64##right
|
16
|
+
#define Z_INSERT_cpu_architecture(left, right) left##aarch64##right
|
17
|
+
|
18
|
+
#define Z_CPU_HAS_MMU TRUE
|
19
|
+
#define Z_CPU_HAS_FPU TRUE
|
20
|
+
#define Z_CPU_HAS_INTEGER_8BIT TRUE
|
21
|
+
#define Z_CPU_HAS_INTEGER_16BIT TRUE
|
22
|
+
#define Z_CPU_HAS_INTEGER_32BIT TRUE
|
23
|
+
#define Z_CPU_HAS_INTEGER_64BIT TRUE
|
24
|
+
#define Z_CPU_HAS_REAL_IEEE_754_BINARY32 TRUE
|
25
|
+
#define Z_CPU_HAS_REAL_IEEE_754_BINARY64 TRUE
|
26
|
+
|
27
|
+
#define Z_CPU_INTEGER_ENDIANNESS Z_ENDIANNESS_MIXED
|
28
|
+
|
29
|
+
#define Z_CPU_BITS_TOP_INTEGER 64
|
30
|
+
#define Z_CPU_BITS_ADDRESSING 64
|
31
|
+
|
32
|
+
#endif /* _Z_inspection_CPU_modules_AArch64_H_ */
|
@@ -0,0 +1,26 @@
|
|
1
|
+
/* Z Kit - inspection/modules/CPU/Z80.h
|
2
|
+
_____ _______________
|
3
|
+
/_ /_/ -_/_ _/ _ |
|
4
|
+
/____/\___/ /__//___/_| Kit
|
5
|
+
Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
|
6
|
+
Released under the terms of the GNU Lesser General Public License v3. */
|
7
|
+
|
8
|
+
#ifndef _Z_inspection_CPU_modules_Z80_H_
|
9
|
+
#define _Z_inspection_CPU_modules_Z80_H_
|
10
|
+
|
11
|
+
#define Z_APPEND_CPU_ARCHITECTURE(to) to##Z80
|
12
|
+
#define Z_APPEND_CPUArchitecture( to) to##Z80
|
13
|
+
#define Z_APPEND_cpu_architecture(to) to##z80
|
14
|
+
#define Z_INSERT_CPU_ARCHITECTURE(left, right) left##Z80##right
|
15
|
+
#define Z_INSERT_CPUArchitecture( left, right) left##Z80##right
|
16
|
+
#define Z_INSERT_cpu_architecture(left, right) left##z80##right
|
17
|
+
|
18
|
+
#define Z_CPU_HAS_INTEGER_8BIT TRUE
|
19
|
+
#define Z_CPU_HAS_INTEGER_16BIT TRUE
|
20
|
+
|
21
|
+
#define Z_CPU_INTEGER_ENDIANNESS Z_ENDIANNESS_LITTLE
|
22
|
+
|
23
|
+
#define Z_CPU_BITS_TOP_INTEGER 16
|
24
|
+
#define Z_CPU_BITS_ADDRESSING 16
|
25
|
+
|
26
|
+
#endif /* _Z_inspection_CPU_modules_Z80_H_ */
|
@@ -0,0 +1,31 @@
|
|
1
|
+
/* Z Kit - inspection/modules/CPU/x86-32.h
|
2
|
+
_____ _______________
|
3
|
+
/_ /_/ -_/_ _/ _ |
|
4
|
+
/____/\___/ /__//___/_| Kit
|
5
|
+
Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
|
6
|
+
Released under the terms of the GNU Lesser General Public License v3. */
|
7
|
+
|
8
|
+
#ifndef _Z_inspection_CPU_modules_x86_32_H_
|
9
|
+
#define _Z_inspection_CPU_modules_x86_32_H_
|
10
|
+
|
11
|
+
#define Z_APPEND_CPU_ARCHITECTURE(to) to##X86_32
|
12
|
+
#define Z_APPEND_CPUArchitecture( to) to##X8632
|
13
|
+
#define Z_APPEND_cpu_architecture(to) to##x86_32
|
14
|
+
#define Z_INSERT_CPU_ARCHITECTURE(left, right) left##X86_32##right
|
15
|
+
#define Z_INSERT_CPUArchitecture( left, right) left##X8632##right
|
16
|
+
#define Z_INSERT_cpu_architecture(left, right) left##x86_32##right
|
17
|
+
|
18
|
+
#define Z_CPU_HAS_MMU TRUE
|
19
|
+
#define Z_CPU_HAS_FPU TRUE
|
20
|
+
#define Z_CPU_HAS_INTEGER_8BIT TRUE
|
21
|
+
#define Z_CPU_HAS_INTEGER_16BIT TRUE
|
22
|
+
#define Z_CPU_HAS_INTEGER_32BIT TRUE
|
23
|
+
#define Z_CPU_HAS_REAL_IEEE_754_BINARY32 TRUE
|
24
|
+
#define Z_CPU_HAS_REAL_IEEE_754_BINARY64 TRUE
|
25
|
+
|
26
|
+
#define Z_CPU_INTEGER_ENDIANNESS Z_ENDIANNESS_LITTLE
|
27
|
+
|
28
|
+
#define Z_CPU_BITS_TOP_INTEGER 32
|
29
|
+
#define Z_CPU_BITS_ADDRESSING 32
|
30
|
+
|
31
|
+
#endif /* _Z_inspection_CPU_modules_x86_32_H_ */
|
@@ -0,0 +1,312 @@
|
|
1
|
+
/* Z Kit - inspection/modules/CPU/x86-64.h
|
2
|
+
_____ _______________
|
3
|
+
/_ /_/ -_/_ _/ _ |
|
4
|
+
/____/\___/ /__//___/_| Kit
|
5
|
+
Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
|
6
|
+
Released under the terms of the GNU Lesser General Public License v3. */
|
7
|
+
|
8
|
+
#ifndef _Z_inspection_CPU_modules_x86_64_H_
|
9
|
+
#define _Z_inspection_CPU_modules_x86_64_H_
|
10
|
+
|
11
|
+
#define Z_APPEND_CPU_ARCHITECTURE(to) to##X86_64
|
12
|
+
#define Z_APPEND_CPUArchitecture( to) to##X8664
|
13
|
+
#define Z_APPEND_cpu_architecture(to) to##x86_64
|
14
|
+
#define Z_INSERT_CPU_ARCHITECTURE(left, right) left##X86_64##right
|
15
|
+
#define Z_INSERT_CPUArchitecture( left, right) left##X8664##right
|
16
|
+
#define Z_INSERT_cpu_architecture(left, right) left##x86_64##right
|
17
|
+
|
18
|
+
#define Z_CPU_HAS_MMU TRUE
|
19
|
+
#define Z_CPU_HAS_FPU TRUE
|
20
|
+
#define Z_CPU_HAS_INTEGER_8BIT TRUE
|
21
|
+
#define Z_CPU_HAS_INTEGER_16BIT TRUE
|
22
|
+
#define Z_CPU_HAS_INTEGER_32BIT TRUE
|
23
|
+
#define Z_CPU_HAS_INTEGER_64BIT TRUE
|
24
|
+
#define Z_CPU_HAS_REAL_IEEE_754_BINARY32 TRUE
|
25
|
+
#define Z_CPU_HAS_REAL_IEEE_754_BINARY64 TRUE
|
26
|
+
|
27
|
+
#define Z_CPU_INTEGER_ENDIANNESS Z_ENDIANNESS_LITTLE
|
28
|
+
|
29
|
+
#define Z_CPU_BITS_TOP_INTEGER 64
|
30
|
+
#define Z_CPU_BITS_ADDRESSING 64
|
31
|
+
|
32
|
+
|
33
|
+
/*#if defined(__3dNOW__)
|
34
|
+
|
35
|
+
# define Z_CPU_HAS_ISA_3D_NOW TRUE
|
36
|
+
#else
|
37
|
+
# define Z_CPU_HAS_ISA_3D_NOW FALSE
|
38
|
+
#endif
|
39
|
+
|
40
|
+
#if defined()
|
41
|
+
|
42
|
+
# define Z_CPU_HAS_ISA_3D_NOW_PLUS TRUE
|
43
|
+
#else
|
44
|
+
# define Z_CPU_HAS_ISA_3D_NOW_PLUS FALSE
|
45
|
+
#endif
|
46
|
+
|
47
|
+
#if defined()
|
48
|
+
|
49
|
+
# define Z_CPU_HAS_ISA_8086_8088 TRUE
|
50
|
+
#else
|
51
|
+
# define Z_CPU_HAS_ISA_8086_8088 FALSE
|
52
|
+
#endif
|
53
|
+
|
54
|
+
#if defined()
|
55
|
+
|
56
|
+
# define Z_CPU_HAS_ISA_8087 TRUE
|
57
|
+
#else
|
58
|
+
# define Z_CPU_HAS_ISA_8087 FALSE
|
59
|
+
#endif
|
60
|
+
|
61
|
+
#if defined()
|
62
|
+
|
63
|
+
# define Z_CPU_HAS_ISA_80186_80188 TRUE
|
64
|
+
#else
|
65
|
+
# define Z_CPU_HAS_ISA_80186_80188 FALSE
|
66
|
+
#endif
|
67
|
+
|
68
|
+
#if defined()
|
69
|
+
|
70
|
+
# define Z_CPU_HAS_ISA_80286 TRUE
|
71
|
+
#else
|
72
|
+
# define Z_CPU_HAS_ISA_80286 FALSE
|
73
|
+
#endif
|
74
|
+
|
75
|
+
#if defined()
|
76
|
+
|
77
|
+
# define Z_CPU_HAS_ISA_80287 TRUE
|
78
|
+
#else
|
79
|
+
# define Z_CPU_HAS_ISA_80287 FALSE
|
80
|
+
#endif
|
81
|
+
|
82
|
+
#if defined()
|
83
|
+
|
84
|
+
# define Z_CPU_HAS_ISA_80386 TRUE
|
85
|
+
#else
|
86
|
+
# define Z_CPU_HAS_ISA_80386 FALSE
|
87
|
+
#endif
|
88
|
+
|
89
|
+
#if defined()
|
90
|
+
|
91
|
+
# define Z_CPU_HAS_ISA_80387 TRUE
|
92
|
+
#else
|
93
|
+
# define Z_CPU_HAS_ISA_80387 FALSE
|
94
|
+
#endif
|
95
|
+
|
96
|
+
#if defined(__i486 ) || \
|
97
|
+
defined(__i486__)
|
98
|
+
|
99
|
+
# define Z_CPU_HAS_ISA_80486 TRUE
|
100
|
+
#else
|
101
|
+
# define Z_CPU_HAS_ISA_80486 FALSE
|
102
|
+
#endif
|
103
|
+
|
104
|
+
#if defined(__AES__)
|
105
|
+
|
106
|
+
# define Z_CPU_HAS_ISA_AES TRUE
|
107
|
+
#else
|
108
|
+
# define Z_CPU_HAS_ISA_AES FALSE
|
109
|
+
#endif
|
110
|
+
|
111
|
+
#if defined()
|
112
|
+
|
113
|
+
# define Z_CPU_HAS_ISA_AMD TRUE
|
114
|
+
#else
|
115
|
+
# define Z_CPU_HAS_ISA_AMD FALSE
|
116
|
+
#endif
|
117
|
+
|
118
|
+
#if defined()
|
119
|
+
|
120
|
+
# define Z_CPU_HAS_ISA_AMD_V TRUE
|
121
|
+
#else
|
122
|
+
# define Z_CPU_HAS_ISA_AMD_V FALSE
|
123
|
+
#endif
|
124
|
+
|
125
|
+
#if defined(__AVX__)
|
126
|
+
|
127
|
+
# define Z_CPU_HAS_ISA_AVX TRUE
|
128
|
+
#else
|
129
|
+
# define Z_CPU_HAS_ISA_AVX FALSE
|
130
|
+
#endif
|
131
|
+
|
132
|
+
#if defined()
|
133
|
+
|
134
|
+
# define Z_CPU_HAS_ISA_CLMUL TRUE
|
135
|
+
#else
|
136
|
+
# define Z_CPU_HAS_ISA_CLMUL FALSE
|
137
|
+
#endif
|
138
|
+
|
139
|
+
#if defined()
|
140
|
+
|
141
|
+
# define Z_CPU_HAS_ISA_CYRIX TRUE
|
142
|
+
#else
|
143
|
+
# define Z_CPU_HAS_ISA_CYRIX FALSE
|
144
|
+
#endif
|
145
|
+
|
146
|
+
#if defined()
|
147
|
+
|
148
|
+
# define Z_CPU_HAS_ISA_EMMI TRUE
|
149
|
+
#else
|
150
|
+
# define Z_CPU_HAS_ISA_EMMI FALSE
|
151
|
+
#endif
|
152
|
+
|
153
|
+
#if defined()
|
154
|
+
|
155
|
+
# define Z_CPU_HAS_ISA_EMMX TRUE
|
156
|
+
#else
|
157
|
+
# define Z_CPU_HAS_ISA_EMMX FALSE
|
158
|
+
#endif
|
159
|
+
|
160
|
+
#if defined()
|
161
|
+
|
162
|
+
# define Z_CPU_HAS_ISA_FMA3 TRUE
|
163
|
+
#else
|
164
|
+
# define Z_CPU_HAS_ISA_FMA3 FALSE
|
165
|
+
#endif
|
166
|
+
|
167
|
+
#if defined()
|
168
|
+
|
169
|
+
# define Z_CPU_HAS_ISA_FMA4 TRUE
|
170
|
+
#else
|
171
|
+
# define Z_CPU_HAS_ISA_FMA4 FALSE
|
172
|
+
#endif
|
173
|
+
|
174
|
+
#if defined()
|
175
|
+
|
176
|
+
# define Z_CPU_HAS_ISA_GEODE_GX TRUE
|
177
|
+
#else
|
178
|
+
# define Z_CPU_HAS_ISA_GEODE_GX FALSE
|
179
|
+
#endif
|
180
|
+
|
181
|
+
#if defined()
|
182
|
+
|
183
|
+
# define Z_CPU_HAS_ISA_MMX_PLUS TRUE
|
184
|
+
#else
|
185
|
+
# define Z_CPU_HAS_ISA_MMX_PLUS FALSE
|
186
|
+
#endif
|
187
|
+
|
188
|
+
#if defined()
|
189
|
+
|
190
|
+
# define Z_CPU_HAS_ISA_PAD_LOCK TRUE
|
191
|
+
#else
|
192
|
+
# define Z_CPU_HAS_ISA_PAD_LOCK FALSE
|
193
|
+
#endif
|
194
|
+
|
195
|
+
#if defined(__i586) || \
|
196
|
+
defined(__i586__) || \
|
197
|
+
defined(__pentium) || \
|
198
|
+
defined(__pentium__)
|
199
|
+
|
200
|
+
# define Z_CPU_HAS_ISA_PENTIUM TRUE
|
201
|
+
#else
|
202
|
+
# define Z_CPU_HAS_ISA_PENTIUM FALSE
|
203
|
+
#endif
|
204
|
+
|
205
|
+
#if defined()
|
206
|
+
|
207
|
+
# define Z_CPU_HAS_ISA_PENTIUM_MMX TRUE
|
208
|
+
#else
|
209
|
+
# define Z_CPU_HAS_ISA_PENTIUM_MMX FALSE
|
210
|
+
#endif
|
211
|
+
|
212
|
+
#if defined()
|
213
|
+
|
214
|
+
# define Z_CPU_HAS_ISA_K6_2 TRUE
|
215
|
+
#else
|
216
|
+
# define Z_CPU_HAS_ISA_K6_2 FALSE
|
217
|
+
#endif
|
218
|
+
|
219
|
+
#if defined(__i686) || \
|
220
|
+
defined(__i686__) || \
|
221
|
+
defined(__pentiumpro) || \
|
222
|
+
defined(__pentiumpro__) || \
|
223
|
+
|
224
|
+
# define Z_CPU_HAS_ISA_PENTIUM_PRO TRUE
|
225
|
+
#else
|
226
|
+
# define Z_CPU_HAS_ISA_PENTIUM_PRO FALSE
|
227
|
+
#endif
|
228
|
+
|
229
|
+
#if defined(__SSE__)
|
230
|
+
|
231
|
+
# define Z_CPU_HAS_ISA_SSE TRUE
|
232
|
+
#else
|
233
|
+
# define Z_CPU_HAS_ISA_SSE FALSE
|
234
|
+
#endif
|
235
|
+
|
236
|
+
#if defined(__SSE2__)
|
237
|
+
|
238
|
+
# define Z_CPU_HAS_ISA_SSE2 TRUE
|
239
|
+
#else
|
240
|
+
# define Z_CPU_HAS_ISA_SSE2 FALSE
|
241
|
+
#endif
|
242
|
+
|
243
|
+
#if defined(__SSE3__)
|
244
|
+
|
245
|
+
# define Z_CPU_HAS_ISA_SSE3 TRUE
|
246
|
+
#else
|
247
|
+
# define Z_CPU_HAS_ISA_SSE3 FALSE
|
248
|
+
#endif
|
249
|
+
|
250
|
+
#if defined(__SSSE3__)
|
251
|
+
|
252
|
+
# define Z_CPU_HAS_ISA_SSSE3 TRUE
|
253
|
+
#else
|
254
|
+
# define Z_CPU_HAS_ISA_SSSE3 FALSE
|
255
|
+
#endif
|
256
|
+
|
257
|
+
#if defined(__SSE4_1__)
|
258
|
+
|
259
|
+
# define Z_CPU_HAS_ISA_SSE4_1 TRUE
|
260
|
+
#else
|
261
|
+
# define Z_CPU_HAS_ISA_SSE4_1 FALSE
|
262
|
+
#endif
|
263
|
+
|
264
|
+
#if defined(__SSE4_2__)
|
265
|
+
|
266
|
+
# define Z_CPU_HAS_ISA_SSE4_2 TRUE
|
267
|
+
#else
|
268
|
+
# define Z_CPU_HAS_ISA_SSE4_2 FALSE
|
269
|
+
#endif
|
270
|
+
|
271
|
+
#if defined(__SSE4A__)
|
272
|
+
|
273
|
+
# define Z_CPU_HAS_ISA_SSE4A TRUE
|
274
|
+
#else
|
275
|
+
# define Z_CPU_HAS_ISA_SSE4A FALSE
|
276
|
+
#endif
|
277
|
+
|
278
|
+
#if defined()
|
279
|
+
|
280
|
+
# define Z_CPU_HAS_ISA_SSE5 TRUE
|
281
|
+
#else
|
282
|
+
# define Z_CPU_HAS_ISA_SSE5 FALSE
|
283
|
+
#endif
|
284
|
+
|
285
|
+
#if defined()
|
286
|
+
|
287
|
+
# define Z_CPU_HAS_ISA_SSM TRUE
|
288
|
+
#else
|
289
|
+
# define Z_CPU_HAS_ISA_SSM FALSE
|
290
|
+
#endif
|
291
|
+
|
292
|
+
#if defined()
|
293
|
+
|
294
|
+
# define Z_CPU_HAS_ISA_SVM TRUE
|
295
|
+
#else
|
296
|
+
# define Z_CPU_HAS_ISA_SVM FALSE
|
297
|
+
#endif
|
298
|
+
|
299
|
+
#if defined()
|
300
|
+
|
301
|
+
# define Z_CPU_HAS_ISA_VT_X TRUE
|
302
|
+
#else
|
303
|
+
# define Z_CPU_HAS_ISA_VT_X FALSE
|
304
|
+
#endif
|
305
|
+
|
306
|
+
#ifndef Z_CPU_HAS_ISA_X86_64
|
307
|
+
# define Z_CPU_HAS_ISA_X86_64 TRUE
|
308
|
+
#else
|
309
|
+
# define Z_CPU_HAS_ISA_X86_64 FALSE
|
310
|
+
#endif*/
|
311
|
+
|
312
|
+
#endif /* _Z_inspection_CPU_modules_x86_64_H_ */
|
@@ -0,0 +1,209 @@
|
|
1
|
+
/* Z Kit - inspection/CPU.h
|
2
|
+
_____ _______________
|
3
|
+
/_ /_/ -_/_ _/ _ |
|
4
|
+
/____/\___/ /__//___/_| Kit
|
5
|
+
Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
|
6
|
+
Released under the terms of the GNU Lesser General Public License v3. */
|
7
|
+
|
8
|
+
#ifndef _Z_inspection_CPU_H_
|
9
|
+
#define _Z_inspection_CPU_H_
|
10
|
+
|
11
|
+
#include <Z/keys/CPU.h>
|
12
|
+
#include <Z/keys/endianness.h>
|
13
|
+
#include <Z/keys/value.h>
|
14
|
+
#include <Z/inspection/compiler.h>
|
15
|
+
|
16
|
+
#ifndef Z_CPU_ARCHITECTURE /* UDC */
|
17
|
+
# ifdef Z_COMPILER_CPU_ARCHITECTURE
|
18
|
+
# define Z_CPU_ARCHITECTURE Z_COMPILER_CPU_ARCHITECTURE
|
19
|
+
# else
|
20
|
+
# include <Z/inspection/CPU/detection.h>
|
21
|
+
# endif
|
22
|
+
#endif
|
23
|
+
|
24
|
+
#if !defined(Z_CPU_ARCHITECTURE)
|
25
|
+
# error "CPU architecture not defined."
|
26
|
+
|
27
|
+
#elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_6502
|
28
|
+
# include <Z/inspection/CPU/modules/6502.h>
|
29
|
+
|
30
|
+
#elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_AARCH32
|
31
|
+
# include <Z/inspection/CPU/modules/AArch32.h>
|
32
|
+
|
33
|
+
#elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_AARCH64
|
34
|
+
# include <Z/inspection/CPU/modules/AArch64.h>
|
35
|
+
|
36
|
+
#elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_ALPHA
|
37
|
+
# include <Z/inspection/CPU/modules/Alpha.h>
|
38
|
+
|
39
|
+
#elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_BLACKFIN
|
40
|
+
# include <Z/inspection/CPU/modules/Blackfin.h>
|
41
|
+
|
42
|
+
#elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_CONVEX
|
43
|
+
# include <Z/inspection/CPU/modules/Convex.h>
|
44
|
+
|
45
|
+
#elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_EPIPHANY
|
46
|
+
# include <Z/inspection/CPU/modules/Epiphany.h>
|
47
|
+
|
48
|
+
#elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_ESA_370
|
49
|
+
# include <Z/inspection/CPU/modules/ESA-370.h>
|
50
|
+
|
51
|
+
#elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_ESA_390
|
52
|
+
# include <Z/inspection/CPU/modules/ESA-390.h>
|
53
|
+
|
54
|
+
#elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_HEXAGON
|
55
|
+
# include <Z/inspection/CPU/modules/Hexagon.h>
|
56
|
+
|
57
|
+
#elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_ITANIUM
|
58
|
+
# include <Z/inspection/CPU/modules/Itanium.h>
|
59
|
+
|
60
|
+
#elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_LANAI
|
61
|
+
# include <Z/inspection/CPU/modules/Lanai.h>
|
62
|
+
|
63
|
+
#elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_M68K
|
64
|
+
# include <Z/inspection/CPU/modules/M68K.h>
|
65
|
+
|
66
|
+
#elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_MIPS
|
67
|
+
# include <Z/inspection/CPU/modules/MIPS.h>
|
68
|
+
|
69
|
+
#elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_MIPS64
|
70
|
+
# include <Z/inspection/CPU/modules/MIPS64.h>
|
71
|
+
|
72
|
+
#elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_MSP430
|
73
|
+
# include <Z/inspection/CPU/modules/MSP430.h>
|
74
|
+
|
75
|
+
#elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_PA_RISC
|
76
|
+
# include <Z/inspection/CPU/modules/PA-RISC.h>
|
77
|
+
|
78
|
+
#elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_PA_RISC_2
|
79
|
+
# include <Z/inspection/CPU/modules/PA-RISC 2.0.h>
|
80
|
+
|
81
|
+
#elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_POWERPC_32BIT
|
82
|
+
# include <Z/inspection/CPU/modules/PowerPC 32-bit.h>
|
83
|
+
|
84
|
+
#elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_POWERPC_64BIT
|
85
|
+
# include <Z/inspection/CPU/modules/PowerPC 64-bit.h>
|
86
|
+
|
87
|
+
#elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_RV32E
|
88
|
+
# include <Z/inspection/CPU/modules/RV32E.h>
|
89
|
+
|
90
|
+
#elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_RV32I
|
91
|
+
# include <Z/inspection/CPU/modules/RV32I.h>
|
92
|
+
|
93
|
+
#elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_RV64I
|
94
|
+
# include <Z/inspection/CPU/modules/RV64I.h>
|
95
|
+
|
96
|
+
#elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_RV128I
|
97
|
+
# include <Z/inspection/CPU/modules/RV128I.h>
|
98
|
+
|
99
|
+
#elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_SPARC
|
100
|
+
# include <Z/inspection/CPU/modules/SPARC.h>
|
101
|
+
|
102
|
+
#elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_SPARC_V9
|
103
|
+
# include <Z/inspection/CPU/modules/SPARC V9.h>
|
104
|
+
|
105
|
+
#elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_SUPERH
|
106
|
+
# include <Z/inspection/CPU/modules/SuperH.h>
|
107
|
+
|
108
|
+
#elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_SUPERH_5
|
109
|
+
# include <Z/inspection/CPU/modules/SuperH 5.h>
|
110
|
+
|
111
|
+
#elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_X86_16
|
112
|
+
# include <Z/inspection/CPU/modules/x86-16.h>
|
113
|
+
|
114
|
+
#elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_X86_32
|
115
|
+
# include <Z/inspection/CPU/modules/x86-32.h>
|
116
|
+
|
117
|
+
#elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_X86_64
|
118
|
+
# include <Z/inspection/CPU/modules/x86-64.h>
|
119
|
+
|
120
|
+
#elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_Z_ARCHITECTURE
|
121
|
+
# include <Z/inspection/CPU/modules/z-Architecture.h>
|
122
|
+
|
123
|
+
#elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_Z80
|
124
|
+
# include <Z/inspection/CPU/modules/Z80.h>
|
125
|
+
|
126
|
+
#else
|
127
|
+
# error "CPU architecture not supported."
|
128
|
+
|
129
|
+
#endif
|
130
|
+
|
131
|
+
#include <Z/inspection/CPU/completion.h>
|
132
|
+
|
133
|
+
#if Z_CPU_INTEGER_ENDIANNESS != Z_ENDIANNESS_MIXED
|
134
|
+
|
135
|
+
# define Z_CPU_INTEGER_ENDIANNESS_16BIT Z_CPU_INTEGER_ENDIANNESS
|
136
|
+
# define Z_CPU_INTEGER_ENDIANNESS_32BIT Z_CPU_INTEGER_ENDIANNESS
|
137
|
+
# define Z_CPU_INTEGER_ENDIANNESS_64BIT Z_CPU_INTEGER_ENDIANNESS
|
138
|
+
# define Z_CPU_INTEGER_ENDIANNESS_128BIT Z_CPU_INTEGER_ENDIANNESS
|
139
|
+
|
140
|
+
#else
|
141
|
+
|
142
|
+
# if defined(Z_CPU_INTEGER_ENDIANNESS_16BIT) && Z_CPU_INTEGER_ENDIANNESS_16BIT == Z_ENDIANNESS_MIXED
|
143
|
+
# undef Z_CPU_INTEGER_ENDIANNESS_16BIT
|
144
|
+
# endif
|
145
|
+
|
146
|
+
# if !defined(Z_CPU_INTEGER_ENDIANNESS_16BIT) && defined(Z_COMPILER_CPU_INTEGER_ENDIANNESS_16BIT)
|
147
|
+
# define Z_CPU_INTEGER_ENDIANNESS_16BIT Z_COMPILER_CPU_INTEGER_ENDIANNESS_16BIT
|
148
|
+
# endif
|
149
|
+
|
150
|
+
# if defined(Z_CPU_INTEGER_ENDIANNESS_32BIT) && Z_CPU_INTEGER_ENDIANNESS_32BIT == Z_ENDIANNESS_MIXED
|
151
|
+
# undef Z_CPU_INTEGER_ENDIANNESS_32BIT
|
152
|
+
# endif
|
153
|
+
|
154
|
+
# if !defined(Z_CPU_INTEGER_ENDIANNESS_32BIT) && defined(Z_COMPILER_CPU_INTEGER_ENDIANNESS_32BIT)
|
155
|
+
# define Z_CPU_INTEGER_ENDIANNESS_32BIT Z_COMPILER_CPU_INTEGER_ENDIANNESS_32BIT
|
156
|
+
# endif
|
157
|
+
|
158
|
+
# if defined(Z_CPU_INTEGER_ENDIANNESS_64BIT) && Z_CPU_INTEGER_ENDIANNESS_64BIT == Z_ENDIANNESS_MIXED
|
159
|
+
# undef Z_CPU_INTEGER_ENDIANNESS_64BIT
|
160
|
+
# endif
|
161
|
+
|
162
|
+
# if !defined(Z_CPU_INTEGER_ENDIANNESS_64BIT) && defined(Z_COMPILER_CPU_INTEGER_ENDIANNESS_64BIT)
|
163
|
+
# define Z_CPU_INTEGER_ENDIANNESS_64BIT Z_COMPILER_CPU_INTEGER_ENDIANNESS_64BIT
|
164
|
+
# endif
|
165
|
+
|
166
|
+
# if defined(Z_CPU_INTEGER_ENDIANNESS_128BIT) && Z_CPU_INTEGER_ENDIANNESS_128BIT == Z_ENDIANNESS_MIXED
|
167
|
+
# undef Z_CPU_INTEGER_ENDIANNESS_128BIT
|
168
|
+
# endif
|
169
|
+
|
170
|
+
# if !defined(Z_CPU_INTEGER_ENDIANNESS_128BIT) && defined(Z_COMPILER_CPU_INTEGER_ENDIANNESS_128BIT)
|
171
|
+
# define Z_CPU_INTEGER_ENDIANNESS_128BIT Z_COMPILER_CPU_INTEGER_ENDIANNESS_128BIT
|
172
|
+
# endif
|
173
|
+
|
174
|
+
#endif
|
175
|
+
|
176
|
+
#ifdef Z_CPU_INTEGER_FORMAT
|
177
|
+
|
178
|
+
# if Z_CPU_INTEGER_FORMAT == Z_INTEGER_FORMAT_2S_COMPLEMENT
|
179
|
+
|
180
|
+
# define Z_CPU_INTEGER_FORMAT_8BIT Z_VALUE_FORMAT_8BIT_2S_COMPLEMENT_INTEGER
|
181
|
+
# define Z_CPU_INTEGER_FORMAT_16BIT Z_VALUE_FORMAT_16BIT_2S_COMPLEMENT_INTEGER
|
182
|
+
# define Z_CPU_INTEGER_FORMAT_32BIT Z_VALUE_FORMAT_32BIT_2S_COMPLEMENT_INTEGER
|
183
|
+
# define Z_CPU_INTEGER_FORMAT_64BIT Z_VALUE_FORMAT_64BIT_2S_COMPLEMENT_INTEGER
|
184
|
+
# define Z_CPU_INTEGER_FORMAT_128BIT Z_VALUE_FORMAT_128BIT_2S_COMPLEMENT_INTEGER
|
185
|
+
|
186
|
+
# elif Z_CPU_INTEGER_FORMAT == Z_INTEGER_FORMAT_1S_COMPLEMENT
|
187
|
+
|
188
|
+
# define Z_CPU_INTEGER_FORMAT_8BIT Z_VALUE_FORMAT_8BIT_1S_COMPLEMENT_INTEGER
|
189
|
+
# define Z_CPU_INTEGER_FORMAT_16BIT Z_VALUE_FORMAT_16BIT_1S_COMPLEMENT_INTEGER
|
190
|
+
# define Z_CPU_INTEGER_FORMAT_32BIT Z_VALUE_FORMAT_32BIT_1S_COMPLEMENT_INTEGER
|
191
|
+
# define Z_CPU_INTEGER_FORMAT_64BIT Z_VALUE_FORMAT_64BIT_1S_COMPLEMENT_INTEGER
|
192
|
+
# define Z_CPU_INTEGER_FORMAT_128BIT Z_VALUE_FORMAT_128BIT_1S_COMPLEMENT_INTEGER
|
193
|
+
|
194
|
+
# endif
|
195
|
+
|
196
|
+
#endif
|
197
|
+
|
198
|
+
#define Z_CPU_ARCHITECTURE_STRING Z_APPEND_CPU_ARCHITECTURE(Z_CPU_ARCHITECTURE_STRING_)
|
199
|
+
|
200
|
+
#define Z_CPU_HAS( WHAT ) Z_CPU_HAS_##WHAT
|
201
|
+
#define Z_CPU_HAS_ISA( WHICH ) Z_CPU_HAS_ISA_##WHICH
|
202
|
+
#define Z_CPU_HAS_INTEGER(bits ) Z_CPU_HAS_INTEGER_##bits##BIT
|
203
|
+
#define Z_CPU_HAS_REAL( FORMAT) Z_CPY_HAS_REAL_##FORMAT
|
204
|
+
#define Z_CPU_BITS( WHAT ) Z_CPU_BITS_##WHAT
|
205
|
+
|
206
|
+
#define Z_CPU_ENDIANNESS(TYPE, bits) Z_CPU_##TYPE##_ENDIANNESS_##bits##BIT
|
207
|
+
#define Z_CPU_FORMAT( TYPE, bits) Z_CPU_##TYPE##_FORMAT_##bits##BIT
|
208
|
+
|
209
|
+
#endif /* _Z_inspection_CPU_H_ */
|
@@ -0,0 +1,36 @@
|
|
1
|
+
/* Z Kit - inspection/OS/completion.h
|
2
|
+
_____ _______________
|
3
|
+
/_ /_/ -_/_ _/ _ |
|
4
|
+
/____/\___/ /__//___/_| Kit
|
5
|
+
Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
|
6
|
+
Released under the terms of the GNU Lesser General Public License v3. */
|
7
|
+
|
8
|
+
#ifndef Z_OS_HAS_NETWORKING
|
9
|
+
# define Z_OS_HAS_NETWORKING FALSE
|
10
|
+
#endif
|
11
|
+
|
12
|
+
#ifndef Z_OS_HAS_POSIX_THREADING
|
13
|
+
# define Z_OS_HAS_POSIX_THREADING FALSE
|
14
|
+
#endif
|
15
|
+
|
16
|
+
#ifndef Z_OS_HAS_TLS
|
17
|
+
# define Z_OS_HAS_TLS FALSE
|
18
|
+
#endif
|
19
|
+
|
20
|
+
#ifndef Z_OS_IS_POSIX
|
21
|
+
# define Z_OS_IS_POSIX FALSE
|
22
|
+
#endif
|
23
|
+
|
24
|
+
#ifndef Z_OS_IS_POSIX_LIKE
|
25
|
+
# define Z_OS_IS_POSIX_LIKE FALSE
|
26
|
+
#endif
|
27
|
+
|
28
|
+
#ifndef Z_OS_IS_UNIX
|
29
|
+
# define Z_OS_IS_UNIX FALSE
|
30
|
+
#endif
|
31
|
+
|
32
|
+
#ifndef Z_OS_IS_UNIX_LIKE
|
33
|
+
# define Z_OS_IS_UNIX_LIKE FALSE
|
34
|
+
#endif
|
35
|
+
|
36
|
+
/* inspection/OS/completion.h EOF */
|