mirror of
https://github.com/vortexgpgpu/vortex.git
synced 2025-04-23 21:39:10 -04:00
Merge branch 'staging' of https://github.com/vortexgpgpu/vortex
This commit is contained in:
commit
2fd93e1d89
333 changed files with 15008 additions and 32483 deletions
10
.travis.yml
10
.travis.yml
|
@ -19,8 +19,6 @@ install:
|
|||
- export PATH=$VERILATOR_ROOT/bin:$PATH
|
||||
# Install toolchain
|
||||
- ci/toolchain_install.sh -all
|
||||
# build project
|
||||
- make -s
|
||||
|
||||
# stages ordering
|
||||
stages:
|
||||
|
@ -30,7 +28,13 @@ jobs:
|
|||
include:
|
||||
- stage: test
|
||||
name: coverage
|
||||
script: cp -r $PWD ../build_coverage && cd ../build_coverage && ./ci/travis_run.py ./ci/regression.sh -coverage
|
||||
script: cp -r $PWD ../build_coverage && cd ../build_coverage && ./ci/travis_run.py ./ci/regression.sh -coverage
|
||||
- stage: test
|
||||
name: coverage64
|
||||
script: cp -r $PWD ../build_coverage64 && cd ../build_coverage64 && ./ci/travis_run.py ./ci/regression64.sh -coverage
|
||||
- stage: test
|
||||
name: tex
|
||||
script: cp -r $PWD ../build_tex && cd ../build_tex && ./ci/travis_run.py ./ci/regression.sh -tex
|
||||
- stage: test
|
||||
name: cluster
|
||||
script: cp -r $PWD ../build_cluster && cd ../build_cluster && ./ci/travis_run.py ./ci/regression.sh -cluster
|
||||
|
|
36
ci/regression64.sh
Executable file
36
ci/regression64.sh
Executable file
|
@ -0,0 +1,36 @@
|
|||
#!/bin/bash
|
||||
|
||||
# exit when any command fails
|
||||
set -e
|
||||
|
||||
# ensure build
|
||||
XLEN=64 make -s
|
||||
|
||||
coverage()
|
||||
{
|
||||
echo "begin coverage tests..."
|
||||
|
||||
make -C tests/riscv/isa run-simx-64
|
||||
|
||||
echo "coverage tests done!"
|
||||
}
|
||||
|
||||
usage()
|
||||
{
|
||||
echo "usage: regression [-coverage] [-all] [-h|--help]"
|
||||
}
|
||||
|
||||
while [ "$1" != "" ]; do
|
||||
case $1 in
|
||||
-coverage ) coverage
|
||||
;;
|
||||
-all ) coverage
|
||||
;;
|
||||
-h | --help ) usage
|
||||
exit
|
||||
;;
|
||||
* ) usage
|
||||
exit 1
|
||||
esac
|
||||
shift
|
||||
done
|
|
@ -20,6 +20,19 @@ riscv()
|
|||
rm -rf riscv-gnu-toolchain
|
||||
}
|
||||
|
||||
riscv64()
|
||||
{
|
||||
for x in {a..j}
|
||||
do
|
||||
wget $REPOSITORY/riscv64-gnu-toolchain/ubuntu/bionic/riscv64-gnu-toolchain.tar.bz2.parta$x
|
||||
done
|
||||
cat riscv64-gnu-toolchain.tar.bz2.parta* > riscv64-gnu-toolchain.tar.bz2
|
||||
tar -xvf riscv64-gnu-toolchain.tar.bz2
|
||||
rm -f riscv64-gnu-toolchain.tar.bz2*
|
||||
cp -r riscv64-gnu-toolchain $DESTDIR
|
||||
rm -rf riscv64-gnu-toolchain
|
||||
}
|
||||
|
||||
llvm()
|
||||
{
|
||||
for x in {a..b}
|
||||
|
@ -53,7 +66,7 @@ verilator()
|
|||
|
||||
usage()
|
||||
{
|
||||
echo "usage: toolchain_install [[-riscv] [-llvm] [-pocl] [-verilator] [-all] [-h|--help]]"
|
||||
echo "usage: toolchain_install [[-riscv] [-riscv64] [-llvm] [-pocl] [-verilator] [-all] [-h|--help]]"
|
||||
}
|
||||
|
||||
while [ "$1" != "" ]; do
|
||||
|
@ -64,6 +77,8 @@ while [ "$1" != "" ]; do
|
|||
;;
|
||||
-riscv ) riscv
|
||||
;;
|
||||
-riscv64 ) riscv64
|
||||
;;
|
||||
-llvm ) llvm
|
||||
;;
|
||||
-all ) riscv
|
||||
|
|
|
@ -64,7 +64,7 @@ private:
|
|||
class vx_device {
|
||||
public:
|
||||
vx_device()
|
||||
: arch_("rv32i", NUM_CORES * NUM_CLUSTERS, NUM_WARPS, NUM_THREADS)
|
||||
: arch_(NUM_CORES * NUM_CLUSTERS, NUM_WARPS, NUM_THREADS)
|
||||
, ram_(RAM_PAGE_SIZE)
|
||||
, processor_(arch_)
|
||||
, mem_allocator_(
|
||||
|
|
|
@ -41,131 +41,131 @@ extern "C" {
|
|||
void dpi_fadd(bool enable, int a, int b, const svBitVecVal* frm, int* result, svBitVecVal* fflags) {
|
||||
if (!enable)
|
||||
return;
|
||||
*result = rv_fadd(a, b, (*frm & 0x7), fflags);
|
||||
*result = rv_fadd_s(a, b, (*frm & 0x7), fflags);
|
||||
}
|
||||
|
||||
void dpi_fsub(bool enable, int a, int b, const svBitVecVal* frm, int* result, svBitVecVal* fflags) {
|
||||
if (!enable)
|
||||
return;
|
||||
*result = rv_fsub(a, b, (*frm & 0x7), fflags);
|
||||
*result = rv_fsub_s(a, b, (*frm & 0x7), fflags);
|
||||
}
|
||||
|
||||
void dpi_fmul(bool enable, int a, int b, const svBitVecVal* frm, int* result, svBitVecVal* fflags) {
|
||||
if (!enable)
|
||||
return;
|
||||
*result = rv_fmul(a, b, (*frm & 0x7), fflags);
|
||||
*result = rv_fmul_s(a, b, (*frm & 0x7), fflags);
|
||||
}
|
||||
|
||||
void dpi_fmadd(bool enable, int a, int b, int c, const svBitVecVal* frm, int* result, svBitVecVal* fflags) {
|
||||
if (!enable)
|
||||
return;
|
||||
*result = rv_fmadd(a, b, c, (*frm & 0x7), fflags);
|
||||
*result = rv_fmadd_s(a, b, c, (*frm & 0x7), fflags);
|
||||
}
|
||||
|
||||
void dpi_fmsub(bool enable, int a, int b, int c, const svBitVecVal* frm, int* result, svBitVecVal* fflags) {
|
||||
if (!enable)
|
||||
return;
|
||||
*result = rv_fmsub(a, b, c, (*frm & 0x7), fflags);
|
||||
*result = rv_fmsub_s(a, b, c, (*frm & 0x7), fflags);
|
||||
}
|
||||
|
||||
void dpi_fnmadd(bool enable, int a, int b, int c, const svBitVecVal* frm, int* result, svBitVecVal* fflags) {
|
||||
if (!enable)
|
||||
return;
|
||||
*result = rv_fnmadd(a, b, c, (*frm & 0x7), fflags);
|
||||
*result = rv_fnmadd_s(a, b, c, (*frm & 0x7), fflags);
|
||||
}
|
||||
|
||||
void dpi_fnmsub(bool enable, int a, int b, int c, const svBitVecVal* frm, int* result, svBitVecVal* fflags) {
|
||||
if (!enable)
|
||||
return;
|
||||
*result = rv_fnmsub(a, b, c, (*frm & 0x7), fflags);
|
||||
*result = rv_fnmsub_s(a, b, c, (*frm & 0x7), fflags);
|
||||
}
|
||||
|
||||
void dpi_fdiv(bool enable, int a, int b, const svBitVecVal* frm, int* result, svBitVecVal* fflags) {
|
||||
if (!enable)
|
||||
return;
|
||||
*result = rv_fdiv(a, b, (*frm & 0x7), fflags);
|
||||
*result = rv_fdiv_s(a, b, (*frm & 0x7), fflags);
|
||||
}
|
||||
|
||||
void dpi_fsqrt(bool enable, int a, const svBitVecVal* frm, int* result, svBitVecVal* fflags) {
|
||||
if (!enable)
|
||||
return;
|
||||
*result = rv_fsqrt(a, (*frm & 0x7), fflags);
|
||||
*result = rv_fsqrt_s(a, (*frm & 0x7), fflags);
|
||||
}
|
||||
|
||||
void dpi_ftoi(bool enable, int a, const svBitVecVal* frm, int* result, svBitVecVal* fflags) {
|
||||
if (!enable)
|
||||
return;
|
||||
*result = rv_ftoi(a, (*frm & 0x7), fflags);
|
||||
*result = rv_ftoi_s(a, (*frm & 0x7), fflags);
|
||||
}
|
||||
|
||||
void dpi_ftou(bool enable, int a, const svBitVecVal* frm, int* result, svBitVecVal* fflags) {
|
||||
if (!enable)
|
||||
return;
|
||||
*result = rv_ftou(a, (*frm & 0x7), fflags);
|
||||
*result = rv_ftou_s(a, (*frm & 0x7), fflags);
|
||||
}
|
||||
|
||||
void dpi_itof(bool enable, int a, const svBitVecVal* frm, int* result, svBitVecVal* fflags) {
|
||||
if (!enable)
|
||||
return;
|
||||
*result = rv_itof(a, (*frm & 0x7), fflags);
|
||||
*result = rv_itof_s(a, (*frm & 0x7), fflags);
|
||||
}
|
||||
|
||||
void dpi_utof(bool enable, int a, const svBitVecVal* frm, int* result, svBitVecVal* fflags) {
|
||||
if (!enable)
|
||||
return;
|
||||
*result = rv_utof(a, (*frm & 0x7), fflags);
|
||||
*result = rv_utof_s(a, (*frm & 0x7), fflags);
|
||||
}
|
||||
|
||||
void dpi_flt(bool enable, int a, int b, int* result, svBitVecVal* fflags) {
|
||||
if (!enable)
|
||||
return;
|
||||
*result = rv_flt(a, b, fflags);
|
||||
*result = rv_flt_s(a, b, fflags);
|
||||
}
|
||||
|
||||
void dpi_fle(bool enable, int a, int b, int* result, svBitVecVal* fflags) {
|
||||
if (!enable)
|
||||
return;
|
||||
*result = rv_fle(a, b, fflags);
|
||||
*result = rv_fle_s(a, b, fflags);
|
||||
}
|
||||
|
||||
void dpi_feq(bool enable, int a, int b, int* result, svBitVecVal* fflags) {
|
||||
if (!enable)
|
||||
return;
|
||||
*result = rv_feq(a, b, fflags);
|
||||
*result = rv_feq_s(a, b, fflags);
|
||||
}
|
||||
|
||||
void dpi_fmin(bool enable, int a, int b, int* result, svBitVecVal* fflags) {
|
||||
if (!enable)
|
||||
return;
|
||||
*result = rv_fmin(a, b, fflags);
|
||||
*result = rv_fmin_s(a, b, fflags);
|
||||
}
|
||||
|
||||
void dpi_fmax(bool enable, int a, int b, int* result, svBitVecVal* fflags) {
|
||||
if (!enable)
|
||||
return;
|
||||
*result = rv_fmax(a, b, fflags);
|
||||
*result = rv_fmax_s(a, b, fflags);
|
||||
}
|
||||
|
||||
void dpi_fclss(bool enable, int a, int* result) {
|
||||
if (!enable)
|
||||
return;
|
||||
*result = rv_fclss(a);
|
||||
*result = rv_fclss_s(a);
|
||||
}
|
||||
|
||||
void dpi_fsgnj(bool enable, int a, int b, int* result) {
|
||||
if (!enable)
|
||||
return;
|
||||
*result = rv_fsgnj(a, b);
|
||||
*result = rv_fsgnj_s(a, b);
|
||||
}
|
||||
|
||||
void dpi_fsgnjn(bool enable, int a, int b, int* result) {
|
||||
if (!enable)
|
||||
return;
|
||||
*result = rv_fsgnjn(a, b);
|
||||
*result = rv_fsgnjn_s(a, b);
|
||||
}
|
||||
|
||||
void dpi_fsgnjx(bool enable, int a, int b, int* result) {
|
||||
if (!enable)
|
||||
return;
|
||||
*result = rv_fsgnjx(a, b);
|
||||
*result = rv_fsgnjx_s(a, b);
|
||||
}
|
|
@ -481,4 +481,4 @@
|
|||
`define L3_MRSQ_SIZE 0
|
||||
`endif
|
||||
|
||||
`endif
|
||||
`endif
|
|
@ -1,11 +1,25 @@
|
|||
RISCV_TOOLCHAIN_PATH ?= /opt/riscv-gnu-toolchain
|
||||
XLEN ?= 32
|
||||
|
||||
CC = $(RISCV_TOOLCHAIN_PATH)/bin/riscv32-unknown-elf-gcc
|
||||
AR = $(RISCV_TOOLCHAIN_PATH)/bin/riscv32-unknown-elf-gcc-ar
|
||||
DP = $(RISCV_TOOLCHAIN_PATH)/bin/riscv32-unknown-elf-objdump
|
||||
CP = $(RISCV_TOOLCHAIN_PATH)/bin/riscv32-unknown-elf-objcopy
|
||||
ifeq ($(XLEN),32)
|
||||
RISCV_TOOLCHAIN_PATH = /opt/riscv-gnu-toolchain
|
||||
else
|
||||
RISCV_TOOLCHAIN_PATH = /opt/riscv64-gnu-toolchain
|
||||
endif
|
||||
|
||||
CFLAGS += -O3 -march=rv32imf -mabi=ilp32f -Wstack-usage=1024 -fno-exceptions -fdata-sections -ffunction-sections
|
||||
RISCV_PREFIX ?= riscv$(XLEN)-unknown-elf-
|
||||
|
||||
CC = $(RISCV_TOOLCHAIN_PATH)/bin/$(RISCV_PREFIX)gcc
|
||||
AR = $(RISCV_TOOLCHAIN_PATH)/bin/$(RISCV_PREFIX)gcc-ar
|
||||
DP = $(RISCV_TOOLCHAIN_PATH)/bin/$(RISCV_PREFIX)objdump
|
||||
CP = $(RISCV_TOOLCHAIN_PATH)/bin/$(RISCV_PREFIX)objcopy
|
||||
|
||||
ifeq ($(XLEN),32)
|
||||
CFLAGS += -march=rv32imf -mabi=ilp32f
|
||||
else
|
||||
CFLAGS += -march=rv64imfd -mabi=lp64d
|
||||
endif
|
||||
|
||||
CFLAGS += -O3 -mcmodel=medany -Wstack-usage=1024 -fno-exceptions -fdata-sections -ffunction-sections
|
||||
CFLAGS += -I./include -I../hw
|
||||
|
||||
PROJECT = libvortexrt
|
||||
|
|
254
runtime/linker/vx_link64.ld
Normal file
254
runtime/linker/vx_link64.ld
Normal file
|
@ -0,0 +1,254 @@
|
|||
/* ---- Original Script: /opt/riscv32i/riscv32-unknown-elf/lib/ldscripts/elf64lriscv.x ---- */
|
||||
/* Default linker script, for normal executables */
|
||||
/* Copyright (C) 2014-2017 Free Software Foundation, Inc.
|
||||
Copying and distribution of this script, with or without modification,
|
||||
are permitted in any medium without royalty provided the copyright
|
||||
notice and this notice are preserved. */
|
||||
OUTPUT_FORMAT("elf64-littleriscv", "elf64-littleriscv", "elf64-littleriscv")
|
||||
OUTPUT_ARCH(riscv)
|
||||
ENTRY(_start)
|
||||
SECTIONS
|
||||
{
|
||||
. = 0x80000000;
|
||||
.interp : { *(.interp) }
|
||||
.note.gnu.build-id : { *(.note.gnu.build-id) }
|
||||
.hash : { *(.hash) }
|
||||
.gnu.hash : { *(.gnu.hash) }
|
||||
.dynsym : { *(.dynsym) }
|
||||
.dynstr : { *(.dynstr) }
|
||||
.gnu.version : { *(.gnu.version) }
|
||||
.gnu.version_d : { *(.gnu.version_d) }
|
||||
.gnu.version_r : { *(.gnu.version_r) }
|
||||
.rela.dyn :
|
||||
{
|
||||
*(.rela.init)
|
||||
*(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
|
||||
*(.rela.fini)
|
||||
*(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
|
||||
*(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
|
||||
*(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
|
||||
*(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
|
||||
*(.rela.ctors)
|
||||
*(.rela.dtors)
|
||||
*(.rela.got)
|
||||
*(.rela.sdata .rela.sdata.* .rela.gnu.linkonce.s.*)
|
||||
*(.rela.sbss .rela.sbss.* .rela.gnu.linkonce.sb.*)
|
||||
*(.rela.sdata2 .rela.sdata2.* .rela.gnu.linkonce.s2.*)
|
||||
*(.rela.sbss2 .rela.sbss2.* .rela.gnu.linkonce.sb2.*)
|
||||
*(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
|
||||
PROVIDE_HIDDEN (__rela_iplt_start = .);
|
||||
*(.rela.iplt)
|
||||
PROVIDE_HIDDEN (__rela_iplt_end = .);
|
||||
}
|
||||
.rela.plt :
|
||||
{
|
||||
*(.rela.plt)
|
||||
}
|
||||
.init :
|
||||
{
|
||||
KEEP (*(SORT_NONE(.init)))
|
||||
}
|
||||
.plt : { *(.plt) }
|
||||
.iplt : { *(.iplt) }
|
||||
.text :
|
||||
{
|
||||
*(.text.unlikely .text.*_unlikely .text.unlikely.*)
|
||||
*(.text.exit .text.exit.*)
|
||||
*(.text.startup .text.startup.*)
|
||||
*(.text.hot .text.hot.*)
|
||||
*(.text .stub .text.* .gnu.linkonce.t.*)
|
||||
/* .gnu.warning sections are handled specially by elf32.em. */
|
||||
*(.gnu.warning)
|
||||
}
|
||||
.fini :
|
||||
{
|
||||
KEEP (*(SORT_NONE(.fini)))
|
||||
}
|
||||
PROVIDE (__etext = .);
|
||||
PROVIDE (_etext = .);
|
||||
PROVIDE (etext = .);
|
||||
.rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
|
||||
.rodata1 : { *(.rodata1) }
|
||||
.sdata2 :
|
||||
{
|
||||
*(.sdata2 .sdata2.* .gnu.linkonce.s2.*)
|
||||
}
|
||||
.sbss2 : { *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*) }
|
||||
.eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) }
|
||||
.eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) }
|
||||
.gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
|
||||
.gnu_extab : ONLY_IF_RO { *(.gnu_extab*) }
|
||||
/* These sections are generated by the Sun/Oracle C++ compiler. */
|
||||
.exception_ranges : ONLY_IF_RO { *(.exception_ranges*) }
|
||||
/* Adjust the address for the data segment. We want to adjust up to
|
||||
the same address within the page on the next page up. */
|
||||
. = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
|
||||
/* Exception handling */
|
||||
.eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) }
|
||||
.gnu_extab : ONLY_IF_RW { *(.gnu_extab) }
|
||||
.gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
|
||||
.exception_ranges : ONLY_IF_RW { *(.exception_ranges*) }
|
||||
/* Thread Local Storage sections */
|
||||
.tdata :
|
||||
{
|
||||
PROVIDE_HIDDEN (__tdata_start = .);
|
||||
*(.tdata .tdata.* .gnu.linkonce.td.*)
|
||||
}
|
||||
.tbss : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
|
||||
.preinit_array :
|
||||
{
|
||||
PROVIDE_HIDDEN (__preinit_array_start = .);
|
||||
KEEP (*(.preinit_array))
|
||||
PROVIDE_HIDDEN (__preinit_array_end = .);
|
||||
}
|
||||
.init_array :
|
||||
{
|
||||
PROVIDE_HIDDEN (__init_array_start = .);
|
||||
KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*)))
|
||||
KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors))
|
||||
PROVIDE_HIDDEN (__init_array_end = .);
|
||||
}
|
||||
.fini_array :
|
||||
{
|
||||
PROVIDE_HIDDEN (__fini_array_start = .);
|
||||
KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*)))
|
||||
KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))
|
||||
PROVIDE_HIDDEN (__fini_array_end = .);
|
||||
}
|
||||
.ctors :
|
||||
{
|
||||
/* gcc uses crtbegin.o to find the start of
|
||||
the constructors, so we make sure it is
|
||||
first. Because this is a wildcard, it
|
||||
doesn't matter if the user does not
|
||||
actually link against crtbegin.o; the
|
||||
linker won't look for a file to match a
|
||||
wildcard. The wildcard also means that it
|
||||
doesn't matter which directory crtbegin.o
|
||||
is in. */
|
||||
KEEP (*crtbegin.o(.ctors))
|
||||
KEEP (*crtbegin?.o(.ctors))
|
||||
/* We don't want to include the .ctor section from
|
||||
the crtend.o file until after the sorted ctors.
|
||||
The .ctor section from the crtend file contains the
|
||||
end of ctors marker and it must be last */
|
||||
KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
|
||||
KEEP (*(SORT(.ctors.*)))
|
||||
KEEP (*(.ctors))
|
||||
}
|
||||
.dtors :
|
||||
{
|
||||
KEEP (*crtbegin.o(.dtors))
|
||||
KEEP (*crtbegin?.o(.dtors))
|
||||
KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
|
||||
KEEP (*(SORT(.dtors.*)))
|
||||
KEEP (*(.dtors))
|
||||
}
|
||||
.jcr : { KEEP (*(.jcr)) }
|
||||
.data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }
|
||||
.dynamic : { *(.dynamic) }
|
||||
. = DATA_SEGMENT_RELRO_END (0, .);
|
||||
.data :
|
||||
{
|
||||
__DATA_BEGIN__ = .;
|
||||
*(.data .data.* .gnu.linkonce.d.*)
|
||||
SORT(CONSTRUCTORS)
|
||||
}
|
||||
.data1 : { *(.data1) }
|
||||
.got : { *(.got.plt) *(.igot.plt) *(.got) *(.igot) }
|
||||
/* We want the small data sections together, so single-instruction offsets
|
||||
can access them all, and initialized data all before uninitialized, so
|
||||
we can shorten the on-disk segment size. */
|
||||
.sdata :
|
||||
{
|
||||
__SDATA_BEGIN__ = .;
|
||||
*(.srodata.cst16) *(.srodata.cst8) *(.srodata.cst4) *(.srodata.cst2) *(.srodata .srodata.*)
|
||||
*(.sdata .sdata.* .gnu.linkonce.s.*)
|
||||
}
|
||||
_edata = .; PROVIDE (edata = .);
|
||||
. = .;
|
||||
__bss_start = .;
|
||||
.sbss :
|
||||
{
|
||||
*(.dynsbss)
|
||||
*(.sbss .sbss.* .gnu.linkonce.sb.*)
|
||||
*(.scommon)
|
||||
}
|
||||
.bss :
|
||||
{
|
||||
*(.dynbss)
|
||||
*(.bss .bss.* .gnu.linkonce.b.*)
|
||||
*(COMMON)
|
||||
/* Align here to ensure that the .bss section occupies space up to
|
||||
_end. Align after .bss to ensure correct alignment even if the
|
||||
.bss section disappears because there are no input sections.
|
||||
FIXME: Why do we need it? When there is no .bss section, we do not
|
||||
pad the .data section. */
|
||||
. = ALIGN(. != 0 ? 64 / 8 : 1);
|
||||
}
|
||||
. = ALIGN(64 / 8);
|
||||
. = SEGMENT_START("ldata-segment", .);
|
||||
. = ALIGN(64 / 8);
|
||||
__BSS_END__ = .;
|
||||
__global_pointer = MIN(__SDATA_BEGIN__ + 0x800,
|
||||
MAX(__DATA_BEGIN__ + 0x800, __BSS_END__ - 0x800));
|
||||
_end = .; PROVIDE (end = .);
|
||||
. = DATA_SEGMENT_END (.);
|
||||
|
||||
/* .stack_dummy section doesn't contains any symbols. It is only
|
||||
* used for linker to calculate size of stack sections, and assign
|
||||
* values to stack symbols later */
|
||||
.stack_dummy (COPY):
|
||||
{
|
||||
KEEP(*(.stack*))
|
||||
}
|
||||
__stack_usage = SIZEOF(.stack_dummy);
|
||||
PROVIDE(__stack_top = 0xFF000000);
|
||||
PROVIDE(__stack_size = 0x400);
|
||||
PROVIDE(__stack = __stack_top);
|
||||
ASSERT(__stack_usage <= __stack_size, "stack overflow")
|
||||
|
||||
/* Stabs debugging sections. */
|
||||
.stab 0 : { *(.stab) }
|
||||
.stabstr 0 : { *(.stabstr) }
|
||||
.stab.excl 0 : { *(.stab.excl) }
|
||||
.stab.exclstr 0 : { *(.stab.exclstr) }
|
||||
.stab.index 0 : { *(.stab.index) }
|
||||
.stab.indexstr 0 : { *(.stab.indexstr) }
|
||||
.comment 0 : { *(.comment) }
|
||||
.gnu.build.attributes : { *(.gnu.build.attributes .gnu.build.attributes.*) }
|
||||
/* DWARF debug sections.
|
||||
Symbols in the DWARF debugging sections are relative to the beginning
|
||||
of the section so we begin them at 0. */
|
||||
/* DWARF 1 */
|
||||
.debug 0 : { *(.debug) }
|
||||
.line 0 : { *(.line) }
|
||||
/* GNU DWARF 1 extensions */
|
||||
.debug_srcinfo 0 : { *(.debug_srcinfo) }
|
||||
.debug_sfnames 0 : { *(.debug_sfnames) }
|
||||
/* DWARF 1.1 and DWARF 2 */
|
||||
.debug_aranges 0 : { *(.debug_aranges) }
|
||||
.debug_pubnames 0 : { *(.debug_pubnames) }
|
||||
/* DWARF 2 */
|
||||
.debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) }
|
||||
.debug_abbrev 0 : { *(.debug_abbrev) }
|
||||
.debug_line 0 : { *(.debug_line .debug_line.* .debug_line_end) }
|
||||
.debug_frame 0 : { *(.debug_frame) }
|
||||
.debug_str 0 : { *(.debug_str) }
|
||||
.debug_loc 0 : { *(.debug_loc) }
|
||||
.debug_macinfo 0 : { *(.debug_macinfo) }
|
||||
/* SGI/MIPS DWARF 2 extensions */
|
||||
.debug_weaknames 0 : { *(.debug_weaknames) }
|
||||
.debug_funcnames 0 : { *(.debug_funcnames) }
|
||||
.debug_typenames 0 : { *(.debug_typenames) }
|
||||
.debug_varnames 0 : { *(.debug_varnames) }
|
||||
/* DWARF 3 */
|
||||
.debug_pubtypes 0 : { *(.debug_pubtypes) }
|
||||
.debug_ranges 0 : { *(.debug_ranges) }
|
||||
/* DWARF Extension. */
|
||||
.debug_macro 0 : { *(.debug_macro) }
|
||||
.debug_addr 0 : { *(.debug_addr) }
|
||||
.gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
|
||||
/DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
|
||||
|
||||
}
|
|
@ -71,9 +71,30 @@ inline uint64_t bit_getw(uint64_t bits, uint32_t start, uint32_t end) {
|
|||
}
|
||||
|
||||
// Apply integer sign extension
|
||||
inline uint32_t sext32(uint32_t word, uint32_t width) {
|
||||
inline uint32_t sext(uint32_t word, uint32_t width) {
|
||||
assert(width > 1);
|
||||
assert(width <= 32);
|
||||
uint32_t mask = (1 << width) - 1;
|
||||
if (width == 32)
|
||||
return word;
|
||||
uint32_t mask = (uint32_t(1) << width) - 1;
|
||||
return ((word >> (width - 1)) & 0x1) ? (word | ~mask) : word;
|
||||
}
|
||||
}
|
||||
|
||||
inline uint64_t sext(uint64_t word, uint32_t width) {
|
||||
assert(width > 1);
|
||||
assert(width <= 64);
|
||||
if (width == 64)
|
||||
return word;
|
||||
uint64_t mask = (uint64_t(1) << width) - 1;
|
||||
return ((word >> (width - 1)) & 0x1) ? (word | ~mask) : word;
|
||||
}
|
||||
|
||||
inline __uint128_t sext(__uint128_t word, uint32_t width) {
|
||||
assert(width > 1);
|
||||
assert(width <= 128);
|
||||
if (width == 128)
|
||||
return word;
|
||||
__uint128_t mask = (__uint128_t(1) << width) - 1;
|
||||
return ((word >> (width - 1)) & 0x1) ? (word | ~mask) : word;
|
||||
}
|
||||
|
||||
|
|
|
@ -226,9 +226,9 @@ void RAM::read(void *data, uint64_t addr, uint64_t size) {
|
|||
}
|
||||
|
||||
void RAM::write(const void *data, uint64_t addr, uint64_t size) {
|
||||
const uint8_t* s = (const uint8_t*)data;
|
||||
const uint8_t* d = (const uint8_t*)data;
|
||||
for (uint64_t i = 0; i < size; i++) {
|
||||
*this->get(addr + i) = s[i];
|
||||
*this->get(addr + i) = d[i];
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -276,7 +276,7 @@ void RAM::loadHexImage(const char* filename) {
|
|||
ifs.seekg(0, ifs.beg);
|
||||
ifs.read(content.data(), size);
|
||||
|
||||
int offset = 0;
|
||||
uint32_t offset = 0;
|
||||
char *line = content.data();
|
||||
|
||||
this->clear();
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
#include <vector>
|
||||
#include <unordered_map>
|
||||
#include <cstdint>
|
||||
|
|
|
@ -8,10 +8,13 @@ extern "C" {
|
|||
}
|
||||
|
||||
#define F32_SIGN 0x80000000
|
||||
#define F64_SIGN 0x8000000000000000
|
||||
|
||||
inline float32_t to_float32_t(uint32_t x) { return float32_t{x}; }
|
||||
inline float64_t to_float64_t(uint64_t x) { return float64_t{x}; }
|
||||
|
||||
inline uint32_t from_float32_t(float32_t x) { return uint32_t(x.v); }
|
||||
inline uint64_t from_float64_t(float64_t x) { return uint64_t(x.v); }
|
||||
|
||||
inline uint32_t get_fflags() {
|
||||
uint32_t fflags = softfloat_exceptionFlags;
|
||||
|
@ -25,121 +28,290 @@ inline uint32_t get_fflags() {
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
uint32_t rv_fadd(uint32_t a, uint32_t b, uint32_t frm, uint32_t* fflags) {
|
||||
uint32_t rv_fadd_s(uint32_t a, uint32_t b, uint32_t frm, uint32_t* fflags) {
|
||||
softfloat_roundingMode = frm;
|
||||
auto r = f32_add(to_float32_t(a), to_float32_t(b));
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return from_float32_t(r);
|
||||
}
|
||||
|
||||
uint32_t rv_fsub(uint32_t a, uint32_t b, uint32_t frm, uint32_t* fflags) {
|
||||
uint64_t rv_fadd_d(uint64_t a, uint64_t b, uint32_t frm, uint32_t* fflags) {
|
||||
softfloat_roundingMode = frm;
|
||||
auto r = f64_add(to_float64_t(a), to_float64_t(b));
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return from_float64_t(r);
|
||||
}
|
||||
|
||||
uint32_t rv_fsub_s(uint32_t a, uint32_t b, uint32_t frm, uint32_t* fflags) {
|
||||
softfloat_roundingMode = frm;
|
||||
auto r = f32_sub(to_float32_t(a), to_float32_t(b));
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return from_float32_t(r);
|
||||
}
|
||||
|
||||
uint32_t rv_fmul(uint32_t a, uint32_t b, uint32_t frm, uint32_t* fflags) {
|
||||
uint64_t rv_fsub_d(uint64_t a, uint64_t b, uint32_t frm, uint32_t* fflags) {
|
||||
softfloat_roundingMode = frm;
|
||||
auto r = f64_sub(to_float64_t(a), to_float64_t(b));
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return from_float64_t(r);
|
||||
}
|
||||
|
||||
uint32_t rv_fmul_s(uint32_t a, uint32_t b, uint32_t frm, uint32_t* fflags) {
|
||||
softfloat_roundingMode = frm;
|
||||
auto r = f32_mul(to_float32_t(a), to_float32_t(b));
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return from_float32_t(r);
|
||||
}
|
||||
|
||||
uint32_t rv_fmadd(uint32_t a, uint32_t b, uint32_t c, uint32_t frm, uint32_t* fflags) {
|
||||
uint64_t rv_fmul_d(uint64_t a, uint64_t b, uint32_t frm, uint32_t* fflags) {
|
||||
softfloat_roundingMode = frm;
|
||||
auto r = f64_mul(to_float64_t(a), to_float64_t(b));
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return from_float64_t(r);
|
||||
}
|
||||
|
||||
uint32_t rv_fmadd_s(uint32_t a, uint32_t b, uint32_t c, uint32_t frm, uint32_t* fflags) {
|
||||
softfloat_roundingMode = frm;
|
||||
auto r = f32_mulAdd(to_float32_t(a), to_float32_t(b), to_float32_t(c));
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return from_float32_t(r);
|
||||
}
|
||||
|
||||
uint32_t rv_fmsub(uint32_t a, uint32_t b, uint32_t c, uint32_t frm, uint32_t* fflags) {
|
||||
uint64_t rv_fmadd_d(uint64_t a, uint64_t b, uint64_t c, uint32_t frm, uint32_t* fflags) {
|
||||
softfloat_roundingMode = frm;
|
||||
int c_neg = c ^ F32_SIGN;
|
||||
auto r = f64_mulAdd(to_float64_t(a), to_float64_t(b), to_float64_t(c));
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return from_float64_t(r);
|
||||
}
|
||||
|
||||
uint32_t rv_fmsub_s(uint32_t a, uint32_t b, uint32_t c, uint32_t frm, uint32_t* fflags) {
|
||||
softfloat_roundingMode = frm;
|
||||
auto c_neg = c ^ F32_SIGN;
|
||||
auto r = f32_mulAdd(to_float32_t(a), to_float32_t(b), to_float32_t(c_neg));
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return from_float32_t(r);
|
||||
}
|
||||
|
||||
uint32_t rv_fnmadd(uint32_t a, uint32_t b, uint32_t c, uint32_t frm, uint32_t* fflags) {
|
||||
uint64_t rv_fmsub_d(uint64_t a, uint64_t b, uint64_t c, uint32_t frm, uint32_t* fflags) {
|
||||
softfloat_roundingMode = frm;
|
||||
int a_neg = a ^ F32_SIGN;
|
||||
int c_neg = c ^ F32_SIGN;
|
||||
auto c_neg = c ^ F64_SIGN;
|
||||
auto r = f64_mulAdd(to_float64_t(a), to_float64_t(b), to_float64_t(c_neg));
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return from_float64_t(r);
|
||||
}
|
||||
|
||||
uint32_t rv_fnmadd_s(uint32_t a, uint32_t b, uint32_t c, uint32_t frm, uint32_t* fflags) {
|
||||
softfloat_roundingMode = frm;
|
||||
auto a_neg = a ^ F32_SIGN;
|
||||
auto c_neg = c ^ F32_SIGN;
|
||||
auto r = f32_mulAdd(to_float32_t(a_neg), to_float32_t(b), to_float32_t(c_neg));
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return from_float32_t(r);
|
||||
}
|
||||
|
||||
uint32_t rv_fnmsub(uint32_t a, uint32_t b, uint32_t c, uint32_t frm, uint32_t* fflags) {
|
||||
uint64_t rv_fnmadd_d(uint64_t a, uint64_t b, uint64_t c, uint32_t frm, uint32_t* fflags) {
|
||||
softfloat_roundingMode = frm;
|
||||
int a_neg = a ^ F32_SIGN;
|
||||
auto a_neg = a ^ F64_SIGN;
|
||||
auto c_neg = c ^ F64_SIGN;
|
||||
auto r = f64_mulAdd(to_float64_t(a_neg), to_float64_t(b), to_float64_t(c_neg));
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return from_float64_t(r);
|
||||
}
|
||||
|
||||
uint32_t rv_fnmsub_s(uint32_t a, uint32_t b, uint32_t c, uint32_t frm, uint32_t* fflags) {
|
||||
softfloat_roundingMode = frm;
|
||||
auto a_neg = a ^ F32_SIGN;
|
||||
auto r = f32_mulAdd(to_float32_t(a_neg), to_float32_t(b), to_float32_t(c));
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return from_float32_t(r);
|
||||
}
|
||||
|
||||
uint32_t rv_fdiv(uint32_t a, uint32_t b, uint32_t frm, uint32_t* fflags) {
|
||||
uint64_t rv_fnmsub_d(uint64_t a, uint64_t b, uint64_t c, uint32_t frm, uint32_t* fflags) {
|
||||
softfloat_roundingMode = frm;
|
||||
auto a_neg = a ^ F64_SIGN;
|
||||
auto r = f64_mulAdd(to_float64_t(a_neg), to_float64_t(b), to_float64_t(c));
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return from_float64_t(r);
|
||||
}
|
||||
|
||||
uint32_t rv_fdiv_s(uint32_t a, uint32_t b, uint32_t frm, uint32_t* fflags) {
|
||||
softfloat_roundingMode = frm;
|
||||
auto r = f32_div(to_float32_t(a), to_float32_t(b));
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return from_float32_t(r);
|
||||
}
|
||||
|
||||
uint32_t rv_fsqrt(uint32_t a, uint32_t frm, uint32_t* fflags) {
|
||||
uint64_t rv_fdiv_d(uint64_t a, uint64_t b, uint32_t frm, uint32_t* fflags) {
|
||||
softfloat_roundingMode = frm;
|
||||
auto r = f64_div(to_float64_t(a), to_float64_t(b));
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return from_float64_t(r);
|
||||
}
|
||||
|
||||
uint32_t rv_fsqrt_s(uint32_t a, uint32_t frm, uint32_t* fflags) {
|
||||
softfloat_roundingMode = frm;
|
||||
auto r = f32_sqrt(to_float32_t(a));
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return from_float32_t(r);
|
||||
}
|
||||
|
||||
uint32_t rv_ftoi(uint32_t a, uint32_t frm, uint32_t* fflags) {
|
||||
uint64_t rv_fsqrt_d(uint64_t a, uint32_t frm, uint32_t* fflags) {
|
||||
softfloat_roundingMode = frm;
|
||||
auto r = f64_sqrt(to_float64_t(a));
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return from_float64_t(r);
|
||||
}
|
||||
|
||||
uint32_t rv_ftoi_s(uint32_t a, uint32_t frm, uint32_t* fflags) {
|
||||
softfloat_roundingMode = frm;
|
||||
auto r = f32_to_i32(to_float32_t(a), frm, true);
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return r;
|
||||
}
|
||||
|
||||
uint32_t rv_ftou(uint32_t a, uint32_t frm, uint32_t* fflags) {
|
||||
uint32_t rv_ftoi_d(uint64_t a, uint32_t frm, uint32_t* fflags) {
|
||||
softfloat_roundingMode = frm;
|
||||
auto r = f64_to_i32(to_float64_t(a), frm, true);
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return r;
|
||||
}
|
||||
|
||||
uint32_t rv_ftou_s(uint32_t a, uint32_t frm, uint32_t* fflags) {
|
||||
softfloat_roundingMode = frm;
|
||||
auto r = f32_to_ui32(to_float32_t(a), frm, true);
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return r;
|
||||
}
|
||||
|
||||
uint32_t rv_itof(uint32_t a, uint32_t frm, uint32_t* fflags) {
|
||||
uint32_t rv_ftou_d(uint64_t a, uint32_t frm, uint32_t* fflags) {
|
||||
softfloat_roundingMode = frm;
|
||||
auto r = f64_to_ui32(to_float64_t(a), frm, true);
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return r;
|
||||
}
|
||||
|
||||
uint64_t rv_ftol_s(uint32_t a, uint32_t frm, uint32_t* fflags) {
|
||||
softfloat_roundingMode = frm;
|
||||
auto r = f32_to_i64(to_float32_t(a), frm, true);
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return r;
|
||||
}
|
||||
|
||||
uint64_t rv_ftol_d(uint64_t a, uint32_t frm, uint32_t* fflags) {
|
||||
softfloat_roundingMode = frm;
|
||||
auto r = f64_to_i64(to_float64_t(a), frm, true);
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return r;
|
||||
}
|
||||
|
||||
uint64_t rv_ftolu_s(uint32_t a, uint32_t frm, uint32_t* fflags) {
|
||||
softfloat_roundingMode = frm;
|
||||
auto r = f32_to_ui64(to_float32_t(a), frm, true);
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return r;
|
||||
}
|
||||
|
||||
uint64_t rv_ftolu_d(uint64_t a, uint32_t frm, uint32_t* fflags) {
|
||||
softfloat_roundingMode = frm;
|
||||
auto r = f64_to_ui64(to_float64_t(a), frm, true);
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return r;
|
||||
}
|
||||
|
||||
uint32_t rv_itof_s(uint32_t a, uint32_t frm, uint32_t* fflags) {
|
||||
softfloat_roundingMode = frm;
|
||||
auto r = i32_to_f32(a);
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return from_float32_t(r);
|
||||
}
|
||||
|
||||
uint32_t rv_utof(uint32_t a, uint32_t frm, uint32_t* fflags) {
|
||||
uint64_t rv_itof_d(uint32_t a, uint32_t frm, uint32_t* fflags) {
|
||||
softfloat_roundingMode = frm;
|
||||
auto r = i32_to_f64(a);
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return from_float64_t(r);
|
||||
}
|
||||
|
||||
uint32_t rv_utof_s(uint32_t a, uint32_t frm, uint32_t* fflags) {
|
||||
softfloat_roundingMode = frm;
|
||||
auto r = ui32_to_f32(a);
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return from_float32_t(r);
|
||||
}
|
||||
|
||||
uint32_t rv_flt(uint32_t a, uint32_t b, uint32_t* fflags) {
|
||||
uint64_t rv_utof_d(uint32_t a, uint32_t frm, uint32_t* fflags) {
|
||||
softfloat_roundingMode = frm;
|
||||
auto r = ui32_to_f64(a);
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return from_float64_t(r);
|
||||
}
|
||||
|
||||
uint32_t rv_ltof_s(uint64_t a, uint32_t frm, uint32_t* fflags) {
|
||||
softfloat_roundingMode = frm;
|
||||
auto r = i64_to_f32(a);
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return from_float32_t(r);
|
||||
}
|
||||
|
||||
uint64_t rv_ltof_d(uint64_t a, uint32_t frm, uint32_t* fflags) {
|
||||
softfloat_roundingMode = frm;
|
||||
auto r = i64_to_f64(a);
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return from_float64_t(r);
|
||||
}
|
||||
|
||||
uint32_t rv_lutof_s(uint64_t a, uint32_t frm, uint32_t* fflags) {
|
||||
softfloat_roundingMode = frm;
|
||||
auto r = ui64_to_f32(a);
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return from_float32_t(r);
|
||||
}
|
||||
|
||||
uint64_t rv_lutof_d(uint64_t a, uint32_t frm, uint32_t* fflags) {
|
||||
softfloat_roundingMode = frm;
|
||||
auto r = ui64_to_f64(a);
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return from_float64_t(r);
|
||||
}
|
||||
|
||||
bool rv_flt_s(uint32_t a, uint32_t b, uint32_t* fflags) {
|
||||
auto r = f32_lt(to_float32_t(a), to_float32_t(b));
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return r;
|
||||
}
|
||||
|
||||
uint32_t rv_fle(uint32_t a, uint32_t b, uint32_t* fflags) {
|
||||
bool rv_flt_d(uint64_t a, uint64_t b, uint32_t* fflags) {
|
||||
auto r = f64_lt(to_float64_t(a), to_float64_t(b));
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return r;
|
||||
}
|
||||
|
||||
bool rv_fle_s(uint32_t a, uint32_t b, uint32_t* fflags) {
|
||||
auto r = f32_le(to_float32_t(a), to_float32_t(b));
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return r;
|
||||
}
|
||||
|
||||
uint32_t rv_feq(uint32_t a, uint32_t b, uint32_t* fflags) {
|
||||
bool rv_fle_d(uint64_t a, uint64_t b, uint32_t* fflags) {
|
||||
auto r = f64_le(to_float64_t(a), to_float64_t(b));
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return r;
|
||||
}
|
||||
|
||||
bool rv_feq_s(uint32_t a, uint32_t b, uint32_t* fflags) {
|
||||
auto r = f32_eq(to_float32_t(a), to_float32_t(b));
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return r;
|
||||
}
|
||||
|
||||
uint32_t rv_fmin(uint32_t a, uint32_t b, uint32_t* fflags) {
|
||||
int r;
|
||||
bool rv_feq_d(uint64_t a, uint64_t b, uint32_t* fflags) {
|
||||
auto r = f64_eq(to_float64_t(a), to_float64_t(b));
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return r;
|
||||
}
|
||||
|
||||
uint32_t rv_fmin_s(uint32_t a, uint32_t b, uint32_t* fflags) {
|
||||
uint32_t r;
|
||||
if (isNaNF32UI(a) && isNaNF32UI(b)) {
|
||||
r = defaultNaNF32UI;
|
||||
} else {
|
||||
|
@ -156,8 +328,26 @@ uint32_t rv_fmin(uint32_t a, uint32_t b, uint32_t* fflags) {
|
|||
return r;
|
||||
}
|
||||
|
||||
uint32_t rv_fmax(uint32_t a, uint32_t b, uint32_t* fflags) {
|
||||
int r;
|
||||
uint64_t rv_fmin_d(uint64_t a, uint64_t b, uint32_t* fflags) {
|
||||
uint64_t r;
|
||||
if (isNaNF64UI(a) && isNaNF64UI(b)) {
|
||||
r = defaultNaNF64UI;
|
||||
} else {
|
||||
auto fa = to_float64_t(a);
|
||||
auto fb = to_float64_t(b);
|
||||
if ((f64_lt_quiet(fa, fb) || (f64_eq(fa, fb) && (a & F64_SIGN)))
|
||||
|| isNaNF64UI(b)) {
|
||||
r = a;
|
||||
} else {
|
||||
r = b;
|
||||
}
|
||||
}
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return r;
|
||||
}
|
||||
|
||||
uint32_t rv_fmax_s(uint32_t a, uint32_t b, uint32_t* fflags) {
|
||||
uint32_t r;
|
||||
if (isNaNF32UI(a) && isNaNF32UI(b)) {
|
||||
r = defaultNaNF32UI;
|
||||
} else {
|
||||
|
@ -174,7 +364,25 @@ uint32_t rv_fmax(uint32_t a, uint32_t b, uint32_t* fflags) {
|
|||
return r;
|
||||
}
|
||||
|
||||
uint32_t rv_fclss(uint32_t a) {
|
||||
uint64_t rv_fmax_d(uint64_t a, uint64_t b, uint32_t* fflags) {
|
||||
uint64_t r;
|
||||
if (isNaNF64UI(a) && isNaNF64UI(b)) {
|
||||
r = defaultNaNF64UI;
|
||||
} else {
|
||||
auto fa = to_float64_t(a);
|
||||
auto fb = to_float64_t(b);
|
||||
if ((f64_lt_quiet(fb, fa) || (f64_eq(fb, fa) && (b & F64_SIGN)))
|
||||
|| isNaNF64UI(b)) {
|
||||
r = a;
|
||||
} else {
|
||||
r = b;
|
||||
}
|
||||
}
|
||||
if (fflags) { *fflags = get_fflags(); }
|
||||
return r;
|
||||
}
|
||||
|
||||
uint32_t rv_fclss_s(uint32_t a) {
|
||||
auto infOrNaN = (0xff == expF32UI(a));
|
||||
auto subnormOrZero = (0 == expF32UI(a));
|
||||
bool sign = signF32UI(a);
|
||||
|
@ -182,7 +390,7 @@ uint32_t rv_fclss(uint32_t a) {
|
|||
bool isNaN = isNaNF32UI(a);
|
||||
bool isSNaN = softfloat_isSigNaNF32UI(a);
|
||||
|
||||
int r =
|
||||
uint32_t r =
|
||||
( sign && infOrNaN && fracZero ) << 0 |
|
||||
( sign && !infOrNaN && !subnormOrZero ) << 1 |
|
||||
( sign && subnormOrZero && !fracZero ) << 2 |
|
||||
|
@ -197,31 +405,77 @@ uint32_t rv_fclss(uint32_t a) {
|
|||
return r;
|
||||
}
|
||||
|
||||
uint32_t rv_fsgnj(uint32_t a, uint32_t b) {
|
||||
|
||||
int sign = b & F32_SIGN;
|
||||
int r = sign | (a & ~F32_SIGN);
|
||||
uint32_t rv_fclss_d(uint64_t a) {
|
||||
auto infOrNaN = (0x7ff == expF64UI(a));
|
||||
auto subnormOrZero = (0 == expF64UI(a));
|
||||
bool sign = signF64UI(a);
|
||||
bool fracZero = (0 == fracF64UI(a));
|
||||
bool isNaN = isNaNF64UI(a);
|
||||
bool isSNaN = softfloat_isSigNaNF64UI(a);
|
||||
|
||||
uint32_t r =
|
||||
( sign && infOrNaN && fracZero ) << 0 |
|
||||
( sign && !infOrNaN && !subnormOrZero ) << 1 |
|
||||
( sign && subnormOrZero && !fracZero ) << 2 |
|
||||
( sign && subnormOrZero && fracZero ) << 3 |
|
||||
( !sign && infOrNaN && fracZero ) << 7 |
|
||||
( !sign && !infOrNaN && !subnormOrZero ) << 6 |
|
||||
( !sign && subnormOrZero && !fracZero ) << 5 |
|
||||
( !sign && subnormOrZero && fracZero ) << 4 |
|
||||
( isNaN && isSNaN ) << 8 |
|
||||
( isNaN && !isSNaN ) << 9;
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
uint32_t rv_fsgnjn(uint32_t a, uint32_t b) {
|
||||
|
||||
int sign = ~b & F32_SIGN;
|
||||
int r = sign | (a & ~F32_SIGN);
|
||||
|
||||
uint32_t rv_fsgnj_s(uint32_t a, uint32_t b) {
|
||||
auto sign = b & F32_SIGN;
|
||||
auto r = sign | (a & ~F32_SIGN);
|
||||
return r;
|
||||
}
|
||||
|
||||
uint32_t rv_fsgnjx(uint32_t a, uint32_t b) {
|
||||
|
||||
int sign1 = a & F32_SIGN;
|
||||
int sign2 = b & F32_SIGN;
|
||||
int r = (sign1 ^ sign2) | (a & ~F32_SIGN);
|
||||
|
||||
uint64_t rv_fsgnj_d(uint64_t a, uint64_t b) {
|
||||
auto sign = b & F64_SIGN;
|
||||
auto r = sign | (a & ~F64_SIGN);
|
||||
return r;
|
||||
}
|
||||
|
||||
uint32_t rv_fsgnjn_s(uint32_t a, uint32_t b) {
|
||||
auto sign = ~b & F32_SIGN;
|
||||
auto r = sign | (a & ~F32_SIGN);
|
||||
return r;
|
||||
}
|
||||
|
||||
uint64_t rv_fsgnjn_d(uint64_t a, uint64_t b) {
|
||||
auto sign = ~b & F64_SIGN;
|
||||
auto r = sign | (a & ~F64_SIGN);
|
||||
return r;
|
||||
}
|
||||
|
||||
uint32_t rv_fsgnjx_s(uint32_t a, uint32_t b) {
|
||||
auto sign1 = a & F32_SIGN;
|
||||
auto sign2 = b & F32_SIGN;
|
||||
auto r = (sign1 ^ sign2) | (a & ~F32_SIGN);
|
||||
return r;
|
||||
}
|
||||
|
||||
uint64_t rv_fsgnjx_d(uint64_t a, uint64_t b) {
|
||||
auto sign1 = a & F64_SIGN;
|
||||
auto sign2 = b & F64_SIGN;
|
||||
auto r = (sign1 ^ sign2) | (a & ~F64_SIGN);
|
||||
return r;
|
||||
}
|
||||
|
||||
uint32_t rv_dtof(uint64_t a) {
|
||||
auto r = f64_to_f32(to_float64_t(a));
|
||||
return from_float32_t(r);
|
||||
}
|
||||
|
||||
uint64_t rv_ftod(uint32_t a) {
|
||||
auto r = f32_to_f64(to_float32_t(a));
|
||||
return from_float64_t(r);
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -7,32 +7,73 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
uint32_t rv_fadd(uint32_t a, uint32_t b, uint32_t frm, uint32_t* fflags);
|
||||
uint32_t rv_fsub(uint32_t a, uint32_t b, uint32_t frm, uint32_t* fflags);
|
||||
uint32_t rv_fmul(uint32_t a, uint32_t b, uint32_t frm, uint32_t* fflags);
|
||||
uint32_t rv_fmadd(uint32_t a, uint32_t b, uint32_t c, uint32_t frm, uint32_t* fflags);
|
||||
uint32_t rv_fmsub(uint32_t a, uint32_t b, uint32_t c, uint32_t frm, uint32_t* fflags);
|
||||
uint32_t rv_fnmadd(uint32_t a, uint32_t b, uint32_t c, uint32_t frm, uint32_t* fflags);
|
||||
uint32_t rv_fnmsub(uint32_t a, uint32_t b, uint32_t c, uint32_t frm, uint32_t* fflags);
|
||||
uint32_t rv_fadd_s(uint32_t a, uint32_t b, uint32_t frm, uint32_t* fflags);
|
||||
uint32_t rv_fsub_s(uint32_t a, uint32_t b, uint32_t frm, uint32_t* fflags);
|
||||
uint32_t rv_fmul_s(uint32_t a, uint32_t b, uint32_t frm, uint32_t* fflags);
|
||||
uint32_t rv_fmadd_s(uint32_t a, uint32_t b, uint32_t c, uint32_t frm, uint32_t* fflags);
|
||||
uint32_t rv_fmsub_s(uint32_t a, uint32_t b, uint32_t c, uint32_t frm, uint32_t* fflags);
|
||||
uint32_t rv_fnmadd_s(uint32_t a, uint32_t b, uint32_t c, uint32_t frm, uint32_t* fflags);
|
||||
uint32_t rv_fnmsub_s(uint32_t a, uint32_t b, uint32_t c, uint32_t frm, uint32_t* fflags);
|
||||
uint32_t rv_fdiv_s(uint32_t a, uint32_t b, uint32_t frm, uint32_t* fflags);
|
||||
uint32_t rv_fsqrt_s(uint32_t a, uint32_t frm, uint32_t* fflags);
|
||||
|
||||
uint32_t rv_fdiv(uint32_t a, uint32_t b, uint32_t frm, uint32_t* fflags);
|
||||
uint32_t rv_fsqrt(uint32_t a, uint32_t frm, uint32_t* fflags);
|
||||
uint32_t rv_ftoi_s(uint32_t a, uint32_t frm, uint32_t* fflags);
|
||||
uint32_t rv_ftou_s(uint32_t a, uint32_t frm, uint32_t* fflags);
|
||||
uint32_t rv_itof_s(uint32_t a, uint32_t frm, uint32_t* fflags);
|
||||
uint32_t rv_utof_s(uint32_t a, uint32_t frm, uint32_t* fflags);
|
||||
|
||||
uint32_t rv_ftoi(uint32_t a, uint32_t frm, uint32_t* fflags);
|
||||
uint32_t rv_ftou(uint32_t a, uint32_t frm, uint32_t* fflags);
|
||||
uint32_t rv_itof(uint32_t a, uint32_t frm, uint32_t* fflags);
|
||||
uint32_t rv_utof(uint32_t a, uint32_t frm, uint32_t* fflags);
|
||||
uint64_t rv_ftol_s(uint32_t a, uint32_t frm, uint32_t* fflags);
|
||||
uint64_t rv_ftolu_s(uint32_t a, uint32_t frm, uint32_t* fflags);
|
||||
uint32_t rv_ltof_s(uint64_t a, uint32_t frm, uint32_t* fflags);
|
||||
uint32_t rv_lutof_s(uint64_t a, uint32_t frm, uint32_t* fflags);
|
||||
|
||||
uint32_t rv_fclss(uint32_t a);
|
||||
uint32_t rv_fsgnj(uint32_t a, uint32_t b);
|
||||
uint32_t rv_fsgnjn(uint32_t a, uint32_t b);
|
||||
uint32_t rv_fsgnjx(uint32_t a, uint32_t b);
|
||||
uint32_t rv_fclss_s(uint32_t a);
|
||||
|
||||
uint32_t rv_flt(uint32_t a, uint32_t b, uint32_t* fflags);
|
||||
uint32_t rv_fle(uint32_t a, uint32_t b, uint32_t* fflags);
|
||||
uint32_t rv_feq(uint32_t a, uint32_t b, uint32_t* fflags);
|
||||
uint32_t rv_fmin(uint32_t a, uint32_t b, uint32_t* fflags);
|
||||
uint32_t rv_fmax(uint32_t a, uint32_t b, uint32_t* fflags);
|
||||
uint32_t rv_fsgnj_s(uint32_t a, uint32_t b);
|
||||
uint32_t rv_fsgnjn_s(uint32_t a, uint32_t b);
|
||||
uint32_t rv_fsgnjx_s(uint32_t a, uint32_t b);
|
||||
|
||||
bool rv_flt_s(uint32_t a, uint32_t b, uint32_t* fflags);
|
||||
bool rv_fle_s(uint32_t a, uint32_t b, uint32_t* fflags);
|
||||
bool rv_feq_s(uint32_t a, uint32_t b, uint32_t* fflags);
|
||||
uint32_t rv_fmin_s(uint32_t a, uint32_t b, uint32_t* fflags);
|
||||
uint32_t rv_fmax_s(uint32_t a, uint32_t b, uint32_t* fflags);
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
uint64_t rv_fadd_d(uint64_t a, uint64_t b, uint32_t frm, uint32_t* fflags);
|
||||
uint64_t rv_fsub_d(uint64_t a, uint64_t b, uint32_t frm, uint32_t* fflags);
|
||||
uint64_t rv_fmul_d(uint64_t a, uint64_t b, uint32_t frm, uint32_t* fflags);
|
||||
uint64_t rv_fdiv_d(uint64_t a, uint64_t b, uint32_t frm, uint32_t* fflags);
|
||||
uint64_t rv_fsqrt_d(uint64_t a, uint32_t frm, uint32_t* fflags);
|
||||
|
||||
uint64_t rv_fmadd_d(uint64_t a, uint64_t b, uint64_t c, uint32_t frm, uint32_t* fflags);
|
||||
uint64_t rv_fmsub_d(uint64_t a, uint64_t b, uint64_t c, uint32_t frm, uint32_t* fflags);
|
||||
uint64_t rv_fnmadd_d(uint64_t a, uint64_t b, uint64_t c, uint32_t frm, uint32_t* fflags);
|
||||
uint64_t rv_fnmsub_d(uint64_t a, uint64_t b, uint64_t c, uint32_t frm, uint32_t* fflags);
|
||||
|
||||
uint32_t rv_ftoi_d(uint64_t a, uint32_t frm, uint32_t* fflags);
|
||||
uint32_t rv_ftou_d(uint64_t a, uint32_t frm, uint32_t* fflags);
|
||||
uint64_t rv_ftol_d(uint64_t a, uint32_t frm, uint32_t* fflags);
|
||||
uint64_t rv_ftolu_d(uint64_t a, uint32_t frm, uint32_t* fflags);
|
||||
uint64_t rv_itof_d(uint32_t a, uint32_t frm, uint32_t* fflags);
|
||||
uint64_t rv_utof_d(uint32_t a, uint32_t frm, uint32_t* fflags);
|
||||
uint64_t rv_ltof_d(uint64_t a, uint32_t frm, uint32_t* fflags);
|
||||
uint64_t rv_lutof_d(uint64_t a, uint32_t frm, uint32_t* fflags);
|
||||
|
||||
uint32_t rv_fclss_d(uint64_t a);
|
||||
uint64_t rv_fsgnj_d(uint64_t a, uint64_t b);
|
||||
uint64_t rv_fsgnjn_d(uint64_t a, uint64_t b);
|
||||
uint64_t rv_fsgnjx_d(uint64_t a, uint64_t b);
|
||||
|
||||
bool rv_flt_d(uint64_t a, uint64_t b, uint32_t* fflags);
|
||||
bool rv_fle_d(uint64_t a, uint64_t b, uint32_t* fflags);
|
||||
bool rv_feq_d(uint64_t a, uint64_t b, uint32_t* fflags);
|
||||
uint64_t rv_fmin_d(uint64_t a, uint64_t b, uint32_t* fflags);
|
||||
uint64_t rv_fmax_d(uint64_t a, uint64_t b, uint32_t* fflags);
|
||||
|
||||
uint32_t rv_dtof(uint64_t a);
|
||||
uint64_t rv_ftod(uint32_t a);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
@ -56,7 +56,7 @@ inline void Unpack8888(TexFormat format,
|
|||
uint32_t texel,
|
||||
uint32_t* lo,
|
||||
uint32_t* hi) {
|
||||
int r, g, b, a;
|
||||
uint32_t r, g, b, a;
|
||||
switch (format) {
|
||||
case TexFormat::A8R8G8B8:
|
||||
r = (texel >> 16) & 0xff;
|
||||
|
|
|
@ -29,6 +29,11 @@ else
|
|||
CXXFLAGS += -O2 -DNDEBUG
|
||||
endif
|
||||
|
||||
# XLEN parameterization
|
||||
ifdef XLEN
|
||||
CXXFLAGS += -DXLEN=$(XLEN)
|
||||
endif
|
||||
|
||||
PROJECT = simx
|
||||
|
||||
all: $(DESTDIR)/$(PROJECT)
|
||||
|
@ -43,4 +48,4 @@ $(DESTDIR)/lib$(PROJECT).so: $(SRCS)
|
|||
$(CXX) $(CXXFLAGS) -MM $^ > .depend;
|
||||
|
||||
clean:
|
||||
rm -rf obj_dir $(DESTDIR)/$(PROJECT) $(DESTDIR)/lib$(PROJECT).so
|
||||
rm -rf obj_dir $(DESTDIR)/$(PROJECT) $(DESTDIR)/lib$(PROJECT).so
|
||||
|
|
|
@ -21,8 +21,7 @@ private:
|
|||
uint16_t num_barriers_;
|
||||
|
||||
public:
|
||||
ArchDef(const std::string& /*arch*/,
|
||||
uint16_t num_cores,
|
||||
ArchDef(uint16_t num_cores,
|
||||
uint16_t num_warps,
|
||||
uint16_t num_threads)
|
||||
: num_cores_(num_cores)
|
||||
|
|
|
@ -488,11 +488,11 @@ private:
|
|||
} else {
|
||||
bool hit = false;
|
||||
bool found_free_block = false;
|
||||
int hit_block_id = 0;
|
||||
int repl_block_id = 0;
|
||||
uint32_t hit_block_id = 0;
|
||||
uint32_t repl_block_id = 0;
|
||||
uint32_t max_cnt = 0;
|
||||
|
||||
for (int i = 0, n = set.blocks.size(); i < n; ++i) {
|
||||
for (uint32_t i = 0, n = set.blocks.size(); i < n; ++i) {
|
||||
auto& block = set.blocks.at(i);
|
||||
if (block.valid) {
|
||||
if (block.tag == pipeline_req.tag) {
|
||||
|
|
|
@ -16,7 +16,7 @@ namespace vortex {
|
|||
|
||||
enum Constants {
|
||||
|
||||
SMEM_BANK_OFFSET = log2ceil(sizeof(Word)) + log2ceil(STACK_SIZE / sizeof(Word)),
|
||||
SMEM_BANK_OFFSET = log2ceil(sizeof(uint32_t)) + log2ceil(STACK_SIZE / sizeof(uint32_t)),
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
using namespace vortex;
|
||||
|
||||
Core::Core(const SimContext& ctx, const ArchDef &arch, Word id)
|
||||
Core::Core(const SimContext& ctx, const ArchDef &arch, uint32_t id)
|
||||
: SimObject(ctx, "Core")
|
||||
, MemRspPort(this)
|
||||
, MemReqPort(this)
|
||||
|
@ -73,7 +73,7 @@ Core::Core(const SimContext& ctx, const ArchDef &arch, Word id)
|
|||
, decode_latch_("decode")
|
||||
, pending_icache_(arch_.num_warps())
|
||||
{
|
||||
for (int i = 0; i < arch_.num_warps(); ++i) {
|
||||
for (uint32_t i = 0; i < arch_.num_warps(); ++i) {
|
||||
warps_.at(i) = std::make_shared<Warp>(this, i);
|
||||
}
|
||||
|
||||
|
@ -195,7 +195,7 @@ void Core::tick() {
|
|||
|
||||
void Core::schedule() {
|
||||
bool foundSchedule = false;
|
||||
int scheduled_warp = last_schedule_wid_;
|
||||
uint32_t scheduled_warp = last_schedule_wid_;
|
||||
|
||||
// round robin scheduling
|
||||
for (size_t wid = 0, nw = arch_.num_warps(); wid < nw; ++wid) {
|
||||
|
@ -367,11 +367,11 @@ void Core::commit() {
|
|||
}
|
||||
}
|
||||
|
||||
WarpMask Core::wspawn(int num_warps, int nextPC) {
|
||||
WarpMask Core::wspawn(uint32_t num_warps, uint32_t nextPC) {
|
||||
WarpMask ret(1);
|
||||
int active_warps = std::min<int>(num_warps, arch_.num_warps());
|
||||
uint32_t active_warps = std::min<uint32_t>(num_warps, arch_.num_warps());
|
||||
DP(3, "*** Activate " << (active_warps-1) << " warps at PC: " << std::hex << nextPC);
|
||||
for (int i = 1; i < active_warps; ++i) {
|
||||
for (uint32_t i = 1; i < active_warps; ++i) {
|
||||
auto warp = warps_.at(i);
|
||||
warp->setPC(nextPC);
|
||||
warp->setTmask(0, true);
|
||||
|
@ -380,7 +380,7 @@ WarpMask Core::wspawn(int num_warps, int nextPC) {
|
|||
return ret;
|
||||
}
|
||||
|
||||
WarpMask Core::barrier(int bar_id, int count, int warp_id) {
|
||||
WarpMask Core::barrier(uint32_t bar_id, uint32_t count, uint32_t warp_id) {
|
||||
WarpMask ret(0);
|
||||
auto& barrier = barriers_.at(bar_id);
|
||||
barrier.set(warp_id);
|
||||
|
@ -389,7 +389,7 @@ WarpMask Core::barrier(int bar_id, int count, int warp_id) {
|
|||
DP(3, "*** Suspend warp #" << warp_id << " at barrier #" << bar_id);
|
||||
return ret;
|
||||
}
|
||||
for (int i = 0; i < arch_.num_warps(); ++i) {
|
||||
for (uint32_t i = 0; i < arch_.num_warps(); ++i) {
|
||||
if (barrier.test(i)) {
|
||||
DP(3, "*** Resume warp #" << i << " at barrier #" << bar_id);
|
||||
warps_.at(i)->activate();
|
||||
|
@ -400,45 +400,45 @@ WarpMask Core::barrier(int bar_id, int count, int warp_id) {
|
|||
return ret;
|
||||
}
|
||||
|
||||
Word Core::icache_read(Addr addr, Size size) {
|
||||
Word data;
|
||||
mmu_.read(&data, addr, size, 0);
|
||||
return data;
|
||||
void Core::icache_read(void *data, uint64_t addr, uint32_t size) {
|
||||
mmu_.read(data, addr, size, 0);
|
||||
}
|
||||
|
||||
Word Core::dcache_read(Addr addr, Size size) {
|
||||
Word data;
|
||||
void Core::dcache_read(void *data, uint64_t addr, uint32_t size) {
|
||||
auto type = get_addr_type(addr, size);
|
||||
if (type == AddrType::Shared) {
|
||||
smem_.read(&data, addr & (SMEM_SIZE-1), size);
|
||||
addr &= (SMEM_SIZE-1);
|
||||
smem_.read(data, addr, size);
|
||||
} else {
|
||||
mmu_.read(&data, addr, size, 0);
|
||||
mmu_.read(data, addr, size, 0);
|
||||
}
|
||||
return data;
|
||||
}
|
||||
|
||||
void Core::dcache_write(Addr addr, Word data, Size size) {
|
||||
void Core::dcache_write(const void* data, uint64_t addr, uint32_t size) {
|
||||
if (addr >= IO_COUT_ADDR
|
||||
&& addr < (IO_COUT_ADDR + IO_COUT_SIZE)) {
|
||||
this->writeToStdOut(addr, data);
|
||||
&& addr <= (IO_COUT_ADDR + IO_COUT_SIZE - 1)) {
|
||||
this->writeToStdOut(data, addr, size);
|
||||
} else {
|
||||
auto type = get_addr_type(addr, size);
|
||||
if (type == AddrType::Shared) {
|
||||
smem_.write(&data, addr & (SMEM_SIZE-1), size);
|
||||
addr &= (SMEM_SIZE-1);
|
||||
smem_.write(data, addr, size);
|
||||
} else {
|
||||
mmu_.write(&data, addr, size, 0);
|
||||
mmu_.write(data, addr, size, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Word Core::tex_read(uint32_t unit, Word u, Word v, Word lod, std::vector<mem_addr_size_t>* mem_addrs) {
|
||||
uint32_t Core::tex_read(uint32_t unit, uint32_t u, uint32_t v, uint32_t lod, std::vector<mem_addr_size_t>* mem_addrs) {
|
||||
return tex_units_.at(unit).read(u, v, lod, mem_addrs);
|
||||
}
|
||||
|
||||
void Core::writeToStdOut(Addr addr, Word data) {
|
||||
void Core::writeToStdOut(const void* data, uint64_t addr, uint32_t size) {
|
||||
if (size != 1)
|
||||
std::abort();
|
||||
uint32_t tid = (addr - IO_COUT_ADDR) & (IO_COUT_SIZE-1);
|
||||
auto& ss_buf = print_bufs_[tid];
|
||||
char c = (char)data;
|
||||
char c = *(char*)data;
|
||||
ss_buf << c;
|
||||
if (c == '\n') {
|
||||
std::cout << std::dec << "#" << tid << ": " << ss_buf.str() << std::flush;
|
||||
|
@ -446,7 +446,7 @@ void Core::writeToStdOut(Addr addr, Word data) {
|
|||
}
|
||||
}
|
||||
|
||||
Word Core::get_csr(Addr addr, int tid, int wid) {
|
||||
uint32_t Core::get_csr(uint32_t addr, uint32_t tid, uint32_t wid) {
|
||||
switch (addr) {
|
||||
case CSR_SATP:
|
||||
case CSR_PMPCFG0:
|
||||
|
@ -502,13 +502,13 @@ Word Core::get_csr(Addr addr, int tid, int wid) {
|
|||
return perf_stats_.instrs & 0xffffffff;
|
||||
case CSR_MINSTRET_H:
|
||||
// NumInsts
|
||||
return (Word)(perf_stats_.instrs >> 32);
|
||||
return (uint32_t)(perf_stats_.instrs >> 32);
|
||||
case CSR_MCYCLE:
|
||||
// NumCycles
|
||||
return (Word)SimPlatform::instance().cycles();
|
||||
return (uint32_t)SimPlatform::instance().cycles();
|
||||
case CSR_MCYCLE_H:
|
||||
// NumCycles
|
||||
return (Word)(SimPlatform::instance().cycles() >> 32);
|
||||
return (uint32_t)(SimPlatform::instance().cycles() >> 32);
|
||||
case CSR_MPM_IBUF_ST:
|
||||
return perf_stats_.ibuf_stalls & 0xffffffff;
|
||||
case CSR_MPM_IBUF_ST_H:
|
||||
|
@ -644,7 +644,7 @@ Word Core::get_csr(Addr addr, int tid, int wid) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
void Core::set_csr(Addr addr, Word value, int /*tid*/, int wid) {
|
||||
void Core::set_csr(uint32_t addr, uint32_t value, uint32_t /*tid*/, uint32_t wid) {
|
||||
if (addr == CSR_FFLAGS) {
|
||||
fcsrs_.at(wid) = (fcsrs_.at(wid) & ~0x1F) | (value & 0x1F);
|
||||
} else if (addr == CSR_FRM) {
|
||||
|
|
|
@ -68,7 +68,7 @@ public:
|
|||
SimPort<MemRsp> MemRspPort;
|
||||
SimPort<MemReq> MemReqPort;
|
||||
|
||||
Core(const SimContext& ctx, const ArchDef &arch, Word id);
|
||||
Core(const SimContext& ctx, const ArchDef &arch, uint32_t id);
|
||||
~Core();
|
||||
|
||||
void attach_ram(RAM* ram);
|
||||
|
@ -79,7 +79,7 @@ public:
|
|||
|
||||
void tick();
|
||||
|
||||
Word id() const {
|
||||
uint32_t id() const {
|
||||
return id_;
|
||||
}
|
||||
|
||||
|
@ -95,25 +95,25 @@ public:
|
|||
return perf_stats_;
|
||||
}
|
||||
|
||||
Word getIRegValue(int reg) const {
|
||||
uint32_t getIRegValue(int reg) const {
|
||||
return warps_.at(0)->getIRegValue(reg);
|
||||
}
|
||||
|
||||
Word get_csr(Addr addr, int tid, int wid);
|
||||
uint32_t get_csr(uint32_t addr, uint32_t tid, uint32_t wid);
|
||||
|
||||
void set_csr(Addr addr, Word value, int tid, int wid);
|
||||
void set_csr(uint32_t addr, uint32_t value, uint32_t tid, uint32_t wid);
|
||||
|
||||
WarpMask wspawn(int num_warps, int nextPC);
|
||||
WarpMask wspawn(uint32_t num_warps, uint32_t nextPC);
|
||||
|
||||
WarpMask barrier(int bar_id, int count, int warp_id);
|
||||
WarpMask barrier(uint32_t bar_id, uint32_t count, uint32_t warp_id);
|
||||
|
||||
Word icache_read(Addr, Size);
|
||||
void icache_read(void* data, uint64_t addr, uint32_t size);
|
||||
|
||||
Word dcache_read(Addr, Size);
|
||||
void dcache_read(void* data, uint64_t addr, uint32_t size);
|
||||
|
||||
void dcache_write(Addr, Word, Size);
|
||||
void dcache_write(const void* data, uint64_t addr, uint32_t size);
|
||||
|
||||
Word tex_read(uint32_t unit, Word lod, Word u, Word v, std::vector<mem_addr_size_t>* mem_addrs);
|
||||
uint32_t tex_read(uint32_t unit, uint32_t lod, uint32_t u, uint32_t v, std::vector<mem_addr_size_t>* mem_addrs);
|
||||
|
||||
void trigger_ecall();
|
||||
|
||||
|
@ -129,11 +129,11 @@ private:
|
|||
void execute();
|
||||
void commit();
|
||||
|
||||
void writeToStdOut(Addr addr, Word data);
|
||||
void writeToStdOut(const void* data, uint64_t addr, uint32_t size);
|
||||
|
||||
void cout_flush();
|
||||
|
||||
Word id_;
|
||||
uint32_t id_;
|
||||
const ArchDef arch_;
|
||||
const Decoder decoder_;
|
||||
MemoryUnit mmu_;
|
||||
|
@ -142,7 +142,7 @@ private:
|
|||
|
||||
std::vector<std::shared_ptr<Warp>> warps_;
|
||||
std::vector<WarpMask> barriers_;
|
||||
std::vector<Word> csrs_;
|
||||
std::vector<uint32_t> csrs_;
|
||||
std::vector<Byte> fcsrs_;
|
||||
std::vector<IBuffer> ibuffers_;
|
||||
Scoreboard scoreboard_;
|
||||
|
|
|
@ -19,7 +19,7 @@ struct InstTableEntry_t {
|
|||
InstType iType;
|
||||
};
|
||||
|
||||
static const std::unordered_map<int, struct InstTableEntry_t> sc_instTable = {
|
||||
static const std::unordered_map<Opcode, struct InstTableEntry_t> sc_instTable = {
|
||||
{Opcode::NOP, {false, InstType::N_TYPE}},
|
||||
{Opcode::R_INST, {false, InstType::R_TYPE}},
|
||||
{Opcode::L_INST, {false, InstType::I_TYPE}},
|
||||
|
@ -42,15 +42,54 @@ static const std::unordered_map<int, struct InstTableEntry_t> sc_instTable = {
|
|||
{Opcode::VSET, {false, InstType::V_TYPE}},
|
||||
{Opcode::GPGPU, {false, InstType::R_TYPE}},
|
||||
{Opcode::GPU, {false, InstType::R4_TYPE}},
|
||||
{Opcode::R_INST_W, {false, InstType::R_TYPE}},
|
||||
{Opcode::I_INST_W, {false, InstType::I_TYPE}},
|
||||
};
|
||||
|
||||
enum Constants {
|
||||
width_opcode= 7,
|
||||
width_reg = 5,
|
||||
width_func2 = 2,
|
||||
width_func3 = 3,
|
||||
width_func6 = 6,
|
||||
width_func7 = 7,
|
||||
width_mop = 3,
|
||||
width_vmask = 1,
|
||||
width_i_imm = 12,
|
||||
width_j_imm = 20,
|
||||
width_v_imm = 11,
|
||||
|
||||
shift_opcode= 0,
|
||||
shift_rd = width_opcode,
|
||||
shift_func3 = shift_rd + width_reg,
|
||||
shift_rs1 = shift_func3 + width_func3,
|
||||
shift_rs2 = shift_rs1 + width_reg,
|
||||
shift_func2 = shift_rs2 + width_reg,
|
||||
shift_func7 = shift_rs2 + width_reg,
|
||||
shift_rs3 = shift_func7 + width_func2,
|
||||
shift_vmop = shift_func7 + width_vmask,
|
||||
shift_vnf = shift_vmop + width_mop,
|
||||
shift_func6 = shift_func7 + width_vmask,
|
||||
shift_vset = shift_func7 + width_func6,
|
||||
|
||||
mask_opcode = (1<<width_opcode)-1,
|
||||
mask_reg = (1<<width_reg)-1,
|
||||
mask_func2 = (1<<width_func2)-1,
|
||||
mask_func3 = (1<<width_func3)-1,
|
||||
mask_func6 = (1<<width_func6)-1,
|
||||
mask_func7 = (1<<width_func7)-1,
|
||||
mask_i_imm = (1<<width_i_imm)-1,
|
||||
mask_j_imm = (1<<width_j_imm)-1,
|
||||
mask_v_imm = (1<<width_v_imm)-1,
|
||||
};
|
||||
|
||||
static const char* op_string(const Instr &instr) {
|
||||
auto opcode = instr.getOpcode();
|
||||
Word func2 = instr.getFunc2();
|
||||
Word func3 = instr.getFunc3();
|
||||
Word func7 = instr.getFunc7();
|
||||
Word rs2 = instr.getRSrc(1);
|
||||
Word imm = instr.getImm();
|
||||
auto func2 = instr.getFunc2();
|
||||
auto func3 = instr.getFunc3();
|
||||
auto func7 = instr.getFunc7();
|
||||
auto rs2 = instr.getRSrc(1);
|
||||
auto imm = instr.getImm();
|
||||
|
||||
switch (opcode) {
|
||||
case Opcode::NOP: return "NOP";
|
||||
|
@ -115,8 +154,10 @@ static const char* op_string(const Instr &instr) {
|
|||
case 0: return "LBI";
|
||||
case 1: return "LHI";
|
||||
case 2: return "LW";
|
||||
case 3: return "LD";
|
||||
case 4: return "LBU";
|
||||
case 5: return "LHU";
|
||||
case 6: return "LWU";
|
||||
default:
|
||||
std::abort();
|
||||
}
|
||||
|
@ -125,9 +166,38 @@ static const char* op_string(const Instr &instr) {
|
|||
case 0: return "SB";
|
||||
case 1: return "SH";
|
||||
case 2: return "SW";
|
||||
case 3: return "SD";
|
||||
default:
|
||||
std::abort();
|
||||
}
|
||||
case Opcode::R_INST_W:
|
||||
if (func7 & 0x1){
|
||||
switch (func3) {
|
||||
case 0: return "MULW";
|
||||
case 4: return "DIVW";
|
||||
case 5: return "DIVUW";
|
||||
case 6: return "REMW";
|
||||
case 7: return "REMUW";
|
||||
default:
|
||||
std::abort();
|
||||
}
|
||||
} else {
|
||||
switch (func3) {
|
||||
case 0: return func7 ? "SUBW" : "ADDW";
|
||||
case 1: return "SLLW";
|
||||
case 5: return func7 ? "SRAW" : "SRLW";
|
||||
default:
|
||||
std::abort();
|
||||
}
|
||||
}
|
||||
case Opcode::I_INST_W:
|
||||
switch (func3) {
|
||||
case 0: return "ADDIW";
|
||||
case 1: return "SLLIW";
|
||||
case 5: return func7 ? "SRAIW" : "SRLIW";
|
||||
default:
|
||||
std::abort();
|
||||
}
|
||||
case Opcode::SYS_INST:
|
||||
switch (func3) {
|
||||
case 0:
|
||||
|
@ -150,49 +220,129 @@ static const char* op_string(const Instr &instr) {
|
|||
std::abort();
|
||||
}
|
||||
case Opcode::FENCE: return "FENCE";
|
||||
case Opcode::FL: return (func3 == 0x2) ? "FL" : "VL";
|
||||
case Opcode::FS: return (func3 == 0x2) ? "FS" : "VS";
|
||||
case Opcode::FL:
|
||||
switch (func3) {
|
||||
case 0x1: return "VL";
|
||||
case 0x2: return "FLW";
|
||||
case 0x3: return "FLD";
|
||||
default:
|
||||
std::abort();
|
||||
}
|
||||
case Opcode::FS:
|
||||
switch (func3) {
|
||||
case 0x1: return "VS";
|
||||
case 0x2: return "FSW";
|
||||
case 0x3: return "FSD";
|
||||
default:
|
||||
std::abort();
|
||||
}
|
||||
case Opcode::FCI:
|
||||
switch (func7) {
|
||||
case 0x00: return "FADD";
|
||||
case 0x04: return "FSUB";
|
||||
case 0x08: return "FMUL";
|
||||
case 0x0c: return "FDIV";
|
||||
case 0x2c: return "FSQRT";
|
||||
case 0x00: return "FADD.S";
|
||||
case 0x01: return "FADD.D";
|
||||
case 0x04: return "FSUB.S";
|
||||
case 0x05: return "FSUB.D";
|
||||
case 0x08: return "FMUL.S";
|
||||
case 0x09: return "FMUL.D";
|
||||
case 0x0c: return "FDIV.S";
|
||||
case 0x0d: return "FDIV.D";
|
||||
case 0x2c: return "FSQRT.S";
|
||||
case 0x2d: return "FSQRT.D";
|
||||
case 0x10:
|
||||
switch (func3) {
|
||||
case 0: return "FSGNJ";
|
||||
case 1: return "FSGNJN";
|
||||
case 2: return "FSGNJX";
|
||||
case 0: return "FSGNJ.S";
|
||||
case 1: return "FSGNJN.S";
|
||||
case 2: return "FSGNJX.S";
|
||||
default:
|
||||
std::abort();
|
||||
}
|
||||
case 0x11:
|
||||
switch (func3) {
|
||||
case 0: return "FSGNJ.D";
|
||||
case 1: return "FSGNJN.D";
|
||||
case 2: return "FSGNJX.D";
|
||||
default:
|
||||
std::abort();
|
||||
}
|
||||
case 0x14:
|
||||
switch (func3) {
|
||||
case 0: return "FMIM";
|
||||
case 1: return "FMAX";
|
||||
case 0: return "FMIN.S";
|
||||
case 1: return "FMAX.S";
|
||||
default:
|
||||
std::abort();
|
||||
}
|
||||
case 0x15:
|
||||
switch (func3) {
|
||||
case 0: return "FMIN.D";
|
||||
case 1: return "FMAX.D";
|
||||
default:
|
||||
std::abort();
|
||||
}
|
||||
case 0x20: return "FCVT.S.D";
|
||||
case 0x21: return "FCVT.D.S";
|
||||
case 0x50:
|
||||
switch (func3) {
|
||||
case 0: return "FLE";
|
||||
case 1: return "FLT";
|
||||
case 2: return "FEQ";
|
||||
case 0: return "FLE.S";
|
||||
case 1: return "FLT.S";
|
||||
case 2: return "FEQ.S";
|
||||
default:
|
||||
std::abort();
|
||||
}
|
||||
case 0x60: return rs2 ? "FCVT.WU.S" : "FCVT.W.S";
|
||||
case 0x68: return rs2 ? "FCVT.S.WU" : "FCVT.S.W";
|
||||
case 0x70: return func3 ? "FLASS" : "FMV.X.W";
|
||||
case 0x51:
|
||||
switch (func3) {
|
||||
case 0: return "FLE.D";
|
||||
case 1: return "FLT.D";
|
||||
case 2: return "FEQ.D";
|
||||
default:
|
||||
std::abort();
|
||||
}
|
||||
case 0x60:
|
||||
switch (rs2) {
|
||||
case 0: return "FCVT.W.S";
|
||||
case 1: return "FCVT.WU.S";
|
||||
case 2: return "FCVT.L.S";
|
||||
case 3: return "FCVT.LU.S";
|
||||
default:
|
||||
std::abort();
|
||||
}
|
||||
case 0x61:
|
||||
switch (rs2) {
|
||||
case 0: return "FCVT.W.D";
|
||||
case 1: return "FCVT.WU.D";
|
||||
case 2: return "FCVT.L.D";
|
||||
case 3: return "FCVT.LU.D";
|
||||
default:
|
||||
std::abort();
|
||||
}
|
||||
case 0x68:
|
||||
switch (rs2) {
|
||||
case 0: return "FCVT.S.W";
|
||||
case 1: return "FCVT.S.WU";
|
||||
case 2: return "FCVT.S.L";
|
||||
case 3: return "FCVT.S.LU";
|
||||
default:
|
||||
std::abort();
|
||||
}
|
||||
case 0x69:
|
||||
switch (rs2) {
|
||||
case 0: return "FCVT.D.W";
|
||||
case 1: return "FCVT.D.WU";
|
||||
case 2: return "FCVT.D.L";
|
||||
case 3: return "FCVT.D.LU";
|
||||
default:
|
||||
std::abort();
|
||||
}
|
||||
case 0x70: return func3 ? "FCLASS.S" : "FMV.X.W";
|
||||
case 0x71: return func3 ? "FCLASS.D" : "FMV.X.D";
|
||||
case 0x78: return "FMV.W.X";
|
||||
case 0x79: return "FMV.D.X";
|
||||
default:
|
||||
std::abort();
|
||||
}
|
||||
case Opcode::FMADD: return "FMADD";
|
||||
case Opcode::FMSUB: return "FMSUB";
|
||||
case Opcode::FMNMADD: return "FMNMADD";
|
||||
case Opcode::FMNMSUB: return "FMNMSUB";
|
||||
case Opcode::FMADD: return func2 ? "FMADD.D" : "FMADD.S";
|
||||
case Opcode::FMSUB: return func2 ? "FMSUB.D" : "FMSUB.S";
|
||||
case Opcode::FMNMADD: return func2 ? "FNMADD.D" : "FNMADD.S";
|
||||
case Opcode::FMNMSUB: return func2 ? "FNMSUB.D" : "FNMSUB.S";
|
||||
case Opcode::VSET: return "VSET";
|
||||
case Opcode::GPGPU:
|
||||
switch (func3) {
|
||||
|
@ -226,8 +376,8 @@ static const char* op_string(const Instr &instr) {
|
|||
namespace vortex {
|
||||
std::ostream &operator<<(std::ostream &os, const Instr &instr) {
|
||||
auto opcode = instr.getOpcode();
|
||||
Word func2 = instr.getFunc2();
|
||||
Word func3 = instr.getFunc3();
|
||||
auto func2 = instr.getFunc2();
|
||||
auto func3 = instr.getFunc3();
|
||||
|
||||
os << op_string(instr) << ": ";
|
||||
|
||||
|
@ -244,7 +394,7 @@ std::ostream &operator<<(std::ostream &os, const Instr &instr) {
|
|||
if (instr.getRDType() != RegType::None) {
|
||||
os << instr.getRDType() << std::dec << instr.getRDest() << " <- ";
|
||||
}
|
||||
int i = 0;
|
||||
uint32_t i = 0;
|
||||
for (; i < instr.getNRSrc(); ++i) {
|
||||
if (i) os << ", ";
|
||||
os << instr.getRSType(i) << std::dec << instr.getRSrc(i);
|
||||
|
@ -261,56 +411,22 @@ std::ostream &operator<<(std::ostream &os, const Instr &instr) {
|
|||
}
|
||||
}
|
||||
|
||||
Decoder::Decoder(const ArchDef &arch) {
|
||||
inst_s_ = arch.wsize() * 8;
|
||||
opcode_s_ = 7;
|
||||
reg_s_ = 5;
|
||||
func2_s_ = 2;
|
||||
func3_s_ = 3;
|
||||
mop_s_ = 3;
|
||||
vmask_s_ = 1;
|
||||
Decoder::Decoder(const ArchDef&) {}
|
||||
|
||||
shift_opcode_ = 0;
|
||||
shift_rd_ = opcode_s_;
|
||||
shift_func3_ = shift_rd_ + reg_s_;
|
||||
shift_rs1_ = shift_func3_ + func3_s_;
|
||||
shift_rs2_ = shift_rs1_ + reg_s_;
|
||||
shift_func2_ = shift_rs2_ + reg_s_;
|
||||
shift_func7_ = shift_rs2_ + reg_s_;
|
||||
shift_rs3_ = shift_func7_ + func2_s_;
|
||||
shift_vmop_ = shift_func7_ + vmask_s_;
|
||||
shift_vnf_ = shift_vmop_ + mop_s_;
|
||||
shift_func6_ = shift_func7_ + 1;
|
||||
shift_vset_ = shift_func7_ + 6;
|
||||
|
||||
reg_mask_ = 0x1f;
|
||||
func2_mask_ = 0x3;
|
||||
func3_mask_ = 0x7;
|
||||
func6_mask_ = 0x3f;
|
||||
func7_mask_ = 0x7f;
|
||||
opcode_mask_ = 0x7f;
|
||||
i_imm_mask_ = 0xfff;
|
||||
s_imm_mask_ = 0xfff;
|
||||
b_imm_mask_ = 0x1fff;
|
||||
u_imm_mask_ = 0xfffff;
|
||||
j_imm_mask_ = 0xfffff;
|
||||
v_imm_mask_ = 0x7ff;
|
||||
}
|
||||
|
||||
std::shared_ptr<Instr> Decoder::decode(Word code) const {
|
||||
std::shared_ptr<Instr> Decoder::decode(uint32_t code) const {
|
||||
auto instr = std::make_shared<Instr>();
|
||||
Opcode op = (Opcode)((code >> shift_opcode_) & opcode_mask_);
|
||||
auto op = Opcode((code >> shift_opcode) & mask_opcode);
|
||||
instr->setOpcode(op);
|
||||
|
||||
Word func2 = (code >> shift_func2_) & func2_mask_;
|
||||
Word func3 = (code >> shift_func3_) & func3_mask_;
|
||||
Word func6 = (code >> shift_func6_) & func6_mask_;
|
||||
Word func7 = (code >> shift_func7_) & func7_mask_;
|
||||
auto func2 = (code >> shift_func2) & mask_func2;
|
||||
auto func3 = (code >> shift_func3) & mask_func3;
|
||||
auto func6 = (code >> shift_func6) & mask_func6;
|
||||
auto func7 = (code >> shift_func7) & mask_func7;
|
||||
|
||||
int rd = (code >> shift_rd_) & reg_mask_;
|
||||
int rs1 = (code >> shift_rs1_) & reg_mask_;
|
||||
int rs2 = (code >> shift_rs2_) & reg_mask_;
|
||||
int rs3 = (code >> shift_rs3_) & reg_mask_;
|
||||
auto rd = (code >> shift_rd) & mask_reg;
|
||||
auto rs1 = (code >> shift_rs1) & mask_reg;
|
||||
auto rs2 = (code >> shift_rs2) & mask_reg;
|
||||
auto rs3 = (code >> shift_rs3) & mask_reg;
|
||||
|
||||
auto op_it = sc_instTable.find(op);
|
||||
if (op_it == sc_instTable.end()) {
|
||||
|
@ -320,7 +436,7 @@ std::shared_ptr<Instr> Decoder::decode(Word code) const {
|
|||
|
||||
auto iType = op_it->second.iType;
|
||||
if (op == Opcode::FL || op == Opcode::FS) {
|
||||
if (func3 != 0x2) {
|
||||
if (func3 != 0x2 && func3 != 0x3) {
|
||||
iType = InstType::V_TYPE;
|
||||
}
|
||||
}
|
||||
|
@ -330,40 +446,57 @@ std::shared_ptr<Instr> Decoder::decode(Word code) const {
|
|||
break;
|
||||
|
||||
case InstType::R_TYPE:
|
||||
if (op == Opcode::FCI) {
|
||||
switch (func7) {
|
||||
case 0x68: // FCVT.S.W, FCVT.S.WU
|
||||
if (op == Opcode::FCI) {
|
||||
switch (func7) {
|
||||
case 0x50: // FLE.S, FLT.S, FEQ.S
|
||||
case 0x51: // FLE.D, FLT.D, FEQ.D
|
||||
instr->setDestReg(rd, RegType::Integer);
|
||||
instr->setSrcReg(rs1, RegType::Float);
|
||||
instr->setSrcReg(rs2, RegType::Float);
|
||||
break;
|
||||
case 0x60: // FCVT.W.D, FCVT.WU.D, FCVT.L.D, FCVT.LU.D
|
||||
case 0x61: // FCVT.WU.S, FCVT.W.S, FCVT.L.S, FCVT.LU.S
|
||||
instr->setDestReg(rd, RegType::Integer);
|
||||
instr->setSrcReg(rs1, RegType::Float);
|
||||
instr->setSrcReg(rs2, RegType::Integer);
|
||||
break;
|
||||
case 0x68: // FCVT.S.W, FCVT.S.WU, FCVT.S.L, FCVT.S.LU
|
||||
case 0x69: // FCVT.D.W, FCVT.D.WU, FCVT.D.L, FCVT.D.LU
|
||||
instr->setDestReg(rd, RegType::Float);
|
||||
instr->setSrcReg(rs1, RegType::Integer);
|
||||
instr->setSrcReg(rs2, RegType::Integer);
|
||||
break;
|
||||
case 0x70: // FCLASS.S, FMV.X.W
|
||||
case 0x71: // FCLASS.D, FMV.X.D
|
||||
instr->setDestReg(rd, RegType::Integer);
|
||||
instr->setSrcReg(rs1, RegType::Float);
|
||||
break;
|
||||
case 0x78: // FMV.W.X
|
||||
instr->setSrcReg(rs1);
|
||||
case 0x79: // FMV.D.X
|
||||
instr->setDestReg(rd, RegType::Float);
|
||||
instr->setSrcReg(rs1, RegType::Integer);
|
||||
break;
|
||||
default:
|
||||
instr->setSrcFReg(rs1);
|
||||
}
|
||||
instr->setSrcFReg(rs2);
|
||||
switch (func7) {
|
||||
case 0x50: // FLE, FLT, FEQ
|
||||
case 0x60: // FCVT.WU.S, FCVT.W.S
|
||||
case 0x70: // FLASS, FMV.X.W
|
||||
instr->setDestReg(rd);
|
||||
instr->setDestReg(rd, RegType::Float);
|
||||
instr->setSrcReg(rs1, RegType::Float);
|
||||
instr->setSrcReg(rs2, RegType::Float);
|
||||
break;
|
||||
default:
|
||||
instr->setDestFReg(rd);
|
||||
}
|
||||
} else {
|
||||
instr->setDestReg(rd);
|
||||
instr->setSrcReg(rs1);
|
||||
instr->setSrcReg(rs2);
|
||||
instr->setDestReg(rd, RegType::Integer);
|
||||
instr->setSrcReg(rs1, RegType::Integer);
|
||||
instr->setSrcReg(rs2, RegType::Integer);
|
||||
}
|
||||
instr->setFunc3(func3);
|
||||
instr->setFunc7(func7);
|
||||
break;
|
||||
|
||||
case InstType::I_TYPE: {
|
||||
instr->setSrcReg(rs1);
|
||||
instr->setSrcReg(rs1, RegType::Integer);
|
||||
if (op == Opcode::FL) {
|
||||
instr->setDestFReg(rd);
|
||||
instr->setDestReg(rd, RegType::Float);
|
||||
} else {
|
||||
instr->setDestReg(rd);
|
||||
instr->setDestReg(rd, RegType::Integer);
|
||||
}
|
||||
instr->setFunc3(func3);
|
||||
instr->setFunc7(func7);
|
||||
|
@ -371,64 +504,71 @@ std::shared_ptr<Instr> Decoder::decode(Word code) const {
|
|||
case Opcode::SYS_INST:
|
||||
case Opcode::FENCE:
|
||||
// uint12
|
||||
instr->setImm(code >> shift_rs2_);
|
||||
instr->setImm(code >> shift_rs2);
|
||||
break;
|
||||
case Opcode::I_INST:
|
||||
case Opcode::I_INST_W:
|
||||
if (func3 == 0x1 || func3 == 0x5) {
|
||||
// int5
|
||||
instr->setImm(sext32(rs2, 5));
|
||||
auto shamt = rs2; // uint5
|
||||
#if (XLEN == 64)
|
||||
if (op == Opcode::I_INST) {
|
||||
// uint6
|
||||
shamt |= ((func7 & 0x1) << 5);
|
||||
}
|
||||
#endif
|
||||
instr->setImm(shamt);
|
||||
} else {
|
||||
// int12
|
||||
instr->setImm(sext32(code >> shift_rs2_, 12));
|
||||
auto imm = code >> shift_rs2;
|
||||
instr->setImm(sext(imm, width_i_imm));
|
||||
}
|
||||
break;
|
||||
default:
|
||||
// int12
|
||||
instr->setImm(sext32(code >> shift_rs2_, 12));
|
||||
auto imm = code >> shift_rs2;
|
||||
instr->setImm(sext(imm, width_i_imm));
|
||||
break;
|
||||
}
|
||||
} break;
|
||||
case InstType::S_TYPE: {
|
||||
instr->setSrcReg(rs1);
|
||||
instr->setSrcReg(rs1, RegType::Integer);
|
||||
if (op == Opcode::FS) {
|
||||
instr->setSrcFReg(rs2);
|
||||
instr->setSrcReg(rs2, RegType::Float);
|
||||
} else {
|
||||
instr->setSrcReg(rs2);
|
||||
instr->setSrcReg(rs2, RegType::Integer);
|
||||
}
|
||||
instr->setFunc3(func3);
|
||||
Word imm = (func7 << reg_s_) | rd;
|
||||
instr->setImm(sext32(imm, 12));
|
||||
auto imm = (func7 << width_reg) | rd;
|
||||
instr->setImm(sext(imm, width_i_imm));
|
||||
} break;
|
||||
|
||||
case InstType::B_TYPE: {
|
||||
instr->setSrcReg(rs1);
|
||||
instr->setSrcReg(rs2);
|
||||
instr->setSrcReg(rs1, RegType::Integer);
|
||||
instr->setSrcReg(rs2, RegType::Integer);
|
||||
instr->setFunc3(func3);
|
||||
Word bit_11 = rd & 0x1;
|
||||
Word bits_4_1 = rd >> 1;
|
||||
Word bit_10_5 = func7 & 0x3f;
|
||||
Word bit_12 = func7 >> 6;
|
||||
Word imm = (bits_4_1 << 1) | (bit_10_5 << 5) | (bit_11 << 11) | (bit_12 << 12);
|
||||
instr->setImm(sext32(imm, 13));
|
||||
auto bit_11 = rd & 0x1;
|
||||
auto bits_4_1 = rd >> 1;
|
||||
auto bit_10_5 = func7 & 0x3f;
|
||||
auto bit_12 = func7 >> 6;
|
||||
auto imm = (bits_4_1 << 1) | (bit_10_5 << 5) | (bit_11 << 11) | (bit_12 << 12);
|
||||
instr->setImm(sext(imm, width_i_imm+1));
|
||||
} break;
|
||||
|
||||
case InstType::U_TYPE:
|
||||
instr->setDestReg(rd);
|
||||
instr->setImm(sext32(code >> shift_func3_, 20));
|
||||
break;
|
||||
case InstType::U_TYPE: {
|
||||
instr->setDestReg(rd, RegType::Integer);
|
||||
auto imm = code >> shift_func3;
|
||||
instr->setImm(sext(imm, width_j_imm));
|
||||
} break;
|
||||
|
||||
case InstType::J_TYPE: {
|
||||
instr->setDestReg(rd);
|
||||
Word unordered = code >> shift_func3_;
|
||||
Word bits_19_12 = unordered & 0xff;
|
||||
Word bit_11 = (unordered >> 8) & 0x1;
|
||||
Word bits_10_1 = (unordered >> 9) & 0x3ff;
|
||||
Word bit_20 = (unordered >> 19) & 0x1;
|
||||
Word imm = 0 | (bits_10_1 << 1) | (bit_11 << 11) | (bits_19_12 << 12) | (bit_20 << 20);
|
||||
if (bit_20) {
|
||||
imm |= ~j_imm_mask_;
|
||||
}
|
||||
instr->setImm(imm);
|
||||
instr->setDestReg(rd, RegType::Integer);
|
||||
auto unordered = code >> shift_func3;
|
||||
auto bits_19_12 = unordered & 0xff;
|
||||
auto bit_11 = (unordered >> 8) & 0x1;
|
||||
auto bits_10_1 = (unordered >> 9) & 0x3ff;
|
||||
auto bit_20 = (unordered >> 19) & 0x1;
|
||||
auto imm = (bits_10_1 << 1) | (bit_11 << 11) | (bits_19_12 << 12) | (bit_20 << 20);
|
||||
instr->setImm(sext(imm, width_j_imm+1));
|
||||
} break;
|
||||
|
||||
case InstType::V_TYPE:
|
||||
|
@ -438,9 +578,9 @@ std::shared_ptr<Instr> Decoder::decode(Word code) const {
|
|||
instr->setSrcVReg(rs1);
|
||||
instr->setFunc3(func3);
|
||||
if (func3 == 7) {
|
||||
instr->setImm(!(code >> shift_vset_));
|
||||
instr->setImm(!(code >> shift_vset));
|
||||
if (instr->getImm()) {
|
||||
Word immed = (code >> shift_rs2_) & v_imm_mask_;
|
||||
auto immed = (code >> shift_rs2) & mask_v_imm;
|
||||
instr->setImm(immed);
|
||||
instr->setVlmul(immed & 0x3);
|
||||
instr->setVediv((immed >> 4) & 0x3);
|
||||
|
@ -450,7 +590,7 @@ std::shared_ptr<Instr> Decoder::decode(Word code) const {
|
|||
}
|
||||
} else {
|
||||
instr->setSrcVReg(rs2);
|
||||
instr->setVmask((code >> shift_func7_) & 0x1);
|
||||
instr->setVmask((code >> shift_func7) & 0x1);
|
||||
instr->setFunc6(func6);
|
||||
}
|
||||
} break;
|
||||
|
@ -460,9 +600,9 @@ std::shared_ptr<Instr> Decoder::decode(Word code) const {
|
|||
instr->setSrcVReg(rs1);
|
||||
instr->setVlsWidth(func3);
|
||||
instr->setSrcVReg(rs2);
|
||||
instr->setVmask(code >> shift_func7_);
|
||||
instr->setVmop((code >> shift_vmop_) & func3_mask_);
|
||||
instr->setVnf((code >> shift_vnf_) & func3_mask_);
|
||||
instr->setVmask(code >> shift_func7);
|
||||
instr->setVmop((code >> shift_vmop) & mask_func3);
|
||||
instr->setVnf((code >> shift_vnf) & mask_func3);
|
||||
break;
|
||||
|
||||
case Opcode::FS:
|
||||
|
@ -470,9 +610,9 @@ std::shared_ptr<Instr> Decoder::decode(Word code) const {
|
|||
instr->setSrcVReg(rs1);
|
||||
instr->setVlsWidth(func3);
|
||||
instr->setSrcVReg(rs2);
|
||||
instr->setVmask(code >> shift_func7_);
|
||||
instr->setVmop((code >> shift_vmop_) & func3_mask_);
|
||||
instr->setVnf((code >> shift_vnf_) & func3_mask_);
|
||||
instr->setVmask(code >> shift_func7);
|
||||
instr->setVmop((code >> shift_vmop) & mask_func3);
|
||||
instr->setVnf((code >> shift_vnf) & mask_func3);
|
||||
break;
|
||||
|
||||
default:
|
||||
|
@ -481,15 +621,15 @@ std::shared_ptr<Instr> Decoder::decode(Word code) const {
|
|||
break;
|
||||
case R4_TYPE:
|
||||
if (op == Opcode::GPU) {
|
||||
instr->setDestReg(rd);
|
||||
instr->setSrcReg(rs1);
|
||||
instr->setSrcReg(rs2);
|
||||
instr->setSrcReg(rs3);
|
||||
instr->setDestReg(rd, RegType::Integer);
|
||||
instr->setSrcReg(rs1, RegType::Integer);
|
||||
instr->setSrcReg(rs2, RegType::Integer);
|
||||
instr->setSrcReg(rs3, RegType::Integer);
|
||||
} else {
|
||||
instr->setDestFReg(rd);
|
||||
instr->setSrcFReg(rs1);
|
||||
instr->setSrcFReg(rs2);
|
||||
instr->setSrcFReg(rs3);
|
||||
instr->setDestReg(rd, RegType::Float);
|
||||
instr->setSrcReg(rs1, RegType::Float);
|
||||
instr->setSrcReg(rs2, RegType::Float);
|
||||
instr->setSrcReg(rs3, RegType::Float);
|
||||
}
|
||||
instr->setFunc2(func2);
|
||||
instr->setFunc3(func3);
|
||||
|
|
|
@ -7,55 +7,12 @@ namespace vortex {
|
|||
|
||||
class ArchDef;
|
||||
class Instr;
|
||||
class Pipeline;
|
||||
|
||||
class Decoder {
|
||||
public:
|
||||
Decoder(const ArchDef &);
|
||||
|
||||
std::shared_ptr<Instr> decode(Word code) const;
|
||||
|
||||
private:
|
||||
|
||||
Word inst_s_;
|
||||
Word opcode_s_;
|
||||
Word reg_s_;
|
||||
Word func2_s_;
|
||||
Word func3_s_;
|
||||
Word shift_opcode_;
|
||||
Word shift_rd_;
|
||||
Word shift_rs1_;
|
||||
Word shift_rs2_;
|
||||
Word shift_rs3_;
|
||||
Word shift_func2_;
|
||||
Word shift_func3_;
|
||||
Word shift_func7_;
|
||||
Word shift_j_u_immed_;
|
||||
Word shift_s_b_immed_;
|
||||
Word shift_i_immed_;
|
||||
|
||||
Word reg_mask_;
|
||||
Word func2_mask_;
|
||||
Word func3_mask_;
|
||||
Word func6_mask_;
|
||||
Word func7_mask_;
|
||||
Word opcode_mask_;
|
||||
Word i_imm_mask_;
|
||||
Word s_imm_mask_;
|
||||
Word b_imm_mask_;
|
||||
Word u_imm_mask_;
|
||||
Word j_imm_mask_;
|
||||
Word v_imm_mask_;
|
||||
|
||||
//Vector
|
||||
Word shift_vset_;
|
||||
Word shift_vset_immed_;
|
||||
Word shift_vmask_;
|
||||
Word shift_vmop_;
|
||||
Word shift_vnf_;
|
||||
Word shift_func6_;
|
||||
Word vmask_s_;
|
||||
Word mop_s_;
|
||||
std::shared_ptr<Instr> decode(uint32_t code) const;
|
||||
};
|
||||
|
||||
}
|
1487
sim/simx/execute.cpp
1487
sim/simx/execute.cpp
File diff suppressed because it is too large
Load diff
|
@ -114,8 +114,8 @@ void LsuUnit::tick() {
|
|||
// duplicates detection
|
||||
bool is_dup = false;
|
||||
if (trace->tmask.test(0)) {
|
||||
uint64_t addr_mask = sizeof(Word)-1;
|
||||
Word addr0 = trace->mem_addrs.at(0).at(0).addr & ~addr_mask;
|
||||
uint64_t addr_mask = sizeof(uint32_t)-1;
|
||||
uint32_t addr0 = trace->mem_addrs.at(0).at(0).addr & ~addr_mask;
|
||||
uint32_t matches = 1;
|
||||
for (uint32_t t = 1; t < num_threads_; ++t) {
|
||||
if (!trace->tmask.test(t))
|
||||
|
|
111
sim/simx/instr.h
111
sim/simx/instr.h
|
@ -32,6 +32,9 @@ enum Opcode {
|
|||
// GPGPU Extension
|
||||
GPGPU = 0x6b,
|
||||
GPU = 0x5b,
|
||||
// RV64 Standard Extensions
|
||||
R_INST_W = 0x3b,
|
||||
I_INST_W = 0x1b,
|
||||
};
|
||||
|
||||
enum InstType {
|
||||
|
@ -54,56 +57,54 @@ public:
|
|||
, has_imm_(false)
|
||||
, rdest_type_(RegType::None)
|
||||
, rdest_(0)
|
||||
, func2_(0)
|
||||
, func3_(0)
|
||||
, func6_(0)
|
||||
, func7_(0) {
|
||||
for (int i = 0; i < MAX_REG_SOURCES; ++i) {
|
||||
for (uint32_t i = 0; i < MAX_REG_SOURCES; ++i) {
|
||||
rsrc_type_[i] = RegType::None;
|
||||
}
|
||||
}
|
||||
|
||||
/* Setters used to "craft" the instruction. */
|
||||
void setOpcode(Opcode opcode) { opcode_ = opcode; }
|
||||
void setDestReg(int destReg) { rdest_type_ = RegType::Integer; rdest_ = destReg; }
|
||||
void setSrcReg(int srcReg) { rsrc_type_[num_rsrcs_] = RegType::Integer; rsrc_[num_rsrcs_++] = srcReg; }
|
||||
void setDestFReg(int destReg) { rdest_type_ = RegType::Float; rdest_ = destReg; }
|
||||
void setSrcFReg(int srcReg) { rsrc_type_[num_rsrcs_] = RegType::Float; rsrc_[num_rsrcs_++] = srcReg; }
|
||||
void setDestVReg(int destReg) { rdest_type_ = RegType::Vector; rdest_ = destReg; }
|
||||
void setSrcVReg(int srcReg) { rsrc_type_[num_rsrcs_] = RegType::Vector; rsrc_[num_rsrcs_++] = srcReg; }
|
||||
void setFunc2(Word func2) { func2_ = func2; }
|
||||
void setFunc3(Word func3) { func3_ = func3; }
|
||||
void setFunc7(Word func7) { func7_ = func7; }
|
||||
void setImm(Word imm) { has_imm_ = true; imm_ = imm; }
|
||||
void setVlsWidth(Word width) { vlsWidth_ = width; }
|
||||
void setVmop(Word mop) { vMop_ = mop; }
|
||||
void setVnf(Word nf) { vNf_ = nf; }
|
||||
void setVmask(Word mask) { vmask_ = mask; }
|
||||
void setVs3(Word vs) { vs3_ = vs; }
|
||||
void setVlmul(Word lmul) { vlmul_ = 1 << lmul; }
|
||||
void setVsew(Word sew) { vsew_ = 1 << (3+sew); }
|
||||
void setVediv(Word ediv) { vediv_ = 1 << ediv; }
|
||||
void setFunc6(Word func6) { func6_ = func6; }
|
||||
void setDestReg(uint32_t destReg, RegType type) { rdest_type_ = type; rdest_ = destReg; }
|
||||
void setSrcReg(uint32_t srcReg, RegType type) { rsrc_type_[num_rsrcs_] = type; rsrc_[num_rsrcs_++] = srcReg; }
|
||||
void setDestVReg(uint32_t destReg) { rdest_type_ = RegType::Vector; rdest_ = destReg; }
|
||||
void setSrcVReg(uint32_t srcReg) { rsrc_type_[num_rsrcs_] = RegType::Vector; rsrc_[num_rsrcs_++] = srcReg; }
|
||||
void setFunc2(uint32_t func2) { func2_ = func2; }
|
||||
void setFunc3(uint32_t func3) { func3_ = func3; }
|
||||
void setFunc7(uint32_t func7) { func7_ = func7; }
|
||||
void setImm(uint32_t imm) { has_imm_ = true; imm_ = imm; }
|
||||
void setVlsWidth(uint32_t width) { vlsWidth_ = width; }
|
||||
void setVmop(uint32_t mop) { vMop_ = mop; }
|
||||
void setVnf(uint32_t nf) { vNf_ = nf; }
|
||||
void setVmask(uint32_t mask) { vmask_ = mask; }
|
||||
void setVs3(uint32_t vs) { vs3_ = vs; }
|
||||
void setVlmul(uint32_t lmul) { vlmul_ = 1 << lmul; }
|
||||
void setVsew(uint32_t sew) { vsew_ = 1 << (3+sew); }
|
||||
void setVediv(uint32_t ediv) { vediv_ = 1 << ediv; }
|
||||
void setFunc6(uint32_t func6) { func6_ = func6; }
|
||||
|
||||
/* Getters used by encoders. */
|
||||
Opcode getOpcode() const { return opcode_; }
|
||||
Word getFunc2() const { return func2_; }
|
||||
Word getFunc3() const { return func3_; }
|
||||
Word getFunc6() const { return func6_; }
|
||||
Word getFunc7() const { return func7_; }
|
||||
int getNRSrc() const { return num_rsrcs_; }
|
||||
int getRSrc(int i) const { return rsrc_[i]; }
|
||||
RegType getRSType(int i) const { return rsrc_type_[i]; }
|
||||
int getRDest() const { return rdest_; }
|
||||
uint32_t getFunc2() const { return func2_; }
|
||||
uint32_t getFunc3() const { return func3_; }
|
||||
uint32_t getFunc6() const { return func6_; }
|
||||
uint32_t getFunc7() const { return func7_; }
|
||||
uint32_t getNRSrc() const { return num_rsrcs_; }
|
||||
uint32_t getRSrc(uint32_t i) const { return rsrc_[i]; }
|
||||
RegType getRSType(uint32_t i) const { return rsrc_type_[i]; }
|
||||
uint32_t getRDest() const { return rdest_; }
|
||||
RegType getRDType() const { return rdest_type_; }
|
||||
bool hasImm() const { return has_imm_; }
|
||||
Word getImm() const { return imm_; }
|
||||
Word getVlsWidth() const { return vlsWidth_; }
|
||||
Word getVmop() const { return vMop_; }
|
||||
Word getvNf() const { return vNf_; }
|
||||
Word getVmask() const { return vmask_; }
|
||||
Word getVs3() const { return vs3_; }
|
||||
Word getVlmul() const { return vlmul_; }
|
||||
Word getVsew() const { return vsew_; }
|
||||
Word getVediv() const { return vediv_; }
|
||||
uint32_t getImm() const { return imm_; }
|
||||
uint32_t getVlsWidth() const { return vlsWidth_; }
|
||||
uint32_t getVmop() const { return vMop_; }
|
||||
uint32_t getvNf() const { return vNf_; }
|
||||
uint32_t getVmask() const { return vmask_; }
|
||||
uint32_t getVs3() const { return vs3_; }
|
||||
uint32_t getVlmul() const { return vlmul_; }
|
||||
uint32_t getVsew() const { return vsew_; }
|
||||
uint32_t getVediv() const { return vediv_; }
|
||||
|
||||
private:
|
||||
|
||||
|
@ -112,27 +113,27 @@ private:
|
|||
};
|
||||
|
||||
Opcode opcode_;
|
||||
int num_rsrcs_;
|
||||
uint32_t num_rsrcs_;
|
||||
bool has_imm_;
|
||||
RegType rdest_type_;
|
||||
Word imm_;
|
||||
uint32_t imm_;
|
||||
RegType rsrc_type_[MAX_REG_SOURCES];
|
||||
int rsrc_[MAX_REG_SOURCES];
|
||||
int rdest_;
|
||||
Word func2_;
|
||||
Word func3_;
|
||||
Word func6_;
|
||||
uint32_t rsrc_[MAX_REG_SOURCES];
|
||||
uint32_t rdest_;
|
||||
uint32_t func2_;
|
||||
uint32_t func3_;
|
||||
uint32_t func6_;
|
||||
uint32_t func7_;
|
||||
|
||||
// Vector
|
||||
Word vmask_;
|
||||
Word vlsWidth_;
|
||||
Word vMop_;
|
||||
Word vNf_;
|
||||
Word vs3_;
|
||||
Word vlmul_;
|
||||
Word vsew_;
|
||||
Word vediv_;
|
||||
Word func7_;
|
||||
uint32_t vmask_;
|
||||
uint32_t vlsWidth_;
|
||||
uint32_t vMop_;
|
||||
uint32_t vNf_;
|
||||
uint32_t vs3_;
|
||||
uint32_t vlmul_;
|
||||
uint32_t vsew_;
|
||||
uint32_t vediv_;
|
||||
|
||||
friend std::ostream &operator<<(std::ostream &, const Instr&);
|
||||
};
|
||||
|
|
|
@ -11,13 +11,13 @@
|
|||
#include "constants.h"
|
||||
#include <util.h>
|
||||
#include "args.h"
|
||||
#include "core.h"
|
||||
|
||||
using namespace vortex;
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
int exitcode = 0;
|
||||
|
||||
std::string archStr("rv32imf");
|
||||
std::string imgFileName;
|
||||
int num_cores(NUM_CORES * NUM_CLUSTERS);
|
||||
int num_warps(NUM_WARPS);
|
||||
|
@ -26,15 +26,14 @@ int main(int argc, char **argv) {
|
|||
bool showStats(false);
|
||||
bool riscv_test(false);
|
||||
|
||||
/* Read the command line arguments. */
|
||||
CommandLineArgFlag fh("-h", "--help", "", showHelp);
|
||||
CommandLineArgSetter<std::string> fa("-a", "--arch", "", archStr);
|
||||
CommandLineArgSetter<std::string> fi("-i", "--image", "", imgFileName);
|
||||
CommandLineArgSetter<int> fc("-c", "--cores", "", num_cores);
|
||||
CommandLineArgSetter<int> fw("-w", "--warps", "", num_warps);
|
||||
CommandLineArgSetter<int> ft("-t", "--threads", "", num_threads);
|
||||
CommandLineArgFlag fr("-r", "--riscv", "", riscv_test);
|
||||
CommandLineArgFlag fs("-s", "--stats", "", showStats);
|
||||
// parse the command line arguments
|
||||
CommandLineArgFlag fh("-h", "--help", "show command line options", showHelp);
|
||||
CommandLineArgSetter<std::string> fi("-i", "--image", "program binary", imgFileName);
|
||||
CommandLineArgSetter<int> fc("-c", "--cores", "number of cores", num_cores);
|
||||
CommandLineArgSetter<int> fw("-w", "--warps", "number of warps", num_warps);
|
||||
CommandLineArgSetter<int> ft("-t", "--threads", "number of threads", num_threads);
|
||||
CommandLineArgFlag fr("-r", "--riscv", "enable riscv tests", riscv_test);
|
||||
CommandLineArgFlag fs("-s", "--stats", "show stats", showStats);
|
||||
|
||||
CommandLineArg::readArgs(argc - 1, argv + 1);
|
||||
|
||||
|
@ -44,7 +43,6 @@ int main(int argc, char **argv) {
|
|||
" -c, --cores <num> Number of cores\n"
|
||||
" -w, --warps <num> Number of warps\n"
|
||||
" -t, --threads <num> Number of threads\n"
|
||||
" -a, --arch <arch string> Architecture string\n"
|
||||
" -r, --riscv riscv test\n"
|
||||
" -s, --stats Print stats on exit.\n";
|
||||
return 0;
|
||||
|
@ -54,7 +52,7 @@ int main(int argc, char **argv) {
|
|||
|
||||
{
|
||||
// create processor configuation
|
||||
ArchDef arch(archStr, num_cores, num_warps, num_threads);
|
||||
ArchDef arch(num_cores, num_warps, num_threads);
|
||||
|
||||
// create memory module
|
||||
RAM ram(RAM_PAGE_SIZE);
|
||||
|
@ -79,7 +77,8 @@ int main(int argc, char **argv) {
|
|||
processor.attach_ram(&ram);
|
||||
|
||||
// run simulation
|
||||
processor.run();
|
||||
exitcode = processor.run();
|
||||
|
||||
}
|
||||
|
||||
if (riscv_test) {
|
||||
|
|
|
@ -15,8 +15,8 @@ struct pipeline_trace_t {
|
|||
uint64_t uuid;
|
||||
|
||||
//--
|
||||
int cid;
|
||||
int wid;
|
||||
uint32_t cid;
|
||||
uint32_t wid;
|
||||
ThreadMask tmask;
|
||||
Word PC;
|
||||
|
||||
|
@ -26,7 +26,7 @@ struct pipeline_trace_t {
|
|||
//--
|
||||
bool wb;
|
||||
RegType rdest_type;
|
||||
int rdest;
|
||||
uint32_t rdest;
|
||||
|
||||
//--
|
||||
RegMask used_iregs;
|
||||
|
|
|
@ -28,7 +28,7 @@ public:
|
|||
}
|
||||
|
||||
void clear() {
|
||||
for (int i = 0, n = in_use_iregs_.size(); i < n; ++i) {
|
||||
for (uint32_t i = 0, n = in_use_iregs_.size(); i < n; ++i) {
|
||||
in_use_iregs_.at(i).reset();
|
||||
in_use_fregs_.at(i).reset();
|
||||
in_use_vregs_.at(i).reset();
|
||||
|
|
|
@ -61,10 +61,11 @@ uint32_t TexUnit::read(int32_t u,
|
|||
uint32_t addr11 = base_addr + offset11 * stride;
|
||||
|
||||
// memory lookup
|
||||
uint32_t texel00 = core_->dcache_read(addr00, stride);
|
||||
uint32_t texel01 = core_->dcache_read(addr01, stride);
|
||||
uint32_t texel10 = core_->dcache_read(addr10, stride);
|
||||
uint32_t texel11 = core_->dcache_read(addr11, stride);
|
||||
uint32_t texel00(0), texel01(0), texel10(0), texel11(0);
|
||||
core_->dcache_read(&texel00, addr00, stride);
|
||||
core_->dcache_read(&texel01, addr01, stride);
|
||||
core_->dcache_read(&texel10, addr10, stride);
|
||||
core_->dcache_read(&texel11, addr11, stride);
|
||||
|
||||
mem_addrs->push_back({addr00, stride});
|
||||
mem_addrs->push_back({addr01, stride});
|
||||
|
@ -84,7 +85,8 @@ uint32_t TexUnit::read(int32_t u,
|
|||
uint32_t addr = base_addr + offset * stride;
|
||||
|
||||
// memory lookup
|
||||
uint32_t texel = core_->dcache_read(addr, stride);
|
||||
uint32_t texel(0);
|
||||
core_->dcache_read(&texel, addr, stride);
|
||||
mem_addrs->push_back({addr, stride});
|
||||
|
||||
// filtering
|
||||
|
|
|
@ -10,12 +10,22 @@
|
|||
|
||||
namespace vortex {
|
||||
|
||||
typedef uint8_t Byte;
|
||||
typedef uint8_t Byte;
|
||||
#if XLEN == 32
|
||||
typedef uint32_t Word;
|
||||
typedef int32_t WordI;
|
||||
typedef uint64_t DWord;
|
||||
typedef int64_t DWordI;
|
||||
#elif XLEN == 64
|
||||
typedef uint64_t Word;
|
||||
typedef int64_t WordI;
|
||||
typedef __uint128_t DWord;
|
||||
typedef __int128_t DWordI;
|
||||
#else
|
||||
#error unsupported XLEN
|
||||
#endif
|
||||
|
||||
typedef uint32_t Addr;
|
||||
typedef uint32_t Size;
|
||||
typedef uint64_t FWord;
|
||||
|
||||
typedef std::bitset<32> RegMask;
|
||||
typedef std::bitset<32> ThreadMask;
|
||||
|
@ -30,12 +40,12 @@ enum class RegType {
|
|||
Vector
|
||||
};
|
||||
|
||||
inline std::ostream &operator<<(std::ostream &os, const RegType& type) {
|
||||
switch (type) {
|
||||
inline std::ostream &operator<<(std::ostream &os, const RegType& clss) {
|
||||
switch (clss) {
|
||||
case RegType::None: break;
|
||||
case RegType::Integer: os << "r"; break;
|
||||
case RegType::Float: os << "fr"; break;
|
||||
case RegType::Vector: os << "vr"; break;
|
||||
case RegType::Integer: os << "x"; break;
|
||||
case RegType::Float: os << "f"; break;
|
||||
case RegType::Vector: os << "v"; break;
|
||||
}
|
||||
return os;
|
||||
}
|
||||
|
@ -232,7 +242,7 @@ struct MemReq {
|
|||
|
||||
inline std::ostream &operator<<(std::ostream &os, const MemReq& req) {
|
||||
os << "mem-" << (req.write ? "wr" : "rd") << ": ";
|
||||
os << "addr=" << req.addr << ", tag=" << req.tag << ", core_id=" << req.core_id;
|
||||
os << "addr=" << std::hex << req.addr << std::dec << ", tag=" << req.tag << ", core_id=" << req.core_id;
|
||||
os << " (#" << std::dec << req.uuid << ")";
|
||||
return os;
|
||||
}
|
||||
|
|
|
@ -10,11 +10,11 @@
|
|||
|
||||
using namespace vortex;
|
||||
|
||||
Warp::Warp(Core *core, Word id)
|
||||
Warp::Warp(Core *core, uint32_t id)
|
||||
: id_(id)
|
||||
, core_(core)
|
||||
, ireg_file_(core->arch().num_threads(), std::vector<Word>(core->arch().num_regs()))
|
||||
, freg_file_(core->arch().num_threads(), std::vector<Word>(core->arch().num_regs()))
|
||||
, freg_file_(core->arch().num_threads(), std::vector<FWord>(core->arch().num_regs()))
|
||||
, vreg_file_(core->arch().num_threads(), std::vector<Byte>(core->arch().vsize()))
|
||||
{
|
||||
this->clear();
|
||||
|
@ -24,7 +24,7 @@ void Warp::clear() {
|
|||
active_ = false;
|
||||
PC_ = STARTUP_ADDR;
|
||||
tmask_.reset();
|
||||
for (int i = 0, n = core_->arch().num_threads(); i < n; ++i) {
|
||||
for (uint32_t i = 0, n = core_->arch().num_threads(); i < n; ++i) {
|
||||
for (auto& reg : ireg_file_.at(i)) {
|
||||
reg = 0;
|
||||
}
|
||||
|
@ -41,13 +41,14 @@ void Warp::eval(pipeline_trace_t *trace) {
|
|||
assert(tmask_.any());
|
||||
|
||||
DPH(2, "Fetch: coreid=" << core_->id() << ", wid=" << id_ << ", tmask=");
|
||||
for (int i = 0, n = core_->arch().num_threads(); i < n; ++i)
|
||||
for (uint32_t i = 0, n = core_->arch().num_threads(); i < n; ++i)
|
||||
DPN(2, tmask_.test(n-i-1));
|
||||
DPN(2, ", PC=0x" << std::hex << PC_ << " (#" << std::dec << trace->uuid << ")" << std::endl);
|
||||
|
||||
/* Fetch and decode. */
|
||||
|
||||
Word instr_code = core_->icache_read(PC_, sizeof(Word));
|
||||
uint32_t instr_code = 0;
|
||||
core_->icache_read(&instr_code, PC_, sizeof(uint32_t));
|
||||
auto instr = core_->decoder().decode(instr_code);
|
||||
if (!instr) {
|
||||
std::cout << std::hex << "Error: invalid instruction 0x" << instr_code << ", at PC=" << PC_ << std::endl;
|
||||
|
@ -68,10 +69,16 @@ void Warp::eval(pipeline_trace_t *trace) {
|
|||
this->execute(*instr, trace);
|
||||
|
||||
DP(4, "Register state:");
|
||||
for (int i = 0; i < core_->arch().num_regs(); ++i) {
|
||||
for (uint32_t i = 0; i < core_->arch().num_regs(); ++i) {
|
||||
DPN(4, " %r" << std::setfill('0') << std::setw(2) << std::dec << i << ':');
|
||||
for (int j = 0; j < core_->arch().num_threads(); ++j) {
|
||||
DPN(4, ' ' << std::setfill('0') << std::setw(8) << std::hex << ireg_file_.at(j).at(i) << std::setfill(' ') << ' ');
|
||||
// Integer register file
|
||||
for (uint32_t j = 0; j < core_->arch().num_threads(); ++j) {
|
||||
DPN(4, ' ' << std::setfill('0') << std::setw(XLEN/4) << std::hex << ireg_file_.at(j).at(i) << std::setfill(' ') << ' ');
|
||||
}
|
||||
DPN(4, '|');
|
||||
// Floating point register file
|
||||
for (uint32_t j = 0; j < core_->arch().num_threads(); ++j) {
|
||||
DPN(4, ' ' << std::setfill('0') << std::setw(16) << std::hex << freg_file_.at(j).at(i) << std::setfill(' ') << ' ');
|
||||
}
|
||||
DPN(4, std::endl);
|
||||
}
|
||||
|
|
|
@ -32,15 +32,15 @@ struct DomStackEntry {
|
|||
};
|
||||
|
||||
struct vtype {
|
||||
int vill;
|
||||
int vediv;
|
||||
int vsew;
|
||||
int vlmul;
|
||||
uint32_t vill;
|
||||
uint32_t vediv;
|
||||
uint32_t vsew;
|
||||
uint32_t vlmul;
|
||||
};
|
||||
|
||||
class Warp {
|
||||
public:
|
||||
Warp(Core *core, Word id);
|
||||
Warp(Core *core, uint32_t id);
|
||||
|
||||
void clear();
|
||||
|
||||
|
@ -62,15 +62,15 @@ public:
|
|||
return 0;
|
||||
}
|
||||
|
||||
Word id() const {
|
||||
uint32_t id() const {
|
||||
return id_;
|
||||
}
|
||||
|
||||
Word getPC() const {
|
||||
uint32_t getPC() const {
|
||||
return PC_;
|
||||
}
|
||||
|
||||
void setPC(Word PC) {
|
||||
void setPC(uint32_t PC) {
|
||||
PC_ = PC;
|
||||
}
|
||||
|
||||
|
@ -79,13 +79,13 @@ public:
|
|||
active_ = tmask_.any();
|
||||
}
|
||||
|
||||
Word getTmask() const {
|
||||
uint32_t getTmask() const {
|
||||
if (active_)
|
||||
return tmask_.to_ulong();
|
||||
return 0;
|
||||
}
|
||||
|
||||
Word getIRegValue(int reg) const {
|
||||
uint32_t getIRegValue(uint32_t reg) const {
|
||||
return ireg_file_.at(0).at(reg);
|
||||
}
|
||||
|
||||
|
@ -95,7 +95,7 @@ private:
|
|||
|
||||
void execute(const Instr &instr, pipeline_trace_t *trace);
|
||||
|
||||
Word id_;
|
||||
uint32_t id_;
|
||||
Core *core_;
|
||||
bool active_;
|
||||
|
||||
|
@ -103,12 +103,12 @@ private:
|
|||
ThreadMask tmask_;
|
||||
|
||||
std::vector<std::vector<Word>> ireg_file_;
|
||||
std::vector<std::vector<Word>> freg_file_;
|
||||
std::vector<std::vector<FWord>> freg_file_;
|
||||
std::vector<std::vector<Byte>> vreg_file_;
|
||||
std::stack<DomStackEntry> dom_stack_;
|
||||
|
||||
struct vtype vtype_;
|
||||
int vl_;
|
||||
uint32_t vl_;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
XLEN ?= 32
|
||||
|
||||
RISCV_TOOLCHAIN_PATH ?= $(wildcard ../../../../riscv-gnu-toolchain/drops)
|
||||
POCL_CC_PATH ?= $(wildcard ../../../../pocl/drops_riscv_cc)
|
||||
POCL_INC_PATH ?= $(wildcard ../include)
|
||||
|
@ -19,7 +21,7 @@ VX_SRCS += $(VORTEX_RT_PATH)/fileio/fileio.S
|
|||
VX_SRCS += $(VORTEX_RT_PATH)/tests/tests.c
|
||||
VX_SRCS += $(VORTEX_RT_PATH)/vx_api/vx_api.c
|
||||
|
||||
VX_CFLAGS = -nostartfiles -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/startup/vx_link.ld
|
||||
VX_CFLAGS = -nostartfiles -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/startup/vx_link$(XLEN).ld
|
||||
|
||||
CXXFLAGS = -g -O0 -march=rv32im -mabi=ilp32
|
||||
CXXFLAGS += -ffreestanding # program may not begin at main()
|
||||
|
@ -50,7 +52,7 @@ $(PROJECT).dump: $(PROJECT).elf
|
|||
$(DMP) -D $(PROJECT).elf > $(PROJECT).dump
|
||||
|
||||
run: $(PROJECT).hex
|
||||
POCL_DEBUG=all $(VX_SIMX_PATH)/Vcache_simX -E -a rv32i --core $(PROJECT).hex -s -b 1> emulator.debug
|
||||
POCL_DEBUG=all $(VX_SIMX_PATH)/Vcache_simX -E --core $(PROJECT).hex -s -b 1> emulator.debug
|
||||
|
||||
qemu: $(PROJECT).qemu
|
||||
POCL_DEBUG=all $(RISCV_TOOLCHAIN_PATH)/bin/qemu-riscv32 -d in_asm -D debug.log $(PROJECT).qemu
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
XLEN ?= 32
|
||||
|
||||
RISCV_TOOLCHAIN_PATH ?= $(wildcard ../../../../riscv-gnu-toolchain/drops)
|
||||
POCL_CC_PATH ?= $(wildcard ../../../../pocl/drops_riscv_cc)
|
||||
POCL_INC_PATH ?= $(wildcard ../include)
|
||||
|
@ -19,7 +21,7 @@ VX_SRCS += $(VORTEX_RT_PATH)/fileio/fileio.S
|
|||
VX_SRCS += $(VORTEX_RT_PATH)/tests/tests.c
|
||||
VX_SRCS += $(VORTEX_RT_PATH)/vx_api/vx_api.c
|
||||
|
||||
VX_CFLAGS = -nostartfiles -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/startup/vx_link.ld
|
||||
VX_CFLAGS = -nostartfiles -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/startup/vx_link$(XLEN).ld
|
||||
|
||||
CXXFLAGS = -g -O0 -march=rv32im -mabi=ilp32
|
||||
CXXFLAGS += -ffreestanding # program may not begin at main()
|
||||
|
@ -50,7 +52,7 @@ $(PROJECT).dump: $(PROJECT).elf
|
|||
$(DMP) -D $(PROJECT).elf > $(PROJECT).dump
|
||||
|
||||
run: $(PROJECT).hex
|
||||
POCL_DEBUG=all $(VX_SIMX_PATH)/Vcache_simX -E -a rv32i --core $(PROJECT).hex -s -b 1> emulator.debug
|
||||
POCL_DEBUG=all $(VX_SIMX_PATH)/Vcache_simX -E $(PROJECT).hex -s -b 1> emulator.debug
|
||||
|
||||
qemu: $(PROJECT).qemu
|
||||
POCL_DEBUG=all $(RISCV_TOOLCHAIN_PATH)/bin/qemu-riscv32 -d in_asm -D debug.log $(PROJECT).qemu
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
XLEN ?= 32
|
||||
|
||||
RISCV_TOOLCHAIN_PATH ?= $(wildcard ../../../../riscv-gnu-toolchain/drops)
|
||||
POCL_CC_PATH ?= $(wildcard ../../../../pocl/drops_riscv_cc)
|
||||
POCL_INC_PATH ?= $(wildcard ../include)
|
||||
|
@ -19,7 +21,7 @@ VX_SRCS += $(VORTEX_RT_PATH)/fileio/fileio.S
|
|||
VX_SRCS += $(VORTEX_RT_PATH)/tests/tests.c
|
||||
VX_SRCS += $(VORTEX_RT_PATH)/vx_api/vx_api.c
|
||||
|
||||
VX_CFLAGS = -nostartfiles -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/startup/vx_link.ld
|
||||
VX_CFLAGS = -nostartfiles -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/startup/vx_link$(XLEN).ld
|
||||
|
||||
CXXFLAGS = -g -O0 -march=rv32im -mabi=ilp32
|
||||
CXXFLAGS += -ffreestanding # program may not begin at main()
|
||||
|
@ -50,7 +52,7 @@ $(PROJECT).dump: $(PROJECT).elf
|
|||
$(DMP) -D $(PROJECT).elf > $(PROJECT).dump
|
||||
|
||||
run: $(PROJECT).hex
|
||||
POCL_DEBUG=all $(VX_SIMX_PATH)/Vcache_simX -E -a rv32i --core $(PROJECT).hex -s -b 1> emulator.debug
|
||||
POCL_DEBUG=all $(VX_SIMX_PATH)/Vcache_simX -E $(PROJECT).hex -s -b 1> emulator.debug
|
||||
|
||||
qemu: $(PROJECT).qemu
|
||||
POCL_DEBUG=all $(RISCV_TOOLCHAIN_PATH)/bin/qemu-riscv32 -d in_asm -D debug.log $(PROJECT).qemu
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
XLEN ?= 32
|
||||
|
||||
LLVM_PREFIX ?= /opt/llvm-riscv
|
||||
RISCV_TOOLCHAIN_PATH ?= /opt/riscv-gnu-toolchain
|
||||
SYSROOT ?= $(RISCV_TOOLCHAIN_PATH)/riscv32-unknown-elf
|
||||
|
@ -9,7 +11,7 @@ VORTEX_RT_PATH ?= $(realpath ../../../runtime)
|
|||
|
||||
K_LLCFLAGS += "-O3 -march=riscv32 -target-abi=ilp32f -mcpu=generic-rv32 -mattr=+m,+f -mattr=+vortex -float-abi=hard -code-model=small"
|
||||
K_CFLAGS += "-v -O3 -Wstack-usage=1024 --sysroot=$(SYSROOT) --gcc-toolchain=$(RISCV_TOOLCHAIN_PATH) -march=rv32imf -mabi=ilp32f -Xclang -target-feature -Xclang +vortex -I$(VORTEX_RT_PATH)/include -fno-rtti -fno-exceptions -ffreestanding -nostartfiles -fdata-sections -ffunction-sections"
|
||||
K_LDFLAGS += "-Wl,-Bstatic,-T$(VORTEX_RT_PATH)/linker/vx_link.ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a -lm"
|
||||
K_LDFLAGS += "-Wl,-Bstatic,-T$(VORTEX_RT_PATH)/linker/vx_link$(XLEN).ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a -lm"
|
||||
|
||||
CXXFLAGS += -std=c++11 -Wall -Wextra -pedantic -Wfatal-errors
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
XLEN ?= 32
|
||||
|
||||
LLVM_PREFIX ?= /opt/llvm-riscv
|
||||
RISCV_TOOLCHAIN_PATH ?= /opt/riscv-gnu-toolchain
|
||||
SYSROOT ?= $(RISCV_TOOLCHAIN_PATH)/riscv32-unknown-elf
|
||||
|
@ -9,7 +11,7 @@ VORTEX_RT_PATH ?= $(realpath ../../../runtime)
|
|||
|
||||
K_LLCFLAGS += "-O3 -march=riscv32 -target-abi=ilp32f -mcpu=generic-rv32 -mattr=+m,+f -mattr=+vortex -float-abi=hard -code-model=small"
|
||||
K_CFLAGS += "-v -O3 --sysroot=$(SYSROOT) --gcc-toolchain=$(RISCV_TOOLCHAIN_PATH) -march=rv32imf -mabi=ilp32f -Xclang -target-feature -Xclang +vortex -I$(VORTEX_RT_PATH)/include -fno-rtti -fno-exceptions -ffreestanding -nostartfiles -fdata-sections -ffunction-sections"
|
||||
K_LDFLAGS += "-Wl,-Bstatic,-T$(VORTEX_RT_PATH)/linker/vx_link.ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a -lm"
|
||||
K_LDFLAGS += "-Wl,-Bstatic,-T$(VORTEX_RT_PATH)/linker/vx_link$(XLEN).ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a -lm"
|
||||
|
||||
CXXFLAGS += -std=c++11 -Wall -Wextra -pedantic -Wfatal-errors
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
XLEN ?= 32
|
||||
|
||||
RISCV_TOOLCHAIN_PATH ?= $(wildcard ../../../../riscv-gnu-toolchain/drops)
|
||||
POCL_CC_PATH ?= $(wildcard ../../../../pocl/drops_riscv_cc)
|
||||
POCL_INC_PATH ?= $(wildcard ../include)
|
||||
|
@ -19,7 +21,7 @@ VX_SRCS += $(VORTEX_RT_PATH)/fileio/fileio.S
|
|||
VX_SRCS += $(VORTEX_RT_PATH)/tests/tests.c
|
||||
VX_SRCS += $(VORTEX_RT_PATH)/vx_api/vx_api.c
|
||||
|
||||
VX_CFLAGS = -nostartfiles -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/startup/vx_link.ld
|
||||
VX_CFLAGS = -nostartfiles -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/startup/vx_link$(XLEN).ld
|
||||
|
||||
CXXFLAGS = -g -O0 -march=rv32im -mabi=ilp32
|
||||
CXXFLAGS += -ffreestanding # program may not begin at main()
|
||||
|
@ -52,7 +54,7 @@ $(PROJECT).dump: $(PROJECT).elf
|
|||
$(DMP) -D $(PROJECT).elf > $(PROJECT).dump
|
||||
|
||||
run: $(PROJECT).hex
|
||||
POCL_DEBUG=all $(VX_SIMX_PATH)/Vcache_simX -E -a rv32i --core $(PROJECT).hex -s -b 1> emulator.debug
|
||||
POCL_DEBUG=all $(VX_SIMX_PATH)/Vcache_simX -E $(PROJECT).hex -s -b 1> emulator.debug
|
||||
|
||||
qemu: $(PROJECT).qemu
|
||||
POCL_DEBUG=all $(RISCV_TOOLCHAIN_PATH)/bin/qemu-riscv32 -d in_asm -D debug.log $(PROJECT).qemu
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
XLEN ?= 32
|
||||
|
||||
LLVM_PREFIX ?= /opt/llvm-riscv
|
||||
RISCV_TOOLCHAIN_PATH ?= /opt/riscv-gnu-toolchain
|
||||
SYSROOT ?= $(RISCV_TOOLCHAIN_PATH)/riscv32-unknown-elf
|
||||
|
@ -9,7 +11,7 @@ VORTEX_RT_PATH ?= $(realpath ../../../runtime)
|
|||
|
||||
K_LLCFLAGS += "-O3 -march=riscv32 -target-abi=ilp32f -mcpu=generic-rv32 -mattr=+m,+f -mattr=+vortex -float-abi=hard -code-model=small"
|
||||
K_CFLAGS += "-v -O3 --sysroot=$(SYSROOT) --gcc-toolchain=$(RISCV_TOOLCHAIN_PATH) -march=rv32imf -mabi=ilp32f -Xclang -target-feature -Xclang +vortex -I$(VORTEX_RT_PATH)/include -fno-rtti -fno-exceptions -ffreestanding -nostartfiles -fdata-sections -ffunction-sections"
|
||||
K_LDFLAGS += "-Wl,-Bstatic,-T$(VORTEX_RT_PATH)/linker/vx_link.ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a -lm"
|
||||
K_LDFLAGS += "-Wl,-Bstatic,-T$(VORTEX_RT_PATH)/linker/vx_link$(XLEN).ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a -lm"
|
||||
|
||||
CXXFLAGS += -std=c++11 -Wall -Wextra -Wfatal-errors
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
XLEN ?= 32
|
||||
|
||||
LLVM_PREFIX ?= /opt/llvm-riscv
|
||||
RISCV_TOOLCHAIN_PATH ?= /opt/riscv-gnu-toolchain
|
||||
SYSROOT ?= $(RISCV_TOOLCHAIN_PATH)/riscv32-unknown-elf
|
||||
|
@ -9,7 +11,7 @@ VORTEX_RT_PATH ?= $(realpath ../../../runtime)
|
|||
|
||||
K_LLCFLAGS += "-O3 -march=riscv32 -target-abi=ilp32f -mcpu=generic-rv32 -mattr=+m,+f -mattr=+vortex -float-abi=hard -code-model=small"
|
||||
K_CFLAGS += "-v -O3 --sysroot=$(SYSROOT) --gcc-toolchain=$(RISCV_TOOLCHAIN_PATH) -march=rv32imf -mabi=ilp32f -Xclang -target-feature -Xclang +vortex -I$(VORTEX_RT_PATH)/include -fno-rtti -fno-exceptions -ffreestanding -nostartfiles -fdata-sections -ffunction-sections"
|
||||
K_LDFLAGS += "-Wl,-Bstatic,-T$(VORTEX_RT_PATH)/linker/vx_link.ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a -lm"
|
||||
K_LDFLAGS += "-Wl,-Bstatic,-T$(VORTEX_RT_PATH)/linker/vx_link$(XLEN).ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a -lm"
|
||||
|
||||
CXXFLAGS += -std=c++11 -Wall -Wextra -pedantic -Wfatal-errors
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
XLEN ?= 32
|
||||
|
||||
RISCV_TOOLCHAIN_PATH ?= $(wildcard ../../../../riscv-gnu-toolchain/drops)
|
||||
POCL_CC_PATH ?= $(wildcard ../../../../pocl/drops_riscv_cc)
|
||||
POCL_INC_PATH ?= $(wildcard ../include)
|
||||
|
@ -19,7 +21,7 @@ VX_SRCS += $(VORTEX_RT_PATH)/fileio/fileio.S
|
|||
VX_SRCS += $(VORTEX_RT_PATH)/tests/tests.c
|
||||
VX_SRCS += $(VORTEX_RT_PATH)/vx_api/vx_api.c
|
||||
|
||||
VX_CFLAGS = -nostartfiles -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/startup/vx_link.ld
|
||||
VX_CFLAGS = -nostartfiles -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/startup/vx_link$(XLEN).ld
|
||||
|
||||
CXXFLAGS = -g -O0 -march=rv32im -mabi=ilp32
|
||||
CXXFLAGS += -ffreestanding # program may not begin at main()
|
||||
|
@ -52,7 +54,7 @@ $(PROJECT).dump: $(PROJECT).elf
|
|||
$(DMP) -D $(PROJECT).elf > $(PROJECT).dump
|
||||
|
||||
run: $(PROJECT).hex
|
||||
POCL_DEBUG=all $(VX_SIMX_PATH)/Vcache_simX -E -a rv32i --core $(PROJECT).hex -s -b 1> emulator.debug
|
||||
POCL_DEBUG=all $(VX_SIMX_PATH)/Vcache_simX -E $(PROJECT).hex -s -b 1> emulator.debug
|
||||
|
||||
qemu: $(PROJECT).qemu
|
||||
POCL_DEBUG=all $(RISCV_TOOLCHAIN_PATH)/bin/qemu-riscv32 -d in_asm -D debug.log $(PROJECT).qemu
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
XLEN ?= 32
|
||||
|
||||
RISCV_TOOLCHAIN_PATH ?= $(wildcard ../../../../riscv-gnu-toolchain/drops)
|
||||
POCL_CC_PATH ?= $(wildcard ../../../../pocl/drops_riscv_cc)
|
||||
POCL_INC_PATH ?= $(wildcard ../include)
|
||||
|
@ -19,7 +21,7 @@ VX_SRCS += $(VORTEX_RT_PATH)/fileio/fileio.S
|
|||
VX_SRCS += $(VORTEX_RT_PATH)/tests/tests.c
|
||||
VX_SRCS += $(VORTEX_RT_PATH)/vx_api/vx_api.c
|
||||
|
||||
VX_CFLAGS = -nostartfiles -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/startup/vx_link.ld
|
||||
VX_CFLAGS = -nostartfiles -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/startup/vx_link$(XLEN).ld
|
||||
|
||||
CXXFLAGS = -g -O0 -march=rv32im -mabi=ilp32
|
||||
CXXFLAGS += -ffreestanding # program may not begin at main()
|
||||
|
@ -52,7 +54,7 @@ $(PROJECT).dump: $(PROJECT).elf
|
|||
$(DMP) -D $(PROJECT).elf > $(PROJECT).dump
|
||||
|
||||
run: $(PROJECT).hex
|
||||
POCL_DEBUG=all $(VX_SIMX_PATH)/Vcache_simX -E -a rv32i --core $(PROJECT).hex -s -b 1> emulator.debug
|
||||
POCL_DEBUG=all $(VX_SIMX_PATH)/Vcache_simX -E $(PROJECT).hex -s -b 1> emulator.debug
|
||||
|
||||
qemu: $(PROJECT).qemu
|
||||
POCL_DEBUG=all $(RISCV_TOOLCHAIN_PATH)/bin/qemu-riscv32 -d in_asm -D debug.log $(PROJECT).qemu
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
XLEN ?= 32
|
||||
|
||||
LLVM_PREFIX ?= /opt/llvm-riscv
|
||||
RISCV_TOOLCHAIN_PATH ?= /opt/riscv-gnu-toolchain
|
||||
SYSROOT ?= $(RISCV_TOOLCHAIN_PATH)/riscv32-unknown-elf
|
||||
|
@ -11,7 +13,7 @@ VORTEX_RT_PATH ?= $(realpath ../../../runtime)
|
|||
|
||||
K_LLCFLAGS += "-O3 -march=riscv32 -target-abi=ilp32f -mcpu=generic-rv32 -mattr=+m,+f -mattr=+vortex -float-abi=hard -code-model=small"
|
||||
K_CFLAGS += "-v -O3 --sysroot=$(SYSROOT) --gcc-toolchain=$(RISCV_TOOLCHAIN_PATH) -march=rv32imf -mabi=ilp32f -Xclang -target-feature -Xclang +vortex -I$(VORTEX_RT_PATH)/include -fno-rtti -fno-exceptions -ffreestanding -nostartfiles -fdata-sections -ffunction-sections"
|
||||
K_LDFLAGS += "-Wl,-Bstatic,-T$(VORTEX_RT_PATH)/linker/vx_link.ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a -lm"
|
||||
K_LDFLAGS += "-Wl,-Bstatic,-T$(VORTEX_RT_PATH)/linker/vx_link$(XLEN).ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a -lm"
|
||||
|
||||
CXXFLAGS += -std=c++11 -Wall -Wextra -Wfatal-errors
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
XLEN ?= 32
|
||||
|
||||
LLVM_PREFIX ?= /opt/llvm-riscv
|
||||
RISCV_TOOLCHAIN_PATH ?= /opt/riscv-gnu-toolchain
|
||||
SYSROOT ?= $(RISCV_TOOLCHAIN_PATH)/riscv32-unknown-elf
|
||||
|
@ -11,7 +13,7 @@ VORTEX_RT_PATH ?= $(realpath ../../../runtime)
|
|||
|
||||
K_LLCFLAGS += "-O3 -march=riscv32 -target-abi=ilp32f -mcpu=generic-rv32 -mattr=+m,+f -mattr=+vortex -float-abi=hard -code-model=small"
|
||||
K_CFLAGS += "-v -O3 --sysroot=$(SYSROOT) --gcc-toolchain=$(RISCV_TOOLCHAIN_PATH) -march=rv32imf -mabi=ilp32f -Xclang -target-feature -Xclang +vortex -I$(VORTEX_RT_PATH)/include -fno-rtti -fno-exceptions -ffreestanding -nostartfiles -fdata-sections -ffunction-sections"
|
||||
K_LDFLAGS += "-Wl,-Bstatic,-T$(VORTEX_RT_PATH)/linker/vx_link.ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a -lm"
|
||||
K_LDFLAGS += "-Wl,-Bstatic,-T$(VORTEX_RT_PATH)/linker/vx_link$(XLEN).ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a -lm"
|
||||
|
||||
CXXFLAGS += -std=c++11 -Wall -Wextra -Wfatal-errors
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
XLEN ?= 32
|
||||
|
||||
LLVM_PREFIX ?= /opt/llvm-riscv
|
||||
RISCV_TOOLCHAIN_PATH ?= /opt/riscv-gnu-toolchain
|
||||
SYSROOT ?= $(RISCV_TOOLCHAIN_PATH)/riscv32-unknown-elf
|
||||
|
@ -11,7 +13,7 @@ VORTEX_RT_PATH ?= $(realpath ../../../runtime)
|
|||
|
||||
K_LLCFLAGS += "-O3 -march=riscv32 -target-abi=ilp32f -mcpu=generic-rv32 -mattr=+m,+f -mattr=+vortex -float-abi=hard -code-model=small"
|
||||
K_CFLAGS += "-v -O3 --sysroot=$(SYSROOT) --gcc-toolchain=$(RISCV_TOOLCHAIN_PATH) -march=rv32imf -mabi=ilp32f -Xclang -target-feature -Xclang +vortex -I$(VORTEX_RT_PATH)/include -fno-rtti -fno-exceptions -ffreestanding -nostartfiles -fdata-sections -ffunction-sections"
|
||||
K_LDFLAGS += "-Wl,-Bstatic,-T$(VORTEX_RT_PATH)/linker/vx_link.ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a -lm"
|
||||
K_LDFLAGS += "-Wl,-Bstatic,-T$(VORTEX_RT_PATH)/linker/vx_link$(XLEN).ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a -lm"
|
||||
|
||||
CXXFLAGS += -std=c++11 -Wall -Wextra -Wfatal-errors
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
XLEN ?= 32
|
||||
|
||||
RISCV_TOOLCHAIN_PATH ?= $(wildcard ../../../../riscv-gnu-toolchain/drops)
|
||||
POCL_CC_PATH ?= $(wildcard ../../../../pocl/drops_riscv_cc)
|
||||
POCL_INC_PATH ?= $(wildcard ../include)
|
||||
|
@ -19,7 +21,7 @@ VX_SRCS += $(VORTEX_RT_PATH)/fileio/fileio.S
|
|||
VX_SRCS += $(VORTEX_RT_PATH)/tests/tests.c
|
||||
VX_SRCS += $(VORTEX_RT_PATH)/vx_api/vx_api.c
|
||||
|
||||
VX_CFLAGS = -nostartfiles -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/startup/vx_link.ld
|
||||
VX_CFLAGS = -nostartfiles -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/startup/vx_link$(XLEN).ld
|
||||
|
||||
CXXFLAGS = -g -O0 -march=rv32im -mabi=ilp32
|
||||
CXXFLAGS += -ffreestanding # program may not begin at main()
|
||||
|
@ -50,7 +52,7 @@ $(PROJECT).dump: $(PROJECT).elf
|
|||
$(DMP) -D $(PROJECT).elf > $(PROJECT).dump
|
||||
|
||||
run: $(PROJECT).hex
|
||||
POCL_DEBUG=all $(VX_SIMX_PATH)/Vcache_simX -E -a rv32i --core $(PROJECT).hex -s -b 1> emulator.debug
|
||||
POCL_DEBUG=all $(VX_SIMX_PATH)/Vcache_simX -E $(PROJECT).hex -s -b 1> emulator.debug
|
||||
|
||||
qemu: $(PROJECT).qemu
|
||||
POCL_DEBUG=all $(RISCV_TOOLCHAIN_PATH)/bin/qemu-riscv32 -d in_asm -D debug.log $(PROJECT).qemu
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
XLEN ?= 32
|
||||
|
||||
RISCV_TOOLCHAIN_PATH ?= $(wildcard ../../../../riscv-gnu-toolchain/drops)
|
||||
POCL_CC_PATH ?= $(wildcard ../../../../pocl/drops_riscv_cc)
|
||||
POCL_INC_PATH ?= $(wildcard ../include)
|
||||
|
@ -19,7 +21,7 @@ VX_SRCS += $(VORTEX_RT_PATH)/fileio/fileio.S
|
|||
VX_SRCS += $(VORTEX_RT_PATH)/tests/tests.c
|
||||
VX_SRCS += $(VORTEX_RT_PATH)/vx_api/vx_api.c
|
||||
|
||||
VX_CFLAGS = -nostartfiles -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/startup/vx_link.ld
|
||||
VX_CFLAGS = -nostartfiles -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/startup/vx_link$(XLEN).ld
|
||||
|
||||
CXXFLAGS = -g -O0 -march=rv32im -mabi=ilp32
|
||||
CXXFLAGS += -ffreestanding # program may not begin at main()
|
||||
|
@ -52,7 +54,7 @@ $(PROJECT).dump: $(PROJECT).elf
|
|||
$(DMP) -D $(PROJECT).elf > $(PROJECT).dump
|
||||
|
||||
run: $(PROJECT).hex
|
||||
POCL_DEBUG=all $(VX_SIMX_PATH)/Vcache_simX -E -a rv32i --core $(PROJECT).hex -s -b 1> emulator.debug
|
||||
POCL_DEBUG=all $(VX_SIMX_PATH)/Vcache_simX -E $(PROJECT).hex -s -b 1> emulator.debug
|
||||
|
||||
qemu: $(PROJECT).qemu
|
||||
POCL_DEBUG=all $(RISCV_TOOLCHAIN_PATH)/bin/qemu-riscv32 -d in_asm -D debug.log $(PROJECT).qemu
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
XLEN ?= 32
|
||||
|
||||
LLVM_PREFIX ?= /opt/llvm-riscv
|
||||
RISCV_TOOLCHAIN_PATH ?= /opt/riscv-gnu-toolchain
|
||||
SYSROOT ?= $(RISCV_TOOLCHAIN_PATH)/riscv32-unknown-elf
|
||||
|
@ -11,7 +13,7 @@ OPTS ?= -n1024
|
|||
|
||||
K_LLCFLAGS += "-O3 -march=riscv32 -target-abi=ilp32f -mcpu=generic-rv32 -mattr=+m,+f -mattr=+vortex -float-abi=hard -code-model=small"
|
||||
K_CFLAGS += "-v -O3 --sysroot=$(SYSROOT) --gcc-toolchain=$(RISCV_TOOLCHAIN_PATH) -march=rv32imf -mabi=ilp32f -Xclang -target-feature -Xclang +vortex -I$(VORTEX_RT_PATH)/include -fno-rtti -fno-exceptions -ffreestanding -nostartfiles -fdata-sections -ffunction-sections"
|
||||
K_LDFLAGS += "-Wl,-Bstatic,-T$(VORTEX_RT_PATH)/linker/vx_link.ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a -lm"
|
||||
K_LDFLAGS += "-Wl,-Bstatic,-T$(VORTEX_RT_PATH)/linker/vx_link$(XLEN).ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a -lm"
|
||||
|
||||
CXXFLAGS += -std=c++11 -Wall -Wextra -Wfatal-errors
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
XLEN ?= 32
|
||||
|
||||
LLVM_PREFIX ?= /opt/llvm-riscv
|
||||
RISCV_TOOLCHAIN_PATH ?= /opt/riscv-gnu-toolchain
|
||||
SYSROOT ?= $(RISCV_TOOLCHAIN_PATH)/riscv32-unknown-elf
|
||||
|
@ -11,7 +13,7 @@ OPTS ?= -n16
|
|||
|
||||
K_LLCFLAGS += "-O3 -march=riscv32 -target-abi=ilp32f -mcpu=generic-rv32 -mattr=+m,+f -mattr=+vortex -float-abi=hard -code-model=small"
|
||||
K_CFLAGS += "-v -O3 --sysroot=$(SYSROOT) --gcc-toolchain=$(RISCV_TOOLCHAIN_PATH) -march=rv32imf -mabi=ilp32f -Xclang -target-feature -Xclang +vortex -I$(VORTEX_RT_PATH)/include -fno-rtti -fno-exceptions -ffreestanding -nostartfiles -fdata-sections -ffunction-sections"
|
||||
K_LDFLAGS += "-Wl,-Bstatic,-T$(VORTEX_RT_PATH)/linker/vx_link.ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a -lm"
|
||||
K_LDFLAGS += "-Wl,-Bstatic,-T$(VORTEX_RT_PATH)/linker/vx_link$(XLEN).ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a -lm"
|
||||
|
||||
CXXFLAGS += -std=c++11 -Wall -Wextra -Wfatal-errors
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
XLEN ?= 32
|
||||
|
||||
LLVM_PREFIX ?= /opt/llvm-riscv
|
||||
RISCV_TOOLCHAIN_PATH ?= /opt/riscv-gnu-toolchain
|
||||
SYSROOT ?= $(RISCV_TOOLCHAIN_PATH)/riscv32-unknown-elf
|
||||
|
@ -11,7 +13,7 @@ VORTEX_RT_PATH ?= $(realpath ../../../runtime)
|
|||
|
||||
K_LLCFLAGS += "-O3 -march=riscv32 -target-abi=ilp32f -mcpu=generic-rv32 -mattr=+m,+f -mattr=+vortex -float-abi=hard -code-model=small"
|
||||
K_CFLAGS += "-v -O3 --sysroot=$(SYSROOT) --gcc-toolchain=$(RISCV_TOOLCHAIN_PATH) -march=rv32imf -mabi=ilp32f -Xclang -target-feature -Xclang +vortex -I$(VORTEX_RT_PATH)/include -fno-rtti -fno-exceptions -ffreestanding -nostartfiles -fdata-sections -ffunction-sections"
|
||||
K_LDFLAGS += "-Wl,-Bstatic,-T$(VORTEX_RT_PATH)/linker/vx_link.ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a -lm"
|
||||
K_LDFLAGS += "-Wl,-Bstatic,-T$(VORTEX_RT_PATH)/linker/vx_link$(XLEN).ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a -lm"
|
||||
|
||||
CXXFLAGS += -std=c++11 -Wall -Wextra -Wfatal-errors
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
XLEN ?= 32
|
||||
|
||||
RISCV_TOOLCHAIN_PATH ?= $(wildcard ../../../../riscv-gnu-toolchain/drops)
|
||||
POCL_CC_PATH ?= $(wildcard ../../../../pocl/drops_riscv_cc)
|
||||
POCL_INC_PATH ?= $(wildcard ../include)
|
||||
|
@ -19,7 +21,7 @@ VX_SRCS += $(VORTEX_RT_PATH)/fileio/fileio.S
|
|||
VX_SRCS += $(VORTEX_RT_PATH)/tests/tests.c
|
||||
VX_SRCS += $(VORTEX_RT_PATH)/vx_api/vx_api.c
|
||||
|
||||
VX_CFLAGS = -nostartfiles -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/startup/vx_link.ld
|
||||
VX_CFLAGS = -nostartfiles -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/startup/vx_link$(XLEN).ld
|
||||
|
||||
CXXFLAGS = -g -O0 -march=rv32im -mabi=ilp32
|
||||
CXXFLAGS += -ffreestanding # program may not begin at main()
|
||||
|
@ -52,7 +54,7 @@ $(PROJECT).dump: $(PROJECT).elf
|
|||
$(DMP) -D $(PROJECT).elf > $(PROJECT).dump
|
||||
|
||||
run: $(PROJECT).hex
|
||||
POCL_DEBUG=all $(VX_SIMX_PATH)/Vcache_simX -E -a rv32i --core $(PROJECT).hex -s -b 1> emulator.debug
|
||||
POCL_DEBUG=all $(VX_SIMX_PATH)/Vcache_simX -E $(PROJECT).hex -s -b 1> emulator.debug
|
||||
|
||||
qemu: $(PROJECT).qemu
|
||||
POCL_DEBUG=all $(RISCV_TOOLCHAIN_PATH)/bin/qemu-riscv32 -d in_asm -D debug.log $(PROJECT).qemu
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
XLEN ?= 32
|
||||
|
||||
RISCV_TOOLCHAIN_PATH ?= $(wildcard ../../../../riscv-gnu-toolchain/drops)
|
||||
POCL_CC_PATH ?= $(wildcard ../../../../pocl/drops_riscv_cc)
|
||||
POCL_INC_PATH ?= $(wildcard ../include)
|
||||
|
@ -19,7 +21,7 @@ VX_SRCS += $(VORTEX_RT_PATH)/fileio/fileio.S
|
|||
VX_SRCS += $(VORTEX_RT_PATH)/tests/tests.c
|
||||
VX_SRCS += $(VORTEX_RT_PATH)/vx_api/vx_api.c
|
||||
|
||||
VX_CFLAGS = -nostartfiles -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/startup/vx_link.ld
|
||||
VX_CFLAGS = -nostartfiles -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/startup/vx_link$(XLEN).ld
|
||||
|
||||
CXXFLAGS = -g -O0 -march=rv32im -mabi=ilp32
|
||||
CXXFLAGS += -ffreestanding # program may not begin at main()
|
||||
|
@ -53,7 +55,7 @@ $(PROJECT).dump: $(PROJECT).elf
|
|||
$(DMP) -D $(PROJECT).elf > $(PROJECT).dump
|
||||
|
||||
run: $(PROJECT).hex
|
||||
POCL_DEBUG=all $(VX_SIMX_PATH)/Vcache_simX -E -a rv32i --core $(PROJECT).hex -s -b 1> emulator.debug
|
||||
POCL_DEBUG=all $(VX_SIMX_PATH)/Vcache_simX -E $(PROJECT).hex -s -b 1> emulator.debug
|
||||
|
||||
qemu: $(PROJECT).qemu
|
||||
POCL_DEBUG=all $(RISCV_TOOLCHAIN_PATH)/bin/qemu-riscv32 -d in_asm -D debug.log $(PROJECT).qemu
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
XLEN ?= 32
|
||||
|
||||
LLVM_PREFIX ?= /opt/llvm-riscv
|
||||
RISCV_TOOLCHAIN_PATH ?= /opt/riscv-gnu-toolchain
|
||||
SYSROOT ?= $(RISCV_TOOLCHAIN_PATH)/riscv32-unknown-elf
|
||||
|
@ -9,7 +11,7 @@ VORTEX_RT_PATH ?= $(realpath ../../../runtime)
|
|||
|
||||
K_LLCFLAGS += "-O3 -march=riscv32 -target-abi=ilp32f -mcpu=generic-rv32 -mattr=+m,+f -mattr=+vortex -float-abi=hard -code-model=small"
|
||||
K_CFLAGS += "-v -O3 --sysroot=$(SYSROOT) --gcc-toolchain=$(RISCV_TOOLCHAIN_PATH) -march=rv32imf -mabi=ilp32f -Xclang -target-feature -Xclang +vortex -I$(VORTEX_RT_PATH)/include -fno-rtti -fno-exceptions -ffreestanding -nostartfiles -fdata-sections -ffunction-sections"
|
||||
K_LDFLAGS += "-Wl,-Bstatic,-T$(VORTEX_RT_PATH)/linker/vx_link.ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a -lm"
|
||||
K_LDFLAGS += "-Wl,-Bstatic,-T$(VORTEX_RT_PATH)/linker/vx_link$(XLEN).ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a -lm"
|
||||
|
||||
CXXFLAGS += -std=c++11 -Wall -Wextra -pedantic -Wfatal-errors
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
XLEN ?= 32
|
||||
|
||||
LLVM_PREFIX ?= /opt/llvm-riscv
|
||||
RISCV_TOOLCHAIN_PATH ?= /opt/riscv-gnu-toolchain
|
||||
SYSROOT ?= $(RISCV_TOOLCHAIN_PATH)/riscv32-unknown-elf
|
||||
|
@ -11,7 +13,7 @@ VORTEX_RT_PATH ?= $(realpath ../../../runtime)
|
|||
|
||||
K_LLCFLAGS += "-O3 -march=riscv32 -target-abi=ilp32f -mcpu=generic-rv32 -mattr=+m,+f -mattr=+vortex -float-abi=hard -code-model=small"
|
||||
K_CFLAGS += "-v -O3 --sysroot=$(SYSROOT) --gcc-toolchain=$(RISCV_TOOLCHAIN_PATH) -march=rv32imf -mabi=ilp32f -Xclang -target-feature -Xclang +vortex -I$(VORTEX_RT_PATH)/include -fno-rtti -fno-exceptions -ffreestanding -nostartfiles -fdata-sections -ffunction-sections"
|
||||
K_LDFLAGS += "-Wl,-Bstatic,-T$(VORTEX_RT_PATH)/linker/vx_link.ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a -lm"
|
||||
K_LDFLAGS += "-Wl,-Bstatic,-T$(VORTEX_RT_PATH)/linker/vx_link$(XLEN).ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a -lm"
|
||||
|
||||
CXXFLAGS += -std=c++11 -Wall -Wextra -Wfatal-errors
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
XLEN ?= 32
|
||||
|
||||
RISCV_TOOLCHAIN_PATH ?= /opt/riscv-gnu-toolchain
|
||||
VORTEX_DRV_PATH ?= $(realpath ../../../driver)
|
||||
VORTEX_RT_PATH ?= $(realpath ../../../runtime)
|
||||
|
@ -12,7 +14,7 @@ VX_CP = $(RISCV_TOOLCHAIN_PATH)/bin/riscv32-unknown-elf-objcopy
|
|||
VX_CFLAGS += -march=rv32imf -mabi=ilp32f -O3 -Wstack-usage=1024 -ffreestanding -nostartfiles -fdata-sections -ffunction-sections
|
||||
VX_CFLAGS += -I$(VORTEX_RT_PATH)/include -I$(VORTEX_RT_PATH)/../hw
|
||||
|
||||
VX_LDFLAGS += -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/linker/vx_link.ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a
|
||||
VX_LDFLAGS += -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/linker/vx_link$(XLEN).ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a
|
||||
|
||||
VX_SRCS = kernel.c
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
XLEN ?= 32
|
||||
|
||||
RISCV_TOOLCHAIN_PATH ?= /opt/riscv-gnu-toolchain
|
||||
VORTEX_DRV_PATH ?= $(realpath ../../../driver)
|
||||
VORTEX_RT_PATH ?= $(realpath ../../../runtime)
|
||||
|
@ -12,7 +14,7 @@ VX_CP = $(RISCV_TOOLCHAIN_PATH)/bin/riscv32-unknown-elf-objcopy
|
|||
VX_CFLAGS += -march=rv32imf -mabi=ilp32f -O3 -Wstack-usage=1024 -ffreestanding -nostartfiles -fdata-sections -ffunction-sections
|
||||
VX_CFLAGS += -I$(VORTEX_RT_PATH)/include -I$(VORTEX_RT_PATH)/../hw
|
||||
|
||||
VX_LDFLAGS += -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/linker/vx_link.ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a
|
||||
VX_LDFLAGS += -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/linker/vx_link$(XLEN).ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a
|
||||
|
||||
VX_SRCS = kernel.c
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
XLEN ?= 32
|
||||
|
||||
RISCV_TOOLCHAIN_PATH ?= /opt/riscv-gnu-toolchain
|
||||
VORTEX_DRV_PATH ?= $(realpath ../../../driver)
|
||||
VORTEX_RT_PATH ?= $(realpath ../../../runtime)
|
||||
|
@ -12,7 +14,7 @@ VX_CP = $(RISCV_TOOLCHAIN_PATH)/bin/riscv32-unknown-elf-objcopy
|
|||
VX_CFLAGS += -march=rv32imf -mabi=ilp32f -O3 -Wstack-usage=1024 -ffreestanding -nostartfiles -fdata-sections -ffunction-sections
|
||||
VX_CFLAGS += -I$(VORTEX_RT_PATH)/include -I$(VORTEX_RT_PATH)/../hw
|
||||
|
||||
VX_LDFLAGS += -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/linker/vx_link.ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a
|
||||
VX_LDFLAGS += -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/linker/vx_link$(XLEN).ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a
|
||||
|
||||
VX_SRCS = kernel.c
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
XLEN ?= 32
|
||||
|
||||
RISCV_TOOLCHAIN_PATH ?= /opt/riscv-gnu-toolchain
|
||||
VORTEX_DRV_PATH ?= $(realpath ../../../driver)
|
||||
VORTEX_RT_PATH ?= $(realpath ../../../runtime)
|
||||
|
@ -12,7 +14,7 @@ VX_CP = $(RISCV_TOOLCHAIN_PATH)/bin/riscv32-unknown-elf-objcopy
|
|||
VX_CFLAGS += -march=rv32imf -mabi=ilp32f -O3 -Wstack-usage=1024 -ffreestanding -nostartfiles -fdata-sections -ffunction-sections
|
||||
VX_CFLAGS += -I$(VORTEX_RT_PATH)/include -I$(VORTEX_RT_PATH)/../hw
|
||||
|
||||
VX_LDFLAGS += -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/linker/vx_link.ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a
|
||||
VX_LDFLAGS += -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/linker/vx_link$(XLEN).ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a
|
||||
|
||||
VX_LDFLAGS += -lm
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
XLEN ?= 32
|
||||
|
||||
RISCV_TOOLCHAIN_PATH ?= /opt/riscv-gnu-toolchain
|
||||
VORTEX_DRV_PATH ?= $(realpath ../../../driver)
|
||||
VORTEX_RT_PATH ?= $(realpath ../../../runtime)
|
||||
|
@ -12,7 +14,7 @@ VX_CP = $(RISCV_TOOLCHAIN_PATH)/bin/riscv32-unknown-elf-objcopy
|
|||
VX_CFLAGS += -march=rv32imf -mabi=ilp32f -O3 -Wstack-usage=1024 -ffreestanding -nostartfiles -fdata-sections -ffunction-sections
|
||||
VX_CFLAGS += -I$(VORTEX_RT_PATH)/include -I$(VORTEX_RT_PATH)/../hw
|
||||
|
||||
VX_LDFLAGS += -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/linker/vx_link.ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a
|
||||
VX_LDFLAGS += -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/linker/vx_link$(XLEN).ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a
|
||||
|
||||
VX_SRCS = kernel.c
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
XLEN ?= 32
|
||||
|
||||
RISCV_TOOLCHAIN_PATH ?= /opt/riscv-gnu-toolchain
|
||||
VORTEX_DRV_PATH ?= $(realpath ../../../driver)
|
||||
VORTEX_RT_PATH ?= $(realpath ../../../runtime)
|
||||
|
@ -12,7 +14,7 @@ VX_CP = $(RISCV_TOOLCHAIN_PATH)/bin/riscv32-unknown-elf-objcopy
|
|||
VX_CFLAGS += -march=rv32imf -mabi=ilp32f -O3 -Wstack-usage=1024 -ffreestanding -nostartfiles -fdata-sections -ffunction-sections
|
||||
VX_CFLAGS += -I$(VORTEX_RT_PATH)/include -I$(VORTEX_RT_PATH)/../hw
|
||||
|
||||
VX_LDFLAGS += -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/linker/vx_link.ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a
|
||||
VX_LDFLAGS += -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/linker/vx_link$(XLEN).ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a
|
||||
|
||||
VX_SRCS = kernel.c
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
XLEN ?= 32
|
||||
|
||||
RISCV_TOOLCHAIN_PATH ?= /opt/riscv-gnu-toolchain
|
||||
VORTEX_DRV_PATH ?= $(realpath ../../../driver)
|
||||
VORTEX_RT_PATH ?= $(realpath ../../../runtime)
|
||||
|
@ -12,7 +14,7 @@ VX_CP = $(RISCV_TOOLCHAIN_PATH)/bin/riscv32-unknown-elf-objcopy
|
|||
VX_CFLAGS += -march=rv32imf -mabi=ilp32f -O3 -Wstack-usage=1024 -ffreestanding -nostartfiles -fdata-sections -ffunction-sections
|
||||
VX_CFLAGS += -I$(VORTEX_RT_PATH)/include -I$(VORTEX_RT_PATH)/../hw
|
||||
|
||||
VX_LDFLAGS += -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/linker/vx_link.ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a
|
||||
VX_LDFLAGS += -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/linker/vx_link$(XLEN).ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a
|
||||
|
||||
VX_SRCS = kernel.c
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
XLEN ?= 32
|
||||
|
||||
RISCV_TOOLCHAIN_PATH ?= /opt/riscv-gnu-toolchain
|
||||
VORTEX_DRV_PATH ?= $(realpath ../../../driver)
|
||||
VORTEX_RT_PATH ?= $(realpath ../../../runtime)
|
||||
|
@ -12,7 +14,7 @@ VX_CP = $(RISCV_TOOLCHAIN_PATH)/bin/riscv32-unknown-elf-objcopy
|
|||
VX_CFLAGS += -march=rv32imf -mabi=ilp32f -O3 -Wstack-usage=1024 -ffreestanding -nostartfiles -fdata-sections -ffunction-sections
|
||||
VX_CFLAGS += -I$(VORTEX_RT_PATH)/include -I$(VORTEX_RT_PATH)/../hw
|
||||
|
||||
VX_LDFLAGS += -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/linker/vx_link.ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a
|
||||
VX_LDFLAGS += -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/linker/vx_link$(XLEN).ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a
|
||||
|
||||
VX_SRCS = kernel.c
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
XLEN ?= 32
|
||||
|
||||
RISCV_TOOLCHAIN_PATH ?= /opt/riscv-gnu-toolchain
|
||||
VORTEX_DRV_PATH ?= $(realpath ../../../driver)
|
||||
VORTEX_RT_PATH ?= $(realpath ../../../runtime)
|
||||
|
@ -12,7 +14,7 @@ VX_CP = $(RISCV_TOOLCHAIN_PATH)/bin/riscv32-unknown-elf-objcopy
|
|||
VX_CFLAGS += -march=rv32imf -mabi=ilp32f -O3 -Wstack-usage=1024 -ffreestanding -nostartfiles -fdata-sections -ffunction-sections
|
||||
VX_CFLAGS += -DSM_ENABLE=0 -I$(VORTEX_RT_PATH)/include -I$(VORTEX_RT_PATH)/../hw
|
||||
|
||||
VX_LDFLAGS += -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/linker/vx_link.ld -Wl,--gc-sections,--defsym=__stack_top=0xfefff000
|
||||
VX_LDFLAGS += -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/linker/vx_link$(XLEN).ld -Wl,--gc-sections,--defsym=__stack_top=0xfefff000
|
||||
|
||||
VX_RUNTIME = $(VORTEX_RT_PATH)/src/vx_start.S $(VORTEX_RT_PATH)/src/vx_perf.c
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
XLEN ?= 32
|
||||
|
||||
RISCV_TOOLCHAIN_PATH ?= /opt/riscv-gnu-toolchain
|
||||
VORTEX_DRV_PATH ?= $(realpath ../../../driver)
|
||||
VORTEX_RT_PATH ?= $(realpath ../../../runtime)
|
||||
|
@ -12,7 +14,7 @@ VX_CP = $(RISCV_TOOLCHAIN_PATH)/bin/riscv32-unknown-elf-objcopy
|
|||
VX_CFLAGS += -march=rv32imf -mabi=ilp32f -O3 -Wstack-usage=1024 -ffreestanding -nostartfiles -fdata-sections -ffunction-sections
|
||||
VX_CFLAGS += -I$(VORTEX_RT_PATH)/include -I$(VORTEX_RT_PATH)/../hw
|
||||
|
||||
VX_LDFLAGS += -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/linker/vx_link.ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a
|
||||
VX_LDFLAGS += -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/linker/vx_link$(XLEN).ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a
|
||||
|
||||
VX_SRCS = kernel.c
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
XLEN ?= 32
|
||||
|
||||
RISCV_TOOLCHAIN_PATH ?= /opt/riscv-gnu-toolchain
|
||||
VORTEX_DRV_PATH ?= $(realpath ../../../driver)
|
||||
VORTEX_RT_PATH ?= $(realpath ../../../runtime)
|
||||
|
@ -12,7 +14,7 @@ VX_CP = $(RISCV_TOOLCHAIN_PATH)/bin/riscv32-unknown-elf-objcopy
|
|||
VX_CFLAGS += -march=rv32imf -mabi=ilp32f -O3 -Wstack-usage=1024 -ffreestanding -nostartfiles -fdata-sections -ffunction-sections
|
||||
VX_CFLAGS += -I$(VORTEX_RT_PATH)/include -I$(VORTEX_RT_PATH)/../hw
|
||||
|
||||
VX_LDFLAGS += -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/linker/vx_link.ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a
|
||||
VX_LDFLAGS += -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/linker/vx_link$(XLEN).ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a
|
||||
|
||||
VX_SRCS = kernel.c
|
||||
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
|
||||
XLEN ?= 32
|
||||
|
||||
RISCV_TOOLCHAIN_PATH ?= /opt/riscv-gnu-toolchain
|
||||
VORTEX_DRV_PATH ?= $(realpath ../../../driver)
|
||||
VORTEX_RT_PATH ?= $(realpath ../../../runtime)
|
||||
|
@ -18,7 +20,7 @@ VX_CFLAGS += -Xclang -target-feature -Xclang +vortex
|
|||
VX_CFLAGS += --sysroot=${SYSROOT} --gcc-toolchain=${RISCV_TOOLCHAIN_PATH}
|
||||
VX_CFLAGS += -I${VORTEX_HW_PATH} -I${VORTEX_RT_PATH}/include
|
||||
|
||||
VX_LDFLAGS += -Wl,-Bstatic,-T${VORTEX_RT_PATH}/linker/vx_link.ld,--gc-sections ${VORTEX_RT_PATH}/libvortexrt.a
|
||||
VX_LDFLAGS += -Wl,-Bstatic,-T${VORTEX_RT_PATH}/linker/vx_link$(XLEN).ld,--gc-sections ${VORTEX_RT_PATH}/libvortexrt.a
|
||||
|
||||
VX_DPFLAGS = -arch=riscv32 -mcpu=generic-rv32 -mattr=+m,+f -mattr=+vortex
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
XLEN ?= 32
|
||||
|
||||
RISCV_TOOLCHAIN_PATH ?= /opt/riscv-gnu-toolchain
|
||||
VORTEX_DRV_PATH ?= $(realpath ../../../driver)
|
||||
VORTEX_RT_PATH ?= $(wildcard ../../../runtime)
|
||||
|
@ -12,7 +14,7 @@ VX_CP = $(RISCV_TOOLCHAIN_PATH)/bin/riscv32-unknown-elf-objcopy
|
|||
VX_CFLAGS += -std=c++11 -march=rv32imf -mabi=ilp32f -O3 -Wstack-usage=1024 -ffreestanding -nostartfiles -fdata-sections -ffunction-sections
|
||||
VX_CFLAGS += -DENABLE_SW -I$(VORTEX_RT_PATH)/include -I$(VORTEX_RT_PATH)/../hw -I$(VORTEX_RT_PATH)/../sim/common -I$(VORTEX_RT_PATH)/../third_party
|
||||
|
||||
VX_LDFLAGS += -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/linker/vx_link.ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a
|
||||
VX_LDFLAGS += -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/linker/vx_link$(XLEN).ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a
|
||||
|
||||
VX_SRCS = kernel.c
|
||||
|
||||
|
|
|
@ -1,18 +1,50 @@
|
|||
ALL_TESTS := $(wildcard *.hex)
|
||||
XLEN ?= 32
|
||||
|
||||
D_TESTS := $(wildcard *ud-p-*.hex)
|
||||
V_TESTS := $(wildcard *-v-*.hex)
|
||||
SIM_DIR=../../../sim
|
||||
|
||||
EXCLUDED_TESTS := $(V_TESTS) $(D_TESTS) rv32si-p-scall.hex rv32si-p-sbreak.hex rv32mi-p-breakpoint.hex rv32ua-p-amomax_w.hex rv32ua-p-amoxor_w.hex rv32ua-p-amoor_w.hex rv32mi-p-ma_addr.hex rv32mi-p-mcsr.hex rv32ua-p-amoswap_w.hex rv32mi-p-ma_fetch.hex rv32mi-p-csr.hex rv32ua-p-amoadd_w.hex rv32si-p-dirty.hex rv32ui-p-fence_i.hex rv32si-p-csr.hex rv32mi-p-shamt.hex rv32ua-p-amomin_w.hex rv32ua-p-lrsc.hex rv32si-p-wfi.hex rv32ua-p-amomaxu_w.hex rv32si-p-ma_fetch.hex rv32mi-p-illegal.hex rv32uc-p-rvc.hex rv32mi-p-sbreak.hex rv32ua-p-amominu_w.hex rv32ua-p-amoand_w.hex
|
||||
TESTS_32I := $(filter-out rv32ui-p-fence_i.hex, $(wildcard rv32ui-p-*.hex))
|
||||
TESTS_32M := $(wildcard rv32um-p-*.hex)
|
||||
TESTS_32F := $(wildcard rv32uf-p-*.hex)
|
||||
TESTS_32D := $(wildcard rv32ud-p-*.hex)
|
||||
|
||||
TESTS := $(filter-out $(EXCLUDED_TESTS), $(ALL_TESTS))
|
||||
TESTS_64I := $(wildcard rv64ui-p-*.hex)
|
||||
TESTS_64M := $(wildcard rv64um-p-*.hex)
|
||||
TESTS_64F := $(wildcard rv64uf-p-*.hex)
|
||||
TESTS_64D := $(wildcard rv64ud-p-*.hex)
|
||||
|
||||
all:
|
||||
|
||||
run-simx:
|
||||
$(foreach test, $(TESTS), ../../../sim/simx/simx -r -a rv32i -c 1 -i $(test) || exit;)
|
||||
run-simx-32i:
|
||||
$(foreach test, $(TESTS_32I), $(SIM_DIR)/simx/simx -r -c 1 -i $(test) || exit;)
|
||||
|
||||
run-simx-32im:
|
||||
$(foreach test, $(TESTS_32I) $(TESTS_32M), $(SIM_DIR)/simx/simx -r -c 1 -i $(test) || exit;)
|
||||
|
||||
run-simx-32imf:
|
||||
$(foreach test, $(TESTS_32I) $(TESTS_32M) $(TESTS_32F), $(SIM_DIR)/simx/simx -r -c 1 -i $(test) || exit;)
|
||||
|
||||
run-simx-32imfd:
|
||||
$(foreach test, $(TESTS_32I) $(TESTS_32M) $(TESTS_32F) $(TESTS_32D), $(SIM_DIR)/simx/simx -r -c 1 -i $(test) || exit;)
|
||||
|
||||
run-simx-64i:
|
||||
$(foreach test, $(TESTS_64I), $(SIM_DIR)/simx/simx -r -c 1 -i $(test) || exit;)
|
||||
|
||||
run-simx-64im:
|
||||
$(foreach test, $(TESTS_64I) $(TESTS_64M), $(SIM_DIR)/simx/simx -r -c 1 -i $(test) || exit;)
|
||||
|
||||
run-simx-64imf:
|
||||
$(foreach test, $(TESTS_64I) $(TESTS_64M) $(TESTS_64F), $(SIM_DIR)/simx/simx -r -c 1 -i $(test) || exit;)
|
||||
|
||||
run-simx-64imfd:
|
||||
$(foreach test, $(TESTS_64I) $(TESTS_64M) $(TESTS_64F) $(TESTS_64D), $(SIM_DIR)/simx/simx -r -c 1 -i $(test) || exit;)
|
||||
|
||||
run-simx-32: run-simx-32imfd
|
||||
|
||||
run-simx-64: run-simx-32imfd run-simx-64imfd
|
||||
|
||||
run-simx: run-simx-$(XLEN)
|
||||
|
||||
run-rtlsim:
|
||||
$(foreach test, $(TESTS), ../../../sim/rtlsim/rtlsim -r $(test) || exit;)
|
||||
$(foreach test, $(TESTS_32I) $(TESTS_32M) $(TESTS_32F), $(SIM_DIR)/rtlsim/rtlsim -r $(test) || exit;)
|
||||
|
||||
clean:
|
|
@ -1,49 +0,0 @@
|
|||
:0200000480007A
|
||||
:100000006F00C004732F2034930F8000630AFF0336
|
||||
:10001000930F90006306FF03930FB0006302FF038A
|
||||
:10002000170F0000130FCF2063040F0067000F00AD
|
||||
:10003000732F203463540F006F00400093E19153FD
|
||||
:10004000171F000023203FFC6FF09FFF732540F136
|
||||
:1000500063100500970200009382020173905230F2
|
||||
:10006000735000189702000093820202739052307E
|
||||
:10007000B70200809382F2FF7390023B9302F0017B
|
||||
:100080007390023A9702000093828201739052307B
|
||||
:100090007350203073503030735040309301000063
|
||||
:1000A00097020000938242F67390523013051000BD
|
||||
:1000B0001315F501634C05000F00F00F93011000BC
|
||||
:1000C0009308D005130500007300000093020000A0
|
||||
:1000D000638E020073905210B7B2000093829210A8
|
||||
:1000E0007390223073232030E39A62F4735000300F
|
||||
:1000F00037250000130505807320053097020000A6
|
||||
:100100009382420173901234732540F173002030C2
|
||||
:10011000930120007310007AF325007A631EB00E5D
|
||||
:1001200017060000130606027310267A3705002012
|
||||
:10013000130545047310157AF325107A6318B5007A
|
||||
:10014000630E000A9301300003250600930140006E
|
||||
:1001500037050020130515047310157AF325107A5E
|
||||
:100160006310B502172600001306C6E97310267A3D
|
||||
:1001700003260600630406089301500023200600AE
|
||||
:100180009301600037050020130525047310157ACC
|
||||
:10019000F325107A6312B5062320C6009301700080
|
||||
:1001A00003260600631C0604130510007310057A6D
|
||||
:1001B000F325007A6312B5063705002013051504F0
|
||||
:1001C0007310157A97260000938606E47390267ABA
|
||||
:1001D0009301800083A60600638206029301A000BB
|
||||
:1001E00017260000130606E22320C6009301B00084
|
||||
:1001F0000326060063140600631030020F00F00FA0
|
||||
:10020000638001009391110093E111009308D005E0
|
||||
:1002100013850100730000000F00F00F9301100020
|
||||
:100220009308D005130500007300000093F211003D
|
||||
:10023000E39602FC9302300073232034E39062FCC7
|
||||
:10024000F3221034938242007390123473002030F2
|
||||
:10025000731000C00000000000000000000000005B
|
||||
:10026000000000000000000000000000000000008E
|
||||
:10027000000000000000000000000000000000007E
|
||||
:1010000000000000000000000000000000000000E0
|
||||
:1010100000000000000000000000000000000000D0
|
||||
:1010200000000000000000000000000000000000C0
|
||||
:1010300000000000000000000000000000000000B0
|
||||
:081040000000000000000000A8
|
||||
:1020000000000000000000000000000000000000D0
|
||||
:040000058000000077
|
||||
:00000001FF
|
|
@ -1,57 +0,0 @@
|
|||
:0200000480007A
|
||||
:100000006F00C004732F2034930F8000630AFF0336
|
||||
:10001000930F90006306FF03930FB0006302FF038A
|
||||
:10002000170F0000130F8F2663040F0067000F00E7
|
||||
:10003000732F203463540F006F00400093E19153FD
|
||||
:10004000171F000023203FFC6FF09FFF732540F136
|
||||
:1000500063100500970200009382020173905230F2
|
||||
:10006000735000189702000093820202739052307E
|
||||
:10007000B70200809382F2FF7390023B9302F0017B
|
||||
:100080007390023A9702000093828201739052307B
|
||||
:100090007350203073503030735040309301000063
|
||||
:1000A00097020000938242F67390523013051000BD
|
||||
:1000B0001315F501634C05000F00F00F93011000BC
|
||||
:1000C0009308D005130500007300000093020000A0
|
||||
:1000D000638E020073905210B7B2000093829210A8
|
||||
:1000E0007390223073232030E39A62F4735000300F
|
||||
:1000F00037250000130505807320053097020000A6
|
||||
:100100009382420173901234732540F173002030C2
|
||||
:1001100073D0013473250034930E30009301200016
|
||||
:10012000631CD513F3F50034930E300093013000B7
|
||||
:100130006394D51373660234930E2000930140003C
|
||||
:10014000631CD611F3560134930E600093015000E6
|
||||
:100150006394D6113725AD0B1305A5DEF3150534D1
|
||||
:10016000930E2000930160006398D50F372500009F
|
||||
:100170001305A5DE73350534B72EAD0B938EAEDEB9
|
||||
:1001800093017000631AD50D37C500001305F5EE15
|
||||
:1001900073250534B70EAD0B93018000631ED50B9C
|
||||
:1001A00073250034B7CEAD0B938EFEEE9301900015
|
||||
:1001B0006314D50B7325103013750502630805020F
|
||||
:1001C000B765000073A00530530000F073B0053030
|
||||
:1001D00097250000938505E327A0050003A50500EA
|
||||
:1001E000930E10009301A0006318D50773251030FB
|
||||
:1001F000135545011375150063040504B72200006B
|
||||
:100200009382028073B00230970200009382020151
|
||||
:1002100073901234730020301305F00F731500C073
|
||||
:10022000930EF00F9301B0006318D5031305F00F80
|
||||
:1002300073250030930EF00F9301C000631ED501AB
|
||||
:100240000F00F00F930110009308D0051305000074
|
||||
:1002500073000000631030020F00F00F6380010094
|
||||
:100260009391110093E111009308D00513850100CB
|
||||
:10027000730000000F00F00F930110009308D005E9
|
||||
:1002800013050000730000009302900063E6510024
|
||||
:100290009302B00063F23202F32220341303800091
|
||||
:1002A000E39C62FA0F00F00F930110009308D00551
|
||||
:1002B0001305000073000000F32220341303200014
|
||||
:1002C000E39C62F8F322103493824200739012345C
|
||||
:1002D00073002030731000C0000000000000000018
|
||||
:1002E000000000000000000000000000000000000E
|
||||
:1002F00000000000000000000000000000000000FE
|
||||
:1010000000000000000000000000000000000000E0
|
||||
:1010100000000000000000000000000000000000D0
|
||||
:1010200000000000000000000000000000000000C0
|
||||
:1010300000000000000000000000000000000000B0
|
||||
:081040000000000000000000A8
|
||||
:1020000001000000000000000000000000000000CF
|
||||
:040000058000000077
|
||||
:00000001FF
|
|
@ -1,81 +0,0 @@
|
|||
:0200000480007A
|
||||
:100000006F00C004732F2034930F8000630AFF0336
|
||||
:10001000930F90006306FF03930FB0006302FF038A
|
||||
:10002000170F0000130F0F2E63040F0067000F005F
|
||||
:10003000732F203463540F006F00400093E19153FD
|
||||
:10004000171F000023203FFC6FF09FFF732540F136
|
||||
:1000500063100500970200009382020173905230F2
|
||||
:10006000735000189702000093820202739052307E
|
||||
:10007000B70200809382F2FF7390023B9302F0017B
|
||||
:100080007390023A9702000093828201739052307B
|
||||
:100090007350203073503030735040309301000063
|
||||
:1000A00097020000938242F67390523013051000BD
|
||||
:1000B0001315F501634C05000F00F00F93011000BC
|
||||
:1000C0009308D005130500007300000093020000A0
|
||||
:1000D000638E020073905210B7B2000093829210A8
|
||||
:1000E0007390223073232030E39A62F4735000300F
|
||||
:1000F00037250000130505807320053097020000A6
|
||||
:100100009382420173901234732540F173002030C2
|
||||
:1001100093012000000000006F00400FB722000094
|
||||
:100120009382028073B00230371300001303038000
|
||||
:1001300073200330F3230030B3F353006316730EC0
|
||||
:100140007350413473504130970200009382921BE8
|
||||
:1001500073945230F322503093F2120063860200FF
|
||||
:10016000736004306F0000007310543073503130EE
|
||||
:10017000970200009382820273901234B72200002B
|
||||
:100180009382028073B002303713000013030380A0
|
||||
:100190007320033073002030730050100000000003
|
||||
:1001A0006F00C006730050106F004006730000120D
|
||||
:1001B000F3220018000000006F00400573000012D9
|
||||
:1001C0006F00C004F32200186F0040049702000083
|
||||
:1001D00093820202739012149302001073A0021013
|
||||
:1001E0009302000273B002107300201000000000A0
|
||||
:1001F0006F00C001970200009382020173901214F5
|
||||
:10020000730020106F008000631030020F00F00FA9
|
||||
:10021000638001009391110093E111009308D005D0
|
||||
:1002200013850100730000000F00F00F9301100010
|
||||
:100230009308D005130500007300000013000000B0
|
||||
:100240001300000013000000130000001300000062
|
||||
:100250001300000013000000130000001300000052
|
||||
:100260001300000013000000130000001300000042
|
||||
:100270001300000013000000130000001300000032
|
||||
:100280001300000013000000130000001300000022
|
||||
:100290001300000013000000130000001300000012
|
||||
:1002A0001300000013000000130000001300000002
|
||||
:1002B00013000000130000001300000013000000F2
|
||||
:1002C00013000000130000001300000013000000E2
|
||||
:1002D00013000000130000001300000013000000D2
|
||||
:1002E00013000000130000001300000013000000C2
|
||||
:1002F00013000000130000001300000013000000B2
|
||||
:100300006F0000046FF05FE66FF05FF06FF01FF0BA
|
||||
:100310006FF0DFEF6FF09FEF6FF05FEF6FF01FEFA9
|
||||
:100320006FF0DFEE6FF09FEE6FF05FEE6FF01FEE9D
|
||||
:100330006FF0DFED6FF09FED6FF05FED6FF01FED91
|
||||
:1003400013032000F3222034E39262ECF3221034F2
|
||||
:10035000F3233034638E030003D30200B3C363007E
|
||||
:1003600003D3220013130301B3C36300E39003EA32
|
||||
:1003700017030000130343DA638E620417030000BF
|
||||
:10038000130303E2638E6204170300001303C3E147
|
||||
:100390006382620417030000130303E263886204AC
|
||||
:1003A000170300001303C3E1638662021703000012
|
||||
:1003B000130383E16380620217030000130343E326
|
||||
:1003C000638C6202170300001303C3E3638C6202B1
|
||||
:1003D0006FF0DFE393828200739012347300203059
|
||||
:1003E00037032000732003306FF0DFFE3703100067
|
||||
:1003F000732003306FF01FFE37034000732003307B
|
||||
:100400006FF05FFD6FF01FFD731000C00000000073
|
||||
:1004100000000000000000000000000000000000DC
|
||||
:1004200000000000000000000000000000000000CC
|
||||
:1004300000000000000000000000000000000000BC
|
||||
:1004400000000000000000000000000000000000AC
|
||||
:10045000000000000000000000000000000000009C
|
||||
:10046000000000000000000000000000000000008C
|
||||
:10047000000000000000000000000000000000007C
|
||||
:08048000000000000000000074
|
||||
:1010000000000000000000000000000000000000E0
|
||||
:1010100000000000000000000000000000000000D0
|
||||
:1010200000000000000000000000000000000000C0
|
||||
:1010300000000000000000000000000000000000B0
|
||||
:081040000000000000000000A8
|
||||
:040000058000000077
|
||||
:00000001FF
|
|
@ -1,73 +0,0 @@
|
|||
:0200000480007A
|
||||
:100000006F00C004732F2034930F8000630AFF0336
|
||||
:10001000930F90006306FF03930FB0006302FF038A
|
||||
:10002000170F0000130F8F2A63040F0067000F00E3
|
||||
:10003000732F203463540F006F00400093E19153FD
|
||||
:10004000171F000023203FFC6FF09FFF732540F136
|
||||
:1000500063100500970200009382020173905230F2
|
||||
:10006000735000189702000093820202739052307E
|
||||
:10007000B70200809382F2FF7390023B9302F0017B
|
||||
:100080007390023A9702000093828201739052307B
|
||||
:100090007350203073503030735040309301000063
|
||||
:1000A00097020000938242F67390523013051000BD
|
||||
:1000B0001315F501634C05000F00F00F93011000BC
|
||||
:1000C0009308D005130500007300000093020000A0
|
||||
:1000D000638E020073905210B7B2000093829210A8
|
||||
:1000E0007390223073232030E39A62F4735000300F
|
||||
:1000F00037250000130505807320053097020000A6
|
||||
:100100009382420173901234732540F173002030C2
|
||||
:1001100017240000130404EF93044000930120000F
|
||||
:10012000970300009383C301130314000313140007
|
||||
:10013000B7C3FFFF9383C3BC631E731493013000E6
|
||||
:10014000970300009383C3011303140003531400A7
|
||||
:10015000B7C300009383C3BC631E731293014000B6
|
||||
:10016000970300009383C3011303140003231400B7
|
||||
:10017000B7C3AA999383C3BC631E73109301500045
|
||||
:10018000970300009383C301130324000323240077
|
||||
:10019000B7B399889383B3AB631E730E930160006A
|
||||
:1001A000970300009383C301130334000323340037
|
||||
:1001B000B7A388779383A39A631E730C930460009C
|
||||
:1001C000930160019703000093830303130314005A
|
||||
:1001D000A310040003030400630E030A03033400A6
|
||||
:1001E000630A030A030314006316030A03032400CB
|
||||
:1001F0006312030A930170019703000093830303C2
|
||||
:1002000013035400A32204000303440063040308FF
|
||||
:10021000030394006300030803035400631C0306F4
|
||||
:100220000303840063180306930180019703000011
|
||||
:10023000938303031303A400232504000303940002
|
||||
:10024000630A03040303E400630603040303A40036
|
||||
:10025000631203040303D400631E0302930190019D
|
||||
:1002600097030000938303031303F400A327040000
|
||||
:100270000303E4006300030203033401630C03007F
|
||||
:100280000303F40063180300030324016314030051
|
||||
:10029000631030020F00F00F638001009391110092
|
||||
:1002A00093E111009308D00513850100730000004D
|
||||
:1002B0000F00F00F930110009308D0051305000004
|
||||
:1002C0007300000013000000F3222034E39492FC3A
|
||||
:1002D000F3223034E39062FC83820200E38C02FA62
|
||||
:1002E0007390133473002030731000C000000000BE
|
||||
:1002F00000000000000000000000000000000000FE
|
||||
:1010000000000000000000000000000000000000E0
|
||||
:1010100000000000000000000000000000000000D0
|
||||
:1010200000000000000000000000000000000000C0
|
||||
:1010300000000000000000000000000000000000B0
|
||||
:081040000000000000000000A8
|
||||
:10200000DDCCBBAA998877665544332211EEFFEEEA
|
||||
:1020100050505050505050505050505050505050C0
|
||||
:1020200050505050505050505050505050505050B0
|
||||
:1020300050505050505050505050505050505050A0
|
||||
:102040005050505050505050505050505050505090
|
||||
:102050005050505050505050505050505050505080
|
||||
:102060005050505050505050505050505050505070
|
||||
:102070005050505050505050505050505050505060
|
||||
:102080005050505050505050505050505050505050
|
||||
:102090005050505050505050505050505050505040
|
||||
:1020A0005050505050505050505050505050505030
|
||||
:1020B0005050505050505050505050505050505020
|
||||
:1020C0005050505050505050505050505050505010
|
||||
:1020D0005050505050505050505050505050505000
|
||||
:1020E00050505050505050505050505050505050F0
|
||||
:1020F00050505050505050505050505050505050E0
|
||||
:10210000505050505050505050505050505050001F
|
||||
:040000058000000077
|
||||
:00000001FF
|
|
@ -1,52 +0,0 @@
|
|||
:0200000480007A
|
||||
:100000006F00C004732F2034930F8000630AFF0336
|
||||
:10001000930F90006306FF03930FB0006302FF038A
|
||||
:10002000170F0000130F0F2263040F0067000F006B
|
||||
:10003000732F203463540F006F00400093E19153FD
|
||||
:10004000171F000023203FFC6FF09FFF732540F136
|
||||
:1000500063100500970200009382020173905230F2
|
||||
:10006000735000189702000093820202739052307E
|
||||
:10007000B70200809382F2FF7390023B9302F0017B
|
||||
:100080007390023A9702000093828201739052307B
|
||||
:100090007350203073503030735040309301000063
|
||||
:1000A00097020000938242F67390523013051000BD
|
||||
:1000B0001315F501634C05000F00F00F93011000BC
|
||||
:1000C0009308D005130500007300000093020000A0
|
||||
:1000D000638E020073905210B7B2000093829210A8
|
||||
:1000E0007390223073232030E39A62F4735000300F
|
||||
:1000F00037250000130505807320053097020000A6
|
||||
:100100009382420173901234732540F173002030C2
|
||||
:100110009301200013030000970200009382C200A5
|
||||
:100120006783220011A019A06F00800E9301300098
|
||||
:10013000970200009382C200678312006F00800064
|
||||
:100140006F00000D930140001303000097020000B0
|
||||
:100150009382C2006783320011A019A06F00400B88
|
||||
:100160009301500013030000970200009382C20025
|
||||
:100170006F03600011A019A06F0080099301600057
|
||||
:1001800013030000970200009382C2006303000083
|
||||
:1001900011A019A06F00C007930170006315000043
|
||||
:1001A0006F00C00009A009A06F00800693018000C5
|
||||
:1001B000F323103093F3430063880304010073704A
|
||||
:1001C00012300100F323103093F3430063820304E1
|
||||
:1001D00097020000938242039382E2FF73901234ED
|
||||
:1001E00073701230F323103093F34300639E0300C7
|
||||
:1001F000B72300009383038073A003307300203083
|
||||
:1002000063020000736012306F004002631030021E
|
||||
:100210000F00F00F638001009391110093E1110032
|
||||
:100220009308D00513850100730000000F00F00F44
|
||||
:10023000930110009308D00513050000730000001F
|
||||
:10024000130520006380A10213054000638CA10008
|
||||
:10025000130550006388A100130560006384A100AA
|
||||
:100260006FF01FFBE31603FA93050000732520349B
|
||||
:10027000E310B5FAF325103493854500E39AB2F8FC
|
||||
:1002800073253034630605001305E5FFE31255F8C6
|
||||
:100290009385C5007390153473002030731000C02F
|
||||
:1002A000000000000000000000000000000000004E
|
||||
:1002B000000000000000000000000000000000003E
|
||||
:1010000000000000000000000000000000000000E0
|
||||
:1010100000000000000000000000000000000000D0
|
||||
:1010200000000000000000000000000000000000C0
|
||||
:1010300000000000000000000000000000000000B0
|
||||
:081040000000000000000000A8
|
||||
:040000058000000077
|
||||
:00000001FF
|
|
@ -1,36 +0,0 @@
|
|||
:0200000480007A
|
||||
:100000006F008004732F2034930F80006308FF0378
|
||||
:10001000930F90006304FF03930FB0006300FF038E
|
||||
:10002000130F000063040F0067000F00732F2034CC
|
||||
:1000300063540F006F00400093E19153171F0000BD
|
||||
:1000400023223FFC6FF09FFF732540F163100500F2
|
||||
:10005000970200009382020173905230735000188F
|
||||
:10006000970200009382020273905230B702008020
|
||||
:100070009382F2FF7390023B9302F0017390023A75
|
||||
:1000800097020000938282017390523073502030A7
|
||||
:1000900073503030735040309301000097020000DD
|
||||
:1000A000938282F673905230130510001315F501F8
|
||||
:1000B000634C05000F00F00F930110009308D0056A
|
||||
:1000C000130500007300000093020000638E02001D
|
||||
:1000D00073905210B7B20000938292107390223046
|
||||
:1000E00073232030E39A62F4735000303725000008
|
||||
:1000F00013050580732005309702000093824201AA
|
||||
:1001000073901234732540F1730020307325103042
|
||||
:100110001355E501930E1000930120006318D503D9
|
||||
:10012000732540F1930E0000930130006310D50356
|
||||
:10013000732530F1732520F1732510F1930200002F
|
||||
:1001400073A0523073A01234631030020F00F00F0E
|
||||
:10015000638001009391110093E111009308D00591
|
||||
:1001600013850100730000000F00F00F93011000D1
|
||||
:100170009308D0051305000073000000731000C041
|
||||
:10018000000000000000000000000000000000006F
|
||||
:10019000000000000000000000000000000000005F
|
||||
:1001A000000000000000000000000000000000004F
|
||||
:0C01B00000000000000000000000000043
|
||||
:1010000000000000000000000000000000000000E0
|
||||
:1010100000000000000000000000000000000000D0
|
||||
:1010200000000000000000000000000000000000C0
|
||||
:1010300000000000000000000000000000000000B0
|
||||
:081040000000000000000000A8
|
||||
:040000058000000077
|
||||
:00000001FF
|
|
@ -1,32 +0,0 @@
|
|||
:0200000480007A
|
||||
:100000006F00C004732F2034930F8000630AFF0336
|
||||
:10001000930F90006306FF03930FB0006302FF038A
|
||||
:10002000170F0000130F0F1363040F0067000F007A
|
||||
:10003000732F203463540F006F00400093E19153FD
|
||||
:10004000171F000023203FFC6FF09FFF732540F136
|
||||
:1000500063100500970200009382020173905230F2
|
||||
:10006000735000189702000093820202739052307E
|
||||
:10007000B70200809382F2FF7390023B9302F0017B
|
||||
:100080007390023A9702000093828201739052307B
|
||||
:100090007350203073503030735040309301000063
|
||||
:1000A00097020000938242F67390523013051000BD
|
||||
:1000B0001315F501634C05000F00F00F93011000BC
|
||||
:1000C0009308D005130500007300000093020000A0
|
||||
:1000D000638E020073905210B7B2000093829210A8
|
||||
:1000E0007390223073232030E39A62F4735000300F
|
||||
:1000F00037250000130505807320053097020000A6
|
||||
:100100009382420173901234732540F173002030C2
|
||||
:1001100093012000730010006F0080006310300214
|
||||
:100120000F00F00F638001009391110093E1110023
|
||||
:100130009308D00513850100730000000F00F00F35
|
||||
:10014000930110009308D005130500007300000010
|
||||
:1001500013033000F3222034E39462FC1703000001
|
||||
:10016000130383FBF3221034E39C62FA6FF01FFD4C
|
||||
:10017000731000C00000000000000000000000003C
|
||||
:1010000000000000000000000000000000000000E0
|
||||
:1010100000000000000000000000000000000000D0
|
||||
:1010200000000000000000000000000000000000C0
|
||||
:1010300000000000000000000000000000000000B0
|
||||
:081040000000000000000000A8
|
||||
:040000058000000077
|
||||
:00000001FF
|
|
@ -1,36 +0,0 @@
|
|||
:0200000480007A
|
||||
:100000006F00C004732F2034930F8000630AFF0336
|
||||
:10001000930F90006306FF03930FB0006302FF038A
|
||||
:10002000170F0000130F0F1763040F0067000F0076
|
||||
:10003000732F203463540F006F00400093E19153FD
|
||||
:10004000171F000023203FFC6FF09FFF732540F136
|
||||
:1000500063100500970200009382020173905230F2
|
||||
:10006000735000189702000093820202739052307E
|
||||
:10007000B70200809382F2FF7390023B9302F0017B
|
||||
:100080007390023A9702000093828201739052307B
|
||||
:100090007350203073503030735040309301000063
|
||||
:1000A00097020000938242F67390523013051000BD
|
||||
:1000B0001315F501634C05000F00F00F93011000BC
|
||||
:1000C0009308D005130500007300000093020000A0
|
||||
:1000D000638E020073905210B7B2000093829210A8
|
||||
:1000E0007390223073232030E39A62F4735000300F
|
||||
:1000F00037250000130505807320053097020000A6
|
||||
:100100009382420173901234732540F173002030C2
|
||||
:100110009301200013038000B72200009382028025
|
||||
:1001200073B00230F3230030B3F272006384020034
|
||||
:100130001303B000B72200009382028073B0023034
|
||||
:1001400097020000938202017390123473002030F2
|
||||
:1001500093011000730000006F00800063103002F4
|
||||
:100160000F00F00F638001009391110093E11100E3
|
||||
:100170009308D00513850100730000000F00F00FF5
|
||||
:10018000930110009308D0051305000073000000D0
|
||||
:10019000F3222034E39662FC970300009383C3FBB1
|
||||
:1001A000F3221034E39E72FA6FF05FFD731000C00B
|
||||
:1001B000000000000000000000000000000000003F
|
||||
:1010000000000000000000000000000000000000E0
|
||||
:1010100000000000000000000000000000000000D0
|
||||
:1010200000000000000000000000000000000000C0
|
||||
:1010300000000000000000000000000000000000B0
|
||||
:081040000000000000000000A8
|
||||
:040000058000000077
|
||||
:00000001FF
|
|
@ -1,36 +0,0 @@
|
|||
:0200000480007A
|
||||
:100000006F00C004732F2034930F8000630AFF0336
|
||||
:10001000930F90006306FF03930FB0006302FF038A
|
||||
:10002000170F0000130F8F1463040F0067000F00F9
|
||||
:10003000732F203463540F006F00400093E19153FD
|
||||
:10004000171F000023203FFC6FF09FFF732540F136
|
||||
:1000500063100500970200009382020173905230F2
|
||||
:10006000735000189702000093820202739052307E
|
||||
:10007000B70200809382F2FF7390023B9302F0017B
|
||||
:100080007390023A9702000093828201739052307B
|
||||
:100090007350203073503030735040309301000063
|
||||
:1000A00097020000938242F67390523013051000BD
|
||||
:1000B0001315F501634C05000F00F00F93011000BC
|
||||
:1000C0009308D005130500007300000093020000A0
|
||||
:1000D000638E020073905210B7B2000093829210A8
|
||||
:1000E0007390223073232030E39A62F4735000300F
|
||||
:1000F00037250000130505807320053097020000A6
|
||||
:100100009382420173901234732540F173002030C2
|
||||
:100110001305100013150501B70E0100930120000F
|
||||
:10012000631CD50113150502930E100093013000D6
|
||||
:100130006314D001631030020F00F00F63800100E0
|
||||
:100140009391110093E111009308D00513850100EC
|
||||
:10015000730000000F00F00F930110009308D0050A
|
||||
:10016000130500007300000093022000E39651FC89
|
||||
:10017000F322203413032000E39062FC6FF09FFD14
|
||||
:10018000731000C00000000000000000000000002C
|
||||
:10019000000000000000000000000000000000005F
|
||||
:1001A000000000000000000000000000000000004F
|
||||
:1001B000000000000000000000000000000000003F
|
||||
:1010000000000000000000000000000000000000E0
|
||||
:1010100000000000000000000000000000000000D0
|
||||
:1010200000000000000000000000000000000000C0
|
||||
:1010300000000000000000000000000000000000B0
|
||||
:081040000000000000000000A8
|
||||
:040000058000000077
|
||||
:00000001FF
|
|
@ -1,49 +0,0 @@
|
|||
:0200000480007A
|
||||
:100000006F008004732F2034930F80006308FF0378
|
||||
:10001000930F90006304FF03930FB0006300FF038E
|
||||
:10002000130F000063040F0067000F00732F2034CC
|
||||
:1000300063540F006F00400093E19153171F0000BD
|
||||
:1000400023223FFC6FF09FFF732540F163100500F2
|
||||
:10005000970200009382020173905230735000188F
|
||||
:10006000970200009382020273905230B702008020
|
||||
:100070009382F2FF7390023B9302F0017390023A75
|
||||
:1000800097020000938282017390523073502030A7
|
||||
:1000900073503030735040309301000097020000DD
|
||||
:1000A000938282F673905230130510001315F501F8
|
||||
:1000B000634C05000F00F00F930110009308D0056A
|
||||
:1000C000130500007300000097020000938242169F
|
||||
:1000D000638E020073905210B7B2000093829210A8
|
||||
:1000E0007390223073232030E39862F47350003011
|
||||
:1000F0003715000013050580732005301305200215
|
||||
:1001000073203530970200009382420173901234BD
|
||||
:10011000732540F17300203073D00114732500144F
|
||||
:10012000930E300093012000631AD50DF3F50014EF
|
||||
:10013000930E3000930130006392D50D7366021464
|
||||
:10014000930E200093014000631AD60BF35601145E
|
||||
:10015000930E6000930150006392D60B3725AD0BD0
|
||||
:100160001305A5DEF3150514930E2000930160001E
|
||||
:100170006396D509372500001305A5DE73350514F0
|
||||
:10018000B72EAD0B938EAEDE930170006318D507CA
|
||||
:1001900037C500001305F5EE73250514B70EAD0B3A
|
||||
:1001A00093018000631CD50573250014B7CEAD0BF9
|
||||
:1001B000938EFEEE930190006312D505930200101A
|
||||
:1001C00073B0021097020000938202017390121420
|
||||
:1001D0007300201013000000930E00009301C00074
|
||||
:1001E000631ED0010F00F00F930110009308D0059B
|
||||
:1001F0001305000073000000631030020F00F00FC1
|
||||
:10020000638001009391110093E111009308D005E0
|
||||
:1002100013850100730000000F00F00F9301100020
|
||||
:100220009308D005130500007300000093029000AE
|
||||
:1002300063E651009302B00063F23202F32220140D
|
||||
:1002400013038000E39C62FA0F00F00F930110008B
|
||||
:100250009308D0051305000073000000F32220145A
|
||||
:1002600013032000E39C62F8F322101493824200EF
|
||||
:100270007390121473002010731000C0000000006F
|
||||
:1010000000000000000000000000000000000000E0
|
||||
:1010100000000000000000000000000000000000D0
|
||||
:1010200000000000000000000000000000000000C0
|
||||
:1010300000000000000000000000000000000000B0
|
||||
:081040000000000000000000A8
|
||||
:1020000001000000000000000000000000000000CF
|
||||
:040000058000000077
|
||||
:00000001FF
|
|
@ -1,53 +0,0 @@
|
|||
:0200000480007A
|
||||
:100000006F00C004732F2034930F8000630AFF0336
|
||||
:10001000930F90006306FF03930FB0006302FF038A
|
||||
:10002000170F0000130FCF1E63040F0067000F00AF
|
||||
:10003000732F203463540F006F00400093E19153FD
|
||||
:10004000171F000023203FFC6FF09FFF732540F136
|
||||
:1000500063100500970200009382020173905230F2
|
||||
:10006000735000189702000093820202739052307E
|
||||
:10007000B70200809382F2FF7390023B9302F0017B
|
||||
:100080007390023A9702000093828201739052307B
|
||||
:100090007350203073503030735040309301000063
|
||||
:1000A00097020000938242F67390523013051000BD
|
||||
:1000B0001315F501634C05000F00F00F93011000BC
|
||||
:1000C0009308D005130500007300000093020000A0
|
||||
:1000D000638E020073905210B7B2000093829210A8
|
||||
:1000E0007390223073232030E39A62F4735000300F
|
||||
:1000F00037250000130505807320053097020000A6
|
||||
:100100009382420173901234732540F173002030C2
|
||||
:1001100037050080972500009385C5EE93D5C5006F
|
||||
:10012000B3E5A5007390051873000012B71502001F
|
||||
:100130009385058073A00530930120009303100080
|
||||
:1001400017250080232475EC93013000B7150400B7
|
||||
:100150009385058073A005309722008083A202EB6F
|
||||
:10016000639C021017250080232275EA97220080E5
|
||||
:1001700083A2C2E963927210B702020073B0023028
|
||||
:100180009722000083A202E81305000CB3F2A2003C
|
||||
:100190006394A20EB702020073A0023093014000E4
|
||||
:1001A00017250080032505E613650540972200808A
|
||||
:1001B00023AAA2E4730000129722008023A4A2E4E1
|
||||
:1001C0006F00800B0F00F00F930110009308D00513
|
||||
:1001D0001305000073000000631030020F00F00FE1
|
||||
:1001E000638001009391110093E111009308D00501
|
||||
:1001F00013850100730000000F00F00F9301100041
|
||||
:100200009308D0051305000073000000F32220348A
|
||||
:10021000938212FF6392020613032000639261022D
|
||||
:100220009722000083A202DE13F302086316030480
|
||||
:10023000F322103493824200739012347300203002
|
||||
:1002400013033000639461029722000083A282DBD3
|
||||
:1002500013F302086312030293E20208172300005B
|
||||
:10026000232253DA7300001273002030130340007E
|
||||
:10027000639461006FF05FF80F00F00F638001007E
|
||||
:100280009391110093E111009308D00513850100AB
|
||||
:1002900073000000731000C00000000000000000A8
|
||||
:1002A000000000000000000000000000000000004E
|
||||
:1002B000000000000000000000000000000000003E
|
||||
:1010000000000000000000000000000000000000E0
|
||||
:1010100000000000000000000000000000000000D0
|
||||
:1010200000000000000000000000000000000000C0
|
||||
:1010300000000000000000000000000000000000B0
|
||||
:081040000000000000000000A8
|
||||
:102000005F00002000000000000000000000000051
|
||||
:040000058000000077
|
||||
:00000001FF
|
|
@ -1,48 +0,0 @@
|
|||
:0200000480007A
|
||||
:100000006F008004732F2034930F80006308FF0378
|
||||
:10001000930F90006304FF03930FB0006300FF038E
|
||||
:10002000130F000063040F0067000F00732F2034CC
|
||||
:1000300063540F006F00400093E19153171F0000BD
|
||||
:1000400023223FFC6FF09FFF732540F163100500F2
|
||||
:10005000970200009382020173905230735000188F
|
||||
:10006000970200009382020273905230B702008020
|
||||
:100070009382F2FF7390023B9302F0017390023A75
|
||||
:1000800097020000938282017390523073502030A7
|
||||
:1000900073503030735040309301000097020000DD
|
||||
:1000A000938282F673905230130510001315F501F8
|
||||
:1000B000634C05000F00F00F930110009308D0056A
|
||||
:1000C00013050000730000009702000093824212A3
|
||||
:1000D000638E020073905210B7B2000093829210A8
|
||||
:1000E0007390223073232030E39862F47350003011
|
||||
:1000F0003715000013050580732005301305200215
|
||||
:1001000073203530970200009382420173901234BD
|
||||
:10011000732540F173002030930120001303000089
|
||||
:10012000970200009382C2006783220011A019A0E9
|
||||
:100130006F00C00893013000970200009382C20054
|
||||
:10014000678312006F0080006F004007930140003A
|
||||
:1001500013030000970200009382C20067833200FD
|
||||
:1001600011A019A06F008005930150001303000037
|
||||
:10017000970200009382C2006F03600011A019A0D3
|
||||
:100180006F00C0039301600013030000970200009A
|
||||
:100190009382C2006303000011A019A06F00000247
|
||||
:1001A00093017000631500006F00C00009A009A052
|
||||
:1001B0006F00C0006F004002631030020F00F00FAC
|
||||
:1001C000638001009391110093E111009308D00521
|
||||
:1001D00013850100730000000F00F00F9301100061
|
||||
:1001E0009308D005130500007300000013052000DC
|
||||
:1001F0006380A10213054000638CA1001305500029
|
||||
:100200006388A100130560006384A1006FF01FFBE9
|
||||
:10021000E31603FA9305000073252014E310B5FAE2
|
||||
:10022000F325101493854500E39AB2F87325301432
|
||||
:10023000630605001305E5FFE31255F89385C50035
|
||||
:100240007390151473002010731000C0000000009C
|
||||
:10025000000000000000000000000000000000009E
|
||||
:10026000000000000000000000000000000000008E
|
||||
:10027000000000000000000000000000000000007E
|
||||
:1010000000000000000000000000000000000000E0
|
||||
:1010100000000000000000000000000000000000D0
|
||||
:1010200000000000000000000000000000000000C0
|
||||
:1010300000000000000000000000000000000000B0
|
||||
:081040000000000000000000A8
|
||||
:040000058000000077
|
||||
:00000001FF
|
|
@ -1,32 +0,0 @@
|
|||
:0200000480007A
|
||||
:100000006F008004732F2034930F80006308FF0378
|
||||
:10001000930F90006304FF03930FB0006300FF038E
|
||||
:10002000130F000063040F0067000F00732F2034CC
|
||||
:1000300063540F006F00400093E19153171F0000BD
|
||||
:1000400023223FFC6FF09FFF732540F163100500F2
|
||||
:10005000970200009382020173905230735000188F
|
||||
:10006000970200009382020273905230B702008020
|
||||
:100070009382F2FF7390023B9302F0017390023A75
|
||||
:1000800097020000938282017390523073502030A7
|
||||
:1000900073503030735040309301000097020000DD
|
||||
:1000A000938282F673905230130510001315F501F8
|
||||
:1000B000634C05000F00F00F930110009308D0056A
|
||||
:1000C00013050000730000009702000093820209EC
|
||||
:1000D000638E020073905210B7B2000093829210A8
|
||||
:1000E0007390223073232030E39862F47350003011
|
||||
:1000F0003715000013050580732005301305200215
|
||||
:1001000073203530970200009382420173901234BD
|
||||
:10011000732540F17300203093012000730010001C
|
||||
:100120006F008000631030020F00F00F6380010049
|
||||
:100130009391110093E111009308D00513850100FC
|
||||
:10014000730000000F00F00F930110009308D0051A
|
||||
:10015000130500007300000013033000F322201485
|
||||
:10016000E39462FC17030000130383FBF3221014D3
|
||||
:10017000E39C62FA6FF01FFD731000C000000000E6
|
||||
:1010000000000000000000000000000000000000E0
|
||||
:1010100000000000000000000000000000000000D0
|
||||
:1010200000000000000000000000000000000000C0
|
||||
:1010300000000000000000000000000000000000B0
|
||||
:081040000000000000000000A8
|
||||
:040000058000000077
|
||||
:00000001FF
|
|
@ -1,36 +0,0 @@
|
|||
:0200000480007A
|
||||
:100000006F008004732F2034930F80006308FF0378
|
||||
:10001000930F90006304FF03930FB0006300FF038E
|
||||
:10002000130F000063040F0067000F00732F2034CC
|
||||
:1000300063540F006F00400093E19153171F0000BD
|
||||
:1000400023223FFC6FF09FFF732540F163100500F2
|
||||
:10005000970200009382020173905230735000188F
|
||||
:10006000970200009382020273905230B702008020
|
||||
:100070009382F2FF7390023B9302F0017390023A75
|
||||
:1000800097020000938282017390523073502030A7
|
||||
:1000900073503030735040309301000097020000DD
|
||||
:1000A000938282F673905230130510001315F501F8
|
||||
:1000B000634C05000F00F00F930110009308D0056A
|
||||
:1000C0001305000073000000970200009382020BEA
|
||||
:1000D000638E020073905210B7B2000093829210A8
|
||||
:1000E0007390223073232030E39862F47350003011
|
||||
:1000F0003715000013050580732005301305200215
|
||||
:1001000073203530970200009382420173901234BD
|
||||
:10011000732540F173002030930120001303800009
|
||||
:100120009302001073B00210970200009382020144
|
||||
:1001300073901214730020109301100073000000DC
|
||||
:100140006F008000631030020F00F00F6380010029
|
||||
:100150009391110093E111009308D00513850100DC
|
||||
:10016000730000000F00F00F930110009308D005FA
|
||||
:100170001305000073000000F3222014E39662FCD4
|
||||
:10018000970300009383C3FBF3221014E39E72FADB
|
||||
:100190006FF05FFD731000C0000000000000000061
|
||||
:1001A000000000000000000000000000000000004F
|
||||
:1001B000000000000000000000000000000000003F
|
||||
:1010000000000000000000000000000000000000E0
|
||||
:1010100000000000000000000000000000000000D0
|
||||
:1010200000000000000000000000000000000000C0
|
||||
:1010300000000000000000000000000000000000B0
|
||||
:081040000000000000000000A8
|
||||
:040000058000000077
|
||||
:00000001FF
|
|
@ -1,32 +0,0 @@
|
|||
:0200000480007A
|
||||
:100000006F008004732F2034930F80006308FF0378
|
||||
:10001000930F90006304FF03930FB0006300FF038E
|
||||
:10002000130F000063040F0067000F00732F2034CC
|
||||
:1000300063540F006F00400093E19153171F0000BD
|
||||
:1000400023223FFC6FF09FFF732540F163100500F2
|
||||
:10005000970200009382020173905230735000188F
|
||||
:10006000970200009382020273905230B702008020
|
||||
:100070009382F2FF7390023B9302F0017390023A75
|
||||
:1000800097020000938282017390523073502030A7
|
||||
:1000900073503030735040309301000097020000DD
|
||||
:1000A000938282F673905230130510001315F501F8
|
||||
:1000B000634C05000F00F00F930110009308D0056A
|
||||
:1000C000130500007300000093020000638E02001D
|
||||
:1000D00073905210B7B20000938292107390223046
|
||||
:1000E00073232030E39A62F4735000303715000018
|
||||
:1000F0001305058073200530130520027320353069
|
||||
:10010000970200009382420173901234732540F1EC
|
||||
:1001100073002030737001107360411073604114DC
|
||||
:10012000730050100F00F00F930110009308D005DA
|
||||
:100130001305000073000000631030020F00F00F81
|
||||
:10014000638001009391110093E111009308D005A1
|
||||
:1001500013850100730000000F00F00F93011000E1
|
||||
:100160009308D0051305000073000000731000C051
|
||||
:0C01700000000000000000000000000083
|
||||
:1010000000000000000000000000000000000000E0
|
||||
:1010100000000000000000000000000000000000D0
|
||||
:1010200000000000000000000000000000000000C0
|
||||
:1010300000000000000000000000000000000000B0
|
||||
:081040000000000000000000A8
|
||||
:040000058000000077
|
||||
:00000001FF
|
|
@ -1,36 +0,0 @@
|
|||
:0200000480007A
|
||||
:100000006F008004732F2034930F80006308FF0378
|
||||
:10001000930F90006304FF03930FB0006300FF038E
|
||||
:10002000130F000063040F0067000F00732F2034CC
|
||||
:1000300063540F006F00400093E19153171F0000BD
|
||||
:1000400023223FFC6FF09FFF732540F163100500F2
|
||||
:10005000970200009382020173905230735000188F
|
||||
:10006000970200009382020273905230B702008020
|
||||
:100070009382F2FF7390023B9302F0017390023A75
|
||||
:1000800097020000938282017390523073502030A7
|
||||
:1000900073503030735040309301000097020000DD
|
||||
:1000A000938282F673905230130510001315F501F8
|
||||
:1000B000634C05000F00F00F930110009308D0056A
|
||||
:1000C000130500007300000093020000638E02001D
|
||||
:1000D00073905210B7B20000938292107390223046
|
||||
:1000E00073232030E39A62F47350003097020000CB
|
||||
:1000F0009382420173901234732540F173002030D3
|
||||
:10010000370500809305008097260000938686EFD0
|
||||
:1001100023A0A6002FA7B600B70E008093012000F1
|
||||
:100120006312D70583A70600B70E0080938E0E805A
|
||||
:10013000930130006398D703B70500802FA7B6005E
|
||||
:10014000B70E0080938E0E8093014000631CD70190
|
||||
:1001500083A70600930E0080930150006394D7019B
|
||||
:10016000631030020F00F00F6380010093911100C3
|
||||
:1001700093E111009308D00513850100730000007E
|
||||
:100180000F00F00F930110009308D0051305000035
|
||||
:1001900073000000731000C00000000000000000A9
|
||||
:1001A000000000000000000000000000000000004F
|
||||
:0C01B00000000000000000000000000043
|
||||
:1010000000000000000000000000000000000000E0
|
||||
:1010100000000000000000000000000000000000D0
|
||||
:1010200000000000000000000000000000000000C0
|
||||
:1010300000000000000000000000000000000000B0
|
||||
:081040000000000000000000A8
|
||||
:040000058000000077
|
||||
:00000001FF
|
|
@ -1,36 +0,0 @@
|
|||
:0200000480007A
|
||||
:100000006F008004732F2034930F80006308FF0378
|
||||
:10001000930F90006304FF03930FB0006300FF038E
|
||||
:10002000130F000063040F0067000F00732F2034CC
|
||||
:1000300063540F006F00400093E19153171F0000BD
|
||||
:1000400023223FFC6FF09FFF732540F163100500F2
|
||||
:10005000970200009382020173905230735000188F
|
||||
:10006000970200009382020273905230B702008020
|
||||
:100070009382F2FF7390023B9302F0017390023A75
|
||||
:1000800097020000938282017390523073502030A7
|
||||
:1000900073503030735040309301000097020000DD
|
||||
:1000A000938282F673905230130510001315F501F8
|
||||
:1000B000634C05000F00F00F930110009308D0056A
|
||||
:1000C000130500007300000093020000638E02001D
|
||||
:1000D00073905210B7B20000938292107390223046
|
||||
:1000E00073232030E39A62F47350003097020000CB
|
||||
:1000F0009382420173901234732540F173002030D3
|
||||
:10010000370500809305008097260000938686EFD0
|
||||
:1001100023A0A6002FA7B660B70E00809301200091
|
||||
:10012000631ED70383A70600B70E0080930130003B
|
||||
:100130006396D703B70500802FA7B660B70E00807F
|
||||
:1001400093014000631CD70183A70600B70E00800F
|
||||
:10015000930150006394D701631030020F00F00F39
|
||||
:10016000638001009391110093E111009308D00581
|
||||
:1001700013850100730000000F00F00F93011000C1
|
||||
:100180009308D0051305000073000000731000C031
|
||||
:10019000000000000000000000000000000000005F
|
||||
:1001A000000000000000000000000000000000004F
|
||||
:0C01B00000000000000000000000000043
|
||||
:1010000000000000000000000000000000000000E0
|
||||
:1010100000000000000000000000000000000000D0
|
||||
:1010200000000000000000000000000000000000C0
|
||||
:1010300000000000000000000000000000000000B0
|
||||
:081040000000000000000000A8
|
||||
:040000058000000077
|
||||
:00000001FF
|
|
@ -1,36 +0,0 @@
|
|||
:0200000480007A
|
||||
:100000006F008004732F2034930F80006308FF0378
|
||||
:10001000930F90006304FF03930FB0006300FF038E
|
||||
:10002000130F000063040F0067000F00732F2034CC
|
||||
:1000300063540F006F00400093E19153171F0000BD
|
||||
:1000400023223FFC6FF09FFF732540F163100500F2
|
||||
:10005000970200009382020173905230735000188F
|
||||
:10006000970200009382020273905230B702008020
|
||||
:100070009382F2FF7390023B9302F0017390023A75
|
||||
:1000800097020000938282017390523073502030A7
|
||||
:1000900073503030735040309301000097020000DD
|
||||
:1000A000938282F673905230130510001315F501F8
|
||||
:1000B000634C05000F00F00F930110009308D0056A
|
||||
:1000C000130500007300000093020000638E02001D
|
||||
:1000D00073905210B7B20000938292107390223046
|
||||
:1000E00073232030E39A62F47350003097020000CB
|
||||
:1000F0009382420173901234732540F173002030D3
|
||||
:10010000370500809305008097260000938686EFD0
|
||||
:1001100023A0A6002FA7B6A0B70E00809301200051
|
||||
:100120006310D70583A70600930E0080930130006B
|
||||
:100130006398D7039305100023A006002FA7B6A04D
|
||||
:10014000930E000093014000631CD70183A70600B3
|
||||
:10015000930E1000930150006394D7016310300296
|
||||
:100160000F00F00F638001009391110093E11100E3
|
||||
:100170009308D00513850100730000000F00F00FF5
|
||||
:10018000930110009308D0051305000073000000D0
|
||||
:10019000731000C00000000000000000000000001C
|
||||
:1001A000000000000000000000000000000000004F
|
||||
:0C01B00000000000000000000000000043
|
||||
:1010000000000000000000000000000000000000E0
|
||||
:1010100000000000000000000000000000000000D0
|
||||
:1010200000000000000000000000000000000000C0
|
||||
:1010300000000000000000000000000000000000B0
|
||||
:081040000000000000000000A8
|
||||
:040000058000000077
|
||||
:00000001FF
|
|
@ -1,36 +0,0 @@
|
|||
:0200000480007A
|
||||
:100000006F008004732F2034930F80006308FF0378
|
||||
:10001000930F90006304FF03930FB0006300FF038E
|
||||
:10002000130F000063040F0067000F00732F2034CC
|
||||
:1000300063540F006F00400093E19153171F0000BD
|
||||
:1000400023223FFC6FF09FFF732540F163100500F2
|
||||
:10005000970200009382020173905230735000188F
|
||||
:10006000970200009382020273905230B702008020
|
||||
:100070009382F2FF7390023B9302F0017390023A75
|
||||
:1000800097020000938282017390523073502030A7
|
||||
:1000900073503030735040309301000097020000DD
|
||||
:1000A000938282F673905230130510001315F501F8
|
||||
:1000B000634C05000F00F00F930110009308D0056A
|
||||
:1000C000130500007300000093020000638E02001D
|
||||
:1000D00073905210B7B20000938292107390223046
|
||||
:1000E00073232030E39A62F47350003097020000CB
|
||||
:1000F0009382420173901234732540F173002030D3
|
||||
:10010000370500809305008097260000938686EFD0
|
||||
:1001100023A0A6002FA7B6E0B70E00809301200011
|
||||
:100120006310D70583A70600930E0080930130006B
|
||||
:100130006398D7039305F0FF23A006002FA7B6E02E
|
||||
:10014000930E000093014000631CD70183A70600B3
|
||||
:10015000930EF0FF930150006394D70163103002B7
|
||||
:100160000F00F00F638001009391110093E11100E3
|
||||
:100170009308D00513850100730000000F00F00FF5
|
||||
:10018000930110009308D0051305000073000000D0
|
||||
:10019000731000C00000000000000000000000001C
|
||||
:1001A000000000000000000000000000000000004F
|
||||
:0C01B00000000000000000000000000043
|
||||
:1010000000000000000000000000000000000000E0
|
||||
:1010100000000000000000000000000000000000D0
|
||||
:1010200000000000000000000000000000000000C0
|
||||
:1010300000000000000000000000000000000000B0
|
||||
:081040000000000000000000A8
|
||||
:040000058000000077
|
||||
:00000001FF
|
|
@ -1,36 +0,0 @@
|
|||
:0200000480007A
|
||||
:100000006F008004732F2034930F80006308FF0378
|
||||
:10001000930F90006304FF03930FB0006300FF038E
|
||||
:10002000130F000063040F0067000F00732F2034CC
|
||||
:1000300063540F006F00400093E19153171F0000BD
|
||||
:1000400023223FFC6FF09FFF732540F163100500F2
|
||||
:10005000970200009382020173905230735000188F
|
||||
:10006000970200009382020273905230B702008020
|
||||
:100070009382F2FF7390023B9302F0017390023A75
|
||||
:1000800097020000938282017390523073502030A7
|
||||
:1000900073503030735040309301000097020000DD
|
||||
:1000A000938282F673905230130510001315F501F8
|
||||
:1000B000634C05000F00F00F930110009308D0056A
|
||||
:1000C000130500007300000093020000638E02001D
|
||||
:1000D00073905210B7B20000938292107390223046
|
||||
:1000E00073232030E39A62F47350003097020000CB
|
||||
:1000F0009382420173901234732540F173002030D3
|
||||
:10010000370500809305008097260000938686EFD0
|
||||
:1001100023A0A6002FA7B680B70E00809301200071
|
||||
:100120006310D70583A70600B70E00809301300047
|
||||
:100130006398D7039305F0FF23A006002FA7B6808E
|
||||
:10014000930E000093014000631CD70183A70600B3
|
||||
:10015000930EF0FF930150006394D70163103002B7
|
||||
:100160000F00F00F638001009391110093E11100E3
|
||||
:100170009308D00513850100730000000F00F00FF5
|
||||
:10018000930110009308D0051305000073000000D0
|
||||
:10019000731000C00000000000000000000000001C
|
||||
:1001A000000000000000000000000000000000004F
|
||||
:0C01B00000000000000000000000000043
|
||||
:1010000000000000000000000000000000000000E0
|
||||
:1010100000000000000000000000000000000000D0
|
||||
:1010200000000000000000000000000000000000C0
|
||||
:1010300000000000000000000000000000000000B0
|
||||
:081040000000000000000000A8
|
||||
:040000058000000077
|
||||
:00000001FF
|
|
@ -1,36 +0,0 @@
|
|||
:0200000480007A
|
||||
:100000006F008004732F2034930F80006308FF0378
|
||||
:10001000930F90006304FF03930FB0006300FF038E
|
||||
:10002000130F000063040F0067000F00732F2034CC
|
||||
:1000300063540F006F00400093E19153171F0000BD
|
||||
:1000400023223FFC6FF09FFF732540F163100500F2
|
||||
:10005000970200009382020173905230735000188F
|
||||
:10006000970200009382020273905230B702008020
|
||||
:100070009382F2FF7390023B9302F0017390023A75
|
||||
:1000800097020000938282017390523073502030A7
|
||||
:1000900073503030735040309301000097020000DD
|
||||
:1000A000938282F673905230130510001315F501F8
|
||||
:1000B000634C05000F00F00F930110009308D0056A
|
||||
:1000C000130500007300000093020000638E02001D
|
||||
:1000D00073905210B7B20000938292107390223046
|
||||
:1000E00073232030E39A62F47350003097020000CB
|
||||
:1000F0009382420173901234732540F173002030D3
|
||||
:10010000370500809305008097260000938686EFD0
|
||||
:1001100023A0A6002FA7B6C0B70E00809301200031
|
||||
:100120006310D70583A70600B70E00809301300047
|
||||
:100130006398D7039305F0FF23A006002FA7B6C04E
|
||||
:10014000930E000093014000631CD70183A70600B3
|
||||
:10015000930E0000930150006394D70163103002A6
|
||||
:100160000F00F00F638001009391110093E11100E3
|
||||
:100170009308D00513850100730000000F00F00FF5
|
||||
:10018000930110009308D0051305000073000000D0
|
||||
:10019000731000C00000000000000000000000001C
|
||||
:1001A000000000000000000000000000000000004F
|
||||
:0C01B00000000000000000000000000043
|
||||
:1010000000000000000000000000000000000000E0
|
||||
:1010100000000000000000000000000000000000D0
|
||||
:1010200000000000000000000000000000000000C0
|
||||
:1010300000000000000000000000000000000000B0
|
||||
:081040000000000000000000A8
|
||||
:040000058000000077
|
||||
:00000001FF
|
|
@ -1,36 +0,0 @@
|
|||
:0200000480007A
|
||||
:100000006F008004732F2034930F80006308FF0378
|
||||
:10001000930F90006304FF03930FB0006300FF038E
|
||||
:10002000130F000063040F0067000F00732F2034CC
|
||||
:1000300063540F006F00400093E19153171F0000BD
|
||||
:1000400023223FFC6FF09FFF732540F163100500F2
|
||||
:10005000970200009382020173905230735000188F
|
||||
:10006000970200009382020273905230B702008020
|
||||
:100070009382F2FF7390023B9302F0017390023A75
|
||||
:1000800097020000938282017390523073502030A7
|
||||
:1000900073503030735040309301000097020000DD
|
||||
:1000A000938282F673905230130510001315F501F8
|
||||
:1000B000634C05000F00F00F930110009308D0056A
|
||||
:1000C000130500007300000093020000638E02001D
|
||||
:1000D00073905210B7B20000938292107390223046
|
||||
:1000E00073232030E39A62F47350003097020000CB
|
||||
:1000F0009382420173901234732540F173002030D3
|
||||
:10010000370500809305008097260000938686EFD0
|
||||
:1001100023A0A6002FA7B640B70E008093012000B1
|
||||
:10012000631ED70383A70600930E0080930130005F
|
||||
:100130006396D703930510002FA7B640930E008057
|
||||
:1001400093014000631CD70183A70600930E108023
|
||||
:10015000930150006394D701631030020F00F00F39
|
||||
:10016000638001009391110093E111009308D00581
|
||||
:1001700013850100730000000F00F00F93011000C1
|
||||
:100180009308D0051305000073000000731000C031
|
||||
:10019000000000000000000000000000000000005F
|
||||
:1001A000000000000000000000000000000000004F
|
||||
:0C01B00000000000000000000000000043
|
||||
:1010000000000000000000000000000000000000E0
|
||||
:1010100000000000000000000000000000000000D0
|
||||
:1010200000000000000000000000000000000000C0
|
||||
:1010300000000000000000000000000000000000B0
|
||||
:081040000000000000000000A8
|
||||
:040000058000000077
|
||||
:00000001FF
|
|
@ -1,36 +0,0 @@
|
|||
:0200000480007A
|
||||
:100000006F008004732F2034930F80006308FF0378
|
||||
:10001000930F90006304FF03930FB0006300FF038E
|
||||
:10002000130F000063040F0067000F00732F2034CC
|
||||
:1000300063540F006F00400093E19153171F0000BD
|
||||
:1000400023223FFC6FF09FFF732540F163100500F2
|
||||
:10005000970200009382020173905230735000188F
|
||||
:10006000970200009382020273905230B702008020
|
||||
:100070009382F2FF7390023B9302F0017390023A75
|
||||
:1000800097020000938282017390523073502030A7
|
||||
:1000900073503030735040309301000097020000DD
|
||||
:1000A000938282F673905230130510001315F501F8
|
||||
:1000B000634C05000F00F00F930110009308D0056A
|
||||
:1000C000130500007300000093020000638E02001D
|
||||
:1000D00073905210B7B20000938292107390223046
|
||||
:1000E00073232030E39A62F47350003097020000CB
|
||||
:1000F0009382420173901234732540F173002030D3
|
||||
:10010000370500809305008097260000938686EFD0
|
||||
:1001100023A0A6002FA7B608B70E008093012000E9
|
||||
:10012000631ED70383A70600930E0080930130005F
|
||||
:100130006396D703B70500802FA7B608930E0080FB
|
||||
:1001400093014000631CD70183A70600B70E00800F
|
||||
:10015000930150006394D701631030020F00F00F39
|
||||
:10016000638001009391110093E111009308D00581
|
||||
:1001700013850100730000000F00F00F93011000C1
|
||||
:100180009308D0051305000073000000731000C031
|
||||
:10019000000000000000000000000000000000005F
|
||||
:1001A000000000000000000000000000000000004F
|
||||
:0C01B00000000000000000000000000043
|
||||
:1010000000000000000000000000000000000000E0
|
||||
:1010100000000000000000000000000000000000D0
|
||||
:1010200000000000000000000000000000000000C0
|
||||
:1010300000000000000000000000000000000000B0
|
||||
:081040000000000000000000A8
|
||||
:040000058000000077
|
||||
:00000001FF
|
|
@ -1,36 +0,0 @@
|
|||
:0200000480007A
|
||||
:100000006F008004732F2034930F80006308FF0378
|
||||
:10001000930F90006304FF03930FB0006300FF038E
|
||||
:10002000130F000063040F0067000F00732F2034CC
|
||||
:1000300063540F006F00400093E19153171F0000BD
|
||||
:1000400023223FFC6FF09FFF732540F163100500F2
|
||||
:10005000970200009382020173905230735000188F
|
||||
:10006000970200009382020273905230B702008020
|
||||
:100070009382F2FF7390023B9302F0017390023A75
|
||||
:1000800097020000938282017390523073502030A7
|
||||
:1000900073503030735040309301000097020000DD
|
||||
:1000A000938282F673905230130510001315F501F8
|
||||
:1000B000634C05000F00F00F930110009308D0056A
|
||||
:1000C000130500007300000093020000638E02001D
|
||||
:1000D00073905210B7B20000938292107390223046
|
||||
:1000E00073232030E39A62F47350003097020000CB
|
||||
:1000F0009382420173901234732540F173002030D3
|
||||
:10010000370500809305008097260000938686EFD0
|
||||
:1001100023A0A6002FA7B620B70E008093012000D1
|
||||
:100120006316D70583A70600B70E0080938E0E8056
|
||||
:1001300093013000639CD703B70500C09385150079
|
||||
:100140002FA7B620B70E0080938E0E80930140003B
|
||||
:10015000631ED70183A70600B70E00C0938E1E80D2
|
||||
:10016000930150006394D701631030020F00F00F29
|
||||
:10017000638001009391110093E111009308D00571
|
||||
:1001800013850100730000000F00F00F93011000B1
|
||||
:100190009308D0051305000073000000731000C021
|
||||
:1001A000000000000000000000000000000000004F
|
||||
:0C01B00000000000000000000000000043
|
||||
:1010000000000000000000000000000000000000E0
|
||||
:1010100000000000000000000000000000000000D0
|
||||
:1010200000000000000000000000000000000000C0
|
||||
:1010300000000000000000000000000000000000B0
|
||||
:081040000000000000000000A8
|
||||
:040000058000000077
|
||||
:00000001FF
|
|
@ -1,109 +0,0 @@
|
|||
:0200000480007A
|
||||
:100000006F008004732F2034930F80006308FF0378
|
||||
:10001000930F90006304FF03930FB0006300FF038E
|
||||
:10002000130F000063040F0067000F00732F2034CC
|
||||
:1000300063540F006F00400093E19153171F0000BD
|
||||
:1000400023223FFC6FF09FFF732540F163100500F2
|
||||
:10005000970200009382020173905230735000188F
|
||||
:10006000970200009382020273905230B702008020
|
||||
:100070009382F2FF7390023B9302F0017390023A75
|
||||
:1000800097020000938282017390523073502030A7
|
||||
:1000900073503030735040309301000097020000DD
|
||||
:1000A000938282F673905230130510001315F501F8
|
||||
:1000B000634C05000F00F00F930110009308D0056A
|
||||
:1000C000130500007300000093020000638E02001D
|
||||
:1000D00073905210B7B20000938292107390223046
|
||||
:1000E00073232030E39A62F47350003097020000CB
|
||||
:1000F0009382420173901234732540F173002030D3
|
||||
:1001000017250000130505F0930510002F26B500F4
|
||||
:1001100093061000E37ED6FE83250500E3EED5FEB0
|
||||
:1001200017250000130585EEB7C7ADDE9387F7EE00
|
||||
:100130002F27F518930E1000930120006316D70D9A
|
||||
:1001400017270000032787EC930E0000930130006F
|
||||
:10015000631CD70B17250000130545EB97250000FE
|
||||
:100160009385052BAFA505102F27B518930E10000A
|
||||
:1001700093014000631AD70917250000130505E90C
|
||||
:1001800093050040130616002F2705103307C700FC
|
||||
:100190002F27E518E31A07FE9385F5FFE39605FE82
|
||||
:1001A00017250000130545E6930510002F20B50024
|
||||
:1001B00083250500E3CED5FE0F00F00F17250000C4
|
||||
:1001C0000325C5E4939596003305B5409386F6FF65
|
||||
:1001D000E3DC06FE930E0000930150006316D50386
|
||||
:1001E00017250000130585E2AF250510AF2505187A
|
||||
:1001F000E39C05FEAF250518930E100093016000E7
|
||||
:100200006394D501631030020F00F00F638001008A
|
||||
:100210009391110093E111009308D005138501001B
|
||||
:10022000730000000F00F00F930110009308D00539
|
||||
:0C0230001305000073000000731000C0F4
|
||||
:1010000000000000000000000000000000000000E0
|
||||
:1010100000000000000000000000000000000000D0
|
||||
:1010200000000000000000000000000000000000C0
|
||||
:1010300000000000000000000000000000000000B0
|
||||
:081040000000000000000000A8
|
||||
:1020000000000000000000000000000000000000D0
|
||||
:1020100000000000000000000000000000000000C0
|
||||
:1020200000000000000000000000000000000000B0
|
||||
:1020300000000000000000000000000000000000A0
|
||||
:102040000000000000000000000000000000000090
|
||||
:102050000000000000000000000000000000000080
|
||||
:102060000000000000000000000000000000000070
|
||||
:102070000000000000000000000000000000000060
|
||||
:102080000000000000000000000000000000000050
|
||||
:102090000000000000000000000000000000000040
|
||||
:1020A0000000000000000000000000000000000030
|
||||
:1020B0000000000000000000000000000000000020
|
||||
:1020C0000000000000000000000000000000000010
|
||||
:1020D0000000000000000000000000000000000000
|
||||
:1020E00000000000000000000000000000000000F0
|
||||
:1020F00000000000000000000000000000000000E0
|
||||
:1021000000000000000000000000000000000000CF
|
||||
:1021100000000000000000000000000000000000BF
|
||||
:1021200000000000000000000000000000000000AF
|
||||
:10213000000000000000000000000000000000009F
|
||||
:10214000000000000000000000000000000000008F
|
||||
:10215000000000000000000000000000000000007F
|
||||
:10216000000000000000000000000000000000006F
|
||||
:10217000000000000000000000000000000000005F
|
||||
:10218000000000000000000000000000000000004F
|
||||
:10219000000000000000000000000000000000003F
|
||||
:1021A000000000000000000000000000000000002F
|
||||
:1021B000000000000000000000000000000000001F
|
||||
:1021C000000000000000000000000000000000000F
|
||||
:1021D00000000000000000000000000000000000FF
|
||||
:1021E00000000000000000000000000000000000EF
|
||||
:1021F00000000000000000000000000000000000DF
|
||||
:1022000000000000000000000000000000000000CE
|
||||
:1022100000000000000000000000000000000000BE
|
||||
:1022200000000000000000000000000000000000AE
|
||||
:10223000000000000000000000000000000000009E
|
||||
:10224000000000000000000000000000000000008E
|
||||
:10225000000000000000000000000000000000007E
|
||||
:10226000000000000000000000000000000000006E
|
||||
:10227000000000000000000000000000000000005E
|
||||
:10228000000000000000000000000000000000004E
|
||||
:10229000000000000000000000000000000000003E
|
||||
:1022A000000000000000000000000000000000002E
|
||||
:1022B000000000000000000000000000000000001E
|
||||
:1022C000000000000000000000000000000000000E
|
||||
:1022D00000000000000000000000000000000000FE
|
||||
:1022E00000000000000000000000000000000000EE
|
||||
:1022F00000000000000000000000000000000000DE
|
||||
:1023000000000000000000000000000000000000CD
|
||||
:1023100000000000000000000000000000000000BD
|
||||
:1023200000000000000000000000000000000000AD
|
||||
:10233000000000000000000000000000000000009D
|
||||
:10234000000000000000000000000000000000008D
|
||||
:10235000000000000000000000000000000000007D
|
||||
:10236000000000000000000000000000000000006D
|
||||
:10237000000000000000000000000000000000005D
|
||||
:10238000000000000000000000000000000000004D
|
||||
:10239000000000000000000000000000000000003D
|
||||
:1023A000000000000000000000000000000000002D
|
||||
:1023B000000000000000000000000000000000001D
|
||||
:1023C000000000000000000000000000000000000D
|
||||
:1023D00000000000000000000000000000000000FD
|
||||
:1023E00000000000000000000000000000000000ED
|
||||
:1023F00000000000000000000000000000000000DD
|
||||
:1024000000000000000000000000000000000000CC
|
||||
:040000058000000077
|
||||
:00000001FF
|
|
@ -1,275 +0,0 @@
|
|||
:0200000480007A
|
||||
:100000006F00C0006F20C0276F2080279300000082
|
||||
:10001000130100009301000013020000930200008E
|
||||
:100020001303000093030000130400009304000076
|
||||
:10003000130500009305000013060000930600005E
|
||||
:100040001307000093070000130800009308000046
|
||||
:100050001309000093090000130A0000930A00002E
|
||||
:10006000130B0000930B0000130C0000930C000016
|
||||
:10007000130D0000930D0000130E0000930E0000FE
|
||||
:10008000130F0000930F000097020000938202F804
|
||||
:1000900073905230177100001301412DF32240F18B
|
||||
:1000A0009392C2003301510073100134EF20103AD3
|
||||
:1000B00017350000130505BA6F20D01583224508B7
|
||||
:1000C0007390121483204500032185008321C5000D
|
||||
:1000D0000322050183224501032385018323C501F2
|
||||
:1000E00003240502832445028325C5020326050354
|
||||
:1000F00083264503032785038327C50303280504B7
|
||||
:1001000083284504032985048329C504032A05059A
|
||||
:10011000832A4505032B8505832BC505032C05067E
|
||||
:10012000832C4506032D8506832DC506032E050762
|
||||
:10013000832E4507032F8507832FC50703258502D7
|
||||
:1001400073002010731101142322110023263100A3
|
||||
:1001500023284100232A5100232C6100232E710003
|
||||
:1001600023208102232291022324A1022326B1020B
|
||||
:100170002328C102232AD102232CE102232EF102DB
|
||||
:1001800023200105232211052324210523263105DF
|
||||
:1001900023284105232A5105232C6105232E7105AF
|
||||
:1001A00023208107232291072324A1072326B107B7
|
||||
:1001B0002328C107232AD107232CE107232EF10787
|
||||
:1001C000F312011423245100F322001023205108BC
|
||||
:1001D000F322101423225108F3223014232451084F
|
||||
:1001E000F322201423265108130501006F20004735
|
||||
:1010000000000000000000000000000000000000E0
|
||||
:1010100000000000000000000000000000000000D0
|
||||
:1010200000000000000000000000000000000000C0
|
||||
:1010300000000000000000000000000000000000B0
|
||||
:081040000000000000000000A8
|
||||
:10200000B3E7C500B367F50093F73700B306C50023
|
||||
:10201000638407023386C50093070500637ED502FB
|
||||
:1020200003C705009385150093871700A38FE7FE6C
|
||||
:10203000E398C5FE67800000E37ED5FE93070500A8
|
||||
:1020400003A70500938747009385450023AEE7FE6D
|
||||
:10205000E3E8D7FE6780000067800000B367C50033
|
||||
:1020600093F737003306C5006380070293F5F50F39
|
||||
:10207000930705006370C50493871700A38FB7FE0D
|
||||
:10208000E31CF6FE6780000093F5F50F939785003B
|
||||
:10209000B3E7B70093950701B3E5F500E374C5FE18
|
||||
:1020A000930705009387470023AEB7FEE3ECC7FE16
|
||||
:1020B000678000006780000083470500638E07008B
|
||||
:1020C0009307050003C7170093871700E31C07FE5B
|
||||
:1020D0003385A7406780000013050000678000007B
|
||||
:1020E00083470500938515001305150003C7F5FF09
|
||||
:1020F00063880700E386E7FE3385E74067800000DA
|
||||
:10210000930700006FF05FFFB367B50093F73700E8
|
||||
:10211000639E07021378C6FF330805016378050341
|
||||
:10212000930705006F0000019387470093854500E2
|
||||
:1021300063F8070183A6070003A70500E386E6FE10
|
||||
:102140003385A7403306A640138507003386C500B4
|
||||
:102150006F00400103C705008347F5FF9385150015
|
||||
:10216000639AE70013051500E396C5FE130500000A
|
||||
:10217000678000003385E740678000009307050013
|
||||
:1021800003C705009387170093851500A38FE7FE0B
|
||||
:10219000E31807FE6780000003470500930600026E
|
||||
:1021A000930705006318D70003C71700938717002C
|
||||
:1021B000E30CD7FE9306D0026300D7069306B00265
|
||||
:1021C0006300D70483C607009305000063820604FA
|
||||
:1021D0001305000093871700138606FD13172500CB
|
||||
:1021E00083C607003305A700131515003305A600A5
|
||||
:1021F000E39206FE638005023305A040678000007D
|
||||
:1022000083C617009305000093871700E39206FC2E
|
||||
:10221000130500006780000083C6170093051000B7
|
||||
:1022200093871700E39606FA130500006FF09FFEF0
|
||||
:1022300017F6FFFF130606DD032706008327460077
|
||||
:102240009355F5413367F7006306070297F6FFFFE2
|
||||
:10225000938646DF9307000023A0F60013080000D2
|
||||
:1022600023A2060103270600832746003367F700F1
|
||||
:10227000E31207FE2320A6002322B6006F00000011
|
||||
:10228000130101FF1305903423261100EFF05FFACC
|
||||
:10229000130101FE1306C1001307B10113039000DF
|
||||
:1022A0006F008000138707009377F500B337F300C2
|
||||
:1022B000B307F04093F777029376F500938707030F
|
||||
:1022C000B387F6002300F7009396C5011355450028
|
||||
:1022D0009307F7FF33E5A60093D54500E314E6FC2A
|
||||
:1022E0000345C100230E01006302050693050600A5
|
||||
:1022F00097F6FFFF938606D117F6FFFF130686D4E5
|
||||
:1023000003A7060083A74600130805009385150060
|
||||
:102310003367F700B70801016302070213070000E3
|
||||
:102320002320E600930700002322F60003A70600FF
|
||||
:1023300083A746003367F700E31207FE03C50500D5
|
||||
:1023400023A0060123A21601E31C05FA13010102D2
|
||||
:102350006780000037F6FFFF3307C500B7E70300CB
|
||||
:102360006370F7149356C50093820640172300004C
|
||||
:10237000130343C993972200B307F30003A7070091
|
||||
:102380003375C5006306070293760704638C060E57
|
||||
:1023900093760708639206189306F000639ED5169D
|
||||
:1023A0001367070823A0E700730005126780000089
|
||||
:1023B0001747000013074704832507006384051CA3
|
||||
:1023C00083A74500174600000326C6022320F70016
|
||||
:1023D0006382C70C03A7050093972200B307F3009D
|
||||
:1023E0001357C7001317A700136EF70D1366F701F5
|
||||
:1023F00023A0C7017300051297470000938707E0E9
|
||||
:1024000093963600B386D70083A706006392071E13
|
||||
:1024100083A7050023A0F60083A74500B7050400A5
|
||||
:1024200023A2F600F3A50510B707C0FFB307F50018
|
||||
:10243000B716000013070500B386D70083AE070068
|
||||
:1024400003AE470083A8870003A8C7002320D70155
|
||||
:102450002322C7012324170123260701938707019D
|
||||
:1024600013070701E39CD7FC739005109397220094
|
||||
:10247000B307F30023A0C700730005120F1000007C
|
||||
:10248000678000001367070423A0E70073000512AC
|
||||
:10249000678000009747000023AE07F46FF09FF3BA
|
||||
:1024A00013051004971500009385C58297F6FFFF6A
|
||||
:1024B000938646B517F6FFFF1306C6B803A70600B6
|
||||
:1024C00083A7460013030500938515003367F700C3
|
||||
:1024D000B703010163020702930700002320F600FF
|
||||
:1024E000130800002322060103A7060083A7460065
|
||||
:1024F0003367F700E31207FE03C5050023A066005B
|
||||
:1025000023A27600E31C05FA130101FF1305300036
|
||||
:1025100023261100EFF0DFD113051004970500000A
|
||||
:102520009385857F97F6FFFF9386C6AD17F6FFFF6D
|
||||
:10253000130646B103A7060083A74600130E050045
|
||||
:10254000938515003367F700B70E01016302070298
|
||||
:10255000930700002320F600130800002322060141
|
||||
:1025600003A7060083A746003367F700E31207FEC0
|
||||
:1025700003C5050023A0C60123A2D601E31C05FA6A
|
||||
:102580006FF09FF813051004970500009385457DB3
|
||||
:1025900097F6FFFF938606A717F6FFFF130686AA96
|
||||
:1025A00003A7060083A74600130F050093851500B7
|
||||
:1025B0003367F700B70F01016302070293070000BA
|
||||
:1025C0002320F600130800002322060103A70600BB
|
||||
:1025D00083A746003367F700E31207FE03C5050033
|
||||
:1025E00023A0E60123A2F601E31C05FA6FF0DFF158
|
||||
:1025F00013051004970500009385057897F6FFFFF3
|
||||
:10260000938646A017F6FFFF1306C6A303A706008E
|
||||
:1026100083A7460013080500938515003367F7006C
|
||||
:10262000B708010163020702130700002320E60038
|
||||
:10263000930700002322F60003A7060083A74600A5
|
||||
:102640003367F700E31207FE03C5050023A0060168
|
||||
:1026500023A21601E31C05FA6FF01FEB8325C508C2
|
||||
:10266000130101FB23248104232611042322910456
|
||||
:1026700023202105232E3103232C4103232A510338
|
||||
:10268000232861032326710323248103232291033A
|
||||
:102690002320A103232EB10193078000130405001A
|
||||
:1026A0006386F516930720006380F506938745FF40
|
||||
:1026B000130710006376F7009307F0006392F5228A
|
||||
:1026C00003258408EFF01FC91305040003248104C7
|
||||
:1026D0008320C10483244104032901048329C10305
|
||||
:1026E000032A8103832A4103032B0103832BC102A5
|
||||
:1026F000032C8102832C4102032D0102832DC10191
|
||||
:10270000130101056FD09F9B03274508937737007E
|
||||
:1027100063980708EF078000731030000327070055
|
||||
:1027200083A70700630AF706130510049705000046
|
||||
:102730009385057197F6FFFF9386C68C17F6FFFF0A
|
||||
:102740001306469003A7060083A74600130805005A
|
||||
:10275000938515003367F700B7080101630207028C
|
||||
:10276000130700002320E600930700002322F60051
|
||||
:1027700003A7060083A746003367F700E31207FEAE
|
||||
:1027800003C5050023A0060123A21601E31C05FAD8
|
||||
:1027900013053000EFF0DFA913051000EFF05FA97B
|
||||
:1027A00097050000938585671306100497F6FFFFD1
|
||||
:1027B0009386468517F5FFFF1305C58803A7060016
|
||||
:1027C00083A74600130E0600938515003367F700B4
|
||||
:1027D000B70E010163020702930700002320F500F2
|
||||
:1027E000130800002322050103A7060083A7460063
|
||||
:1027F0003367F700E31207FE03C6050023A0C601F6
|
||||
:1028000023A2D601E31C06FA6FF09FF8032B850282
|
||||
:10281000371C0000974400009384449E171D00005D
|
||||
:10282000130D4D7EB70C0400974B0000938B8BBCAF
|
||||
:102830006F00C00123A2870023A08B00B717000000
|
||||
:10284000330CFC00B7F703006302FC1C9357CC0069
|
||||
:10285000139437003386840003260600E30006FE47
|
||||
:102860009387074093972700B307FD0083A70700CE
|
||||
:1028700013F60704630C06122326F100F3AD0C10C7
|
||||
:10288000B707C0FFB305FC003716000013050C00A6
|
||||
:102890002324B100EFF05F87630005028327C100A6
|
||||
:1028A0008325810093F707086382070A3716000023
|
||||
:1028B00013050C00EFF0CFF43384840073900D10F7
|
||||
:1028C00083A70B0023200400E39607F69747000038
|
||||
:1028D000938787B223A08B0023A087006FF01FF699
|
||||
:1028E00093051004170600001306465897E6FFFFED
|
||||
:1028F0009386467117E5FFFF1305C57403A706000D
|
||||
:1029000083A7460013830500130616003367F700FC
|
||||
:10291000B703010163020702930700002320F500BB
|
||||
:10292000130800002322050103A7060083A7460021
|
||||
:102930003367F700E31207FE8345060023A0660015
|
||||
:1029400023A27600E39C05FA6FF09FE4930710043E
|
||||
:10295000170600001306464997E6FFFF9386866A2E
|
||||
:1029600097E5FFFF9385056E138907001306160090
|
||||
:10297000B70901016F004001930700001308000030
|
||||
:1029800023A0F50023A2050103A7060083A74600A4
|
||||
:102990003367F700E31207FE8347060023A02601F2
|
||||
:1029A00023A23601E39207FC6FF09FDE9307100429
|
||||
:1029B000170600001306064097E6FFFF938686641D
|
||||
:1029C00097E5FFFF93850568138A07001306160035
|
||||
:1029D000B70A01016F0040019307000013080000CF
|
||||
:1029E00023A0F50023A2050103A7060083A7460044
|
||||
:1029F0003367F700E31207FE8347060023A0460172
|
||||
:102A000023A25601E39207FC6FF09FD813050B0039
|
||||
:102A1000EFF01F82F32740F163920716172600009C
|
||||
:102A20001306465E9357C600130101F69397A7005D
|
||||
:102A3000232E1108232C8108971500009385855CAF
|
||||
:102A400093E7170023A0F500B707002093D6C50031
|
||||
:102A5000370700809387F70C232EF6FEB3E7E600D6
|
||||
:102A600073900718F3260018639AD716130405000D
|
||||
:102A70001347F7FF9307F00197020000938242018A
|
||||
:102A8000F39252307310073B7390073A97D7BF7F8A
|
||||
:102A90009387876B73905710F3270034B708C07F74
|
||||
:102AA000B387170173900714B7B700009387071017
|
||||
:102AB00073902730B7E701007390073073504030B0
|
||||
:102AC0009737C07F93870754174700002326F79254
|
||||
:102AD0009737C07F9387077217470000232CF79022
|
||||
:102AE00037030800173700001307C751173E0000CF
|
||||
:102AF000130ECE7093076001930500001303F303D8
|
||||
:102B0000938888001396F50193D61700B366D60014
|
||||
:102B100033866700B3C7F600330817011316C600E3
|
||||
:102B2000939757002320C7002322070193F707023A
|
||||
:102B300013078700B3E7F60093D51500E314EEFC06
|
||||
:102B400013060009930500001305010097370000E4
|
||||
:102B500023A4076AEFF08FD0B70700803304F40096
|
||||
:102B60001305010023228108EFD04FD58320C1092E
|
||||
:102B7000032481091301010A67800000B7B74A07DF
|
||||
:102B8000B7050800938767AA130700009385C5FF60
|
||||
:102B900037080080370500406F00C0022FA00600F4
|
||||
:102BA0001316F70193D61700B366D600B3C7D70044
|
||||
:102BB0009397E7013376F5001357170093870600C4
|
||||
:102BC0003367E600B3F6B70013F61700B3860601C5
|
||||
:102BD000E31606FC03A006006FF09FFC93051004AB
|
||||
:102BE000170600001306462B97E6FFFF93868641E3
|
||||
:102BF00017E5FFFF1305054503A7060083A7460059
|
||||
:102C000013880500130616003367F700B7080101A3
|
||||
:102C100063020702130700002320E500930700006A
|
||||
:102C20002322F50003A7060083A746003367F700B9
|
||||
:102C3000E31207FE8345060023A0060123A2160126
|
||||
:102C4000E39C05FA13053000EFF08FDE678000008B
|
||||
:102C50003705008093050080970600009386863A2A
|
||||
:102C600023A0A6002FA7B600B70E00809301200076
|
||||
:102C70006312D70583A70600B70E0080938E0E80DF
|
||||
:102C8000930130006398D703B70500802FA7B600E3
|
||||
:102C9000B70E0080938E0E8093014000631CD70115
|
||||
:102CA00083A70600930E0080930150006394D70120
|
||||
:102CB000631A3000139511006300050013651500B9
|
||||
:102CC000730000001305100073000000731000C0B3
|
||||
:102CD000417373657274696F6E206661696C6564B7
|
||||
:102CE0003A2061646472203E3D202831554C203CDE
|
||||
:102CF0003C203132292026262061646472203C2049
|
||||
:102D00003633202A202831554C203C3C20313229B2
|
||||
:102D10000A000000417373657274696F6E2066610A
|
||||
:102D2000696C65643A20212870745B315D5B616475
|
||||
:102D300064722F2831554C203C3C203132295D20D3
|
||||
:102D4000262030783038302920262620636175739C
|
||||
:102D500065203D3D203078660A00000041737365B0
|
||||
:102D60007274696F6E206661696C65643A206E6F7B
|
||||
:102D700064650A00417373657274696F6E206661E1
|
||||
:102D8000696C65643A20757365725F6D6170706916
|
||||
:102D90006E675B616464722F2831554C203C3C2087
|
||||
:102DA0003132295D2E61646472203D3D20300A007D
|
||||
:102DB000417373657274696F6E206661696C6564D6
|
||||
:102DC0003A2070745B315D5B616464722F28315509
|
||||
:102DD0004C203C3C203132295D2026203078303494
|
||||
:102DE000300A0000417373657274696F6E2066610A
|
||||
:102DF000696C65643A2070745B315D5B6164647218
|
||||
:102E00002F2831554C203C3C203132295D20262092
|
||||
:102E100030783038300A0000417373657274696F1E
|
||||
:102E20006E206661696C65643A2074662D3E65703B
|
||||
:102E30006320252034203D3D20300A004173736516
|
||||
:102E40007274696F6E206661696C65643A20212234
|
||||
:102E5000696C6C6567616C20696E737472756374FC
|
||||
:102E6000696F6E220A000000417373657274696FA6
|
||||
:102E70006E206661696C65643A202122756E657802
|
||||
:102E800070656374656420657863657074696F6EDE
|
||||
:102E9000220A0000417373657274696F6E20666167
|
||||
:102EA000696C65643A202122756E737570706F725B
|
||||
:102EB0007465642073617470206D6F6465220A000C
|
||||
:040000058000000077
|
||||
:00000001FF
|
|
@ -1,275 +0,0 @@
|
|||
:0200000480007A
|
||||
:100000006F00C0006F20C0276F2080279300000082
|
||||
:10001000130100009301000013020000930200008E
|
||||
:100020001303000093030000130400009304000076
|
||||
:10003000130500009305000013060000930600005E
|
||||
:100040001307000093070000130800009308000046
|
||||
:100050001309000093090000130A0000930A00002E
|
||||
:10006000130B0000930B0000130C0000930C000016
|
||||
:10007000130D0000930D0000130E0000930E0000FE
|
||||
:10008000130F0000930F000097020000938202F804
|
||||
:1000900073905230177100001301412DF32240F18B
|
||||
:1000A0009392C2003301510073100134EF20103AD3
|
||||
:1000B00017350000130505BA6F20D01583224508B7
|
||||
:1000C0007390121483204500032185008321C5000D
|
||||
:1000D0000322050183224501032385018323C501F2
|
||||
:1000E00003240502832445028325C5020326050354
|
||||
:1000F00083264503032785038327C50303280504B7
|
||||
:1001000083284504032985048329C504032A05059A
|
||||
:10011000832A4505032B8505832BC505032C05067E
|
||||
:10012000832C4506032D8506832DC506032E050762
|
||||
:10013000832E4507032F8507832FC50703258502D7
|
||||
:1001400073002010731101142322110023263100A3
|
||||
:1001500023284100232A5100232C6100232E710003
|
||||
:1001600023208102232291022324A1022326B1020B
|
||||
:100170002328C102232AD102232CE102232EF102DB
|
||||
:1001800023200105232211052324210523263105DF
|
||||
:1001900023284105232A5105232C6105232E7105AF
|
||||
:1001A00023208107232291072324A1072326B107B7
|
||||
:1001B0002328C107232AD107232CE107232EF10787
|
||||
:1001C000F312011423245100F322001023205108BC
|
||||
:1001D000F322101423225108F3223014232451084F
|
||||
:1001E000F322201423265108130501006F20004735
|
||||
:1010000000000000000000000000000000000000E0
|
||||
:1010100000000000000000000000000000000000D0
|
||||
:1010200000000000000000000000000000000000C0
|
||||
:1010300000000000000000000000000000000000B0
|
||||
:081040000000000000000000A8
|
||||
:10200000B3E7C500B367F50093F73700B306C50023
|
||||
:10201000638407023386C50093070500637ED502FB
|
||||
:1020200003C705009385150093871700A38FE7FE6C
|
||||
:10203000E398C5FE67800000E37ED5FE93070500A8
|
||||
:1020400003A70500938747009385450023AEE7FE6D
|
||||
:10205000E3E8D7FE6780000067800000B367C50033
|
||||
:1020600093F737003306C5006380070293F5F50F39
|
||||
:10207000930705006370C50493871700A38FB7FE0D
|
||||
:10208000E31CF6FE6780000093F5F50F939785003B
|
||||
:10209000B3E7B70093950701B3E5F500E374C5FE18
|
||||
:1020A000930705009387470023AEB7FEE3ECC7FE16
|
||||
:1020B000678000006780000083470500638E07008B
|
||||
:1020C0009307050003C7170093871700E31C07FE5B
|
||||
:1020D0003385A7406780000013050000678000007B
|
||||
:1020E00083470500938515001305150003C7F5FF09
|
||||
:1020F00063880700E386E7FE3385E74067800000DA
|
||||
:10210000930700006FF05FFFB367B50093F73700E8
|
||||
:10211000639E07021378C6FF330805016378050341
|
||||
:10212000930705006F0000019387470093854500E2
|
||||
:1021300063F8070183A6070003A70500E386E6FE10
|
||||
:102140003385A7403306A640138507003386C500B4
|
||||
:102150006F00400103C705008347F5FF9385150015
|
||||
:10216000639AE70013051500E396C5FE130500000A
|
||||
:10217000678000003385E740678000009307050013
|
||||
:1021800003C705009387170093851500A38FE7FE0B
|
||||
:10219000E31807FE6780000003470500930600026E
|
||||
:1021A000930705006318D70003C71700938717002C
|
||||
:1021B000E30CD7FE9306D0026300D7069306B00265
|
||||
:1021C0006300D70483C607009305000063820604FA
|
||||
:1021D0001305000093871700138606FD13172500CB
|
||||
:1021E00083C607003305A700131515003305A600A5
|
||||
:1021F000E39206FE638005023305A040678000007D
|
||||
:1022000083C617009305000093871700E39206FC2E
|
||||
:10221000130500006780000083C6170093051000B7
|
||||
:1022200093871700E39606FA130500006FF09FFEF0
|
||||
:1022300017F6FFFF130606DD032706008327460077
|
||||
:102240009355F5413367F7006306070297F6FFFFE2
|
||||
:10225000938646DF9307000023A0F60013080000D2
|
||||
:1022600023A2060103270600832746003367F700F1
|
||||
:10227000E31207FE2320A6002322B6006F00000011
|
||||
:10228000130101FF1305903423261100EFF05FFACC
|
||||
:10229000130101FE1306C1001307B10113039000DF
|
||||
:1022A0006F008000138707009377F500B337F300C2
|
||||
:1022B000B307F04093F777029376F500938707030F
|
||||
:1022C000B387F6002300F7009396C5011355450028
|
||||
:1022D0009307F7FF33E5A60093D54500E314E6FC2A
|
||||
:1022E0000345C100230E01006302050693050600A5
|
||||
:1022F00097F6FFFF938606D117F6FFFF130686D4E5
|
||||
:1023000003A7060083A74600130805009385150060
|
||||
:102310003367F700B70801016302070213070000E3
|
||||
:102320002320E600930700002322F60003A70600FF
|
||||
:1023300083A746003367F700E31207FE03C50500D5
|
||||
:1023400023A0060123A21601E31C05FA13010102D2
|
||||
:102350006780000037F6FFFF3307C500B7E70300CB
|
||||
:102360006370F7149356C50093820640172300004C
|
||||
:10237000130343C993972200B307F30003A7070091
|
||||
:102380003375C5006306070293760704638C060E57
|
||||
:1023900093760708639206189306F000639ED5169D
|
||||
:1023A0001367070823A0E700730005126780000089
|
||||
:1023B0001747000013074704832507006384051CA3
|
||||
:1023C00083A74500174600000326C6022320F70016
|
||||
:1023D0006382C70C03A7050093972200B307F3009D
|
||||
:1023E0001357C7001317A700136EF70D1366F701F5
|
||||
:1023F00023A0C7017300051297470000938707E0E9
|
||||
:1024000093963600B386D70083A706006392071E13
|
||||
:1024100083A7050023A0F60083A74500B7050400A5
|
||||
:1024200023A2F600F3A50510B707C0FFB307F50018
|
||||
:10243000B716000013070500B386D70083AE070068
|
||||
:1024400003AE470083A8870003A8C7002320D70155
|
||||
:102450002322C7012324170123260701938707019D
|
||||
:1024600013070701E39CD7FC739005109397220094
|
||||
:10247000B307F30023A0C700730005120F1000007C
|
||||
:10248000678000001367070423A0E70073000512AC
|
||||
:10249000678000009747000023AE07F46FF09FF3BA
|
||||
:1024A00013051004971500009385458297F6FFFFEA
|
||||
:1024B000938646B517F6FFFF1306C6B803A70600B6
|
||||
:1024C00083A7460013030500938515003367F700C3
|
||||
:1024D000B703010163020702930700002320F600FF
|
||||
:1024E000130800002322060103A7060083A7460065
|
||||
:1024F0003367F700E31207FE03C5050023A066005B
|
||||
:1025000023A27600E31C05FA130101FF1305300036
|
||||
:1025100023261100EFF0DFD113051004970500000A
|
||||
:102520009385057F97F6FFFF9386C6AD17F6FFFFED
|
||||
:10253000130646B103A7060083A74600130E050045
|
||||
:10254000938515003367F700B70E01016302070298
|
||||
:10255000930700002320F600130800002322060141
|
||||
:1025600003A7060083A746003367F700E31207FEC0
|
||||
:1025700003C5050023A0C60123A2D601E31C05FA6A
|
||||
:102580006FF09FF813051004970500009385C57C34
|
||||
:1025900097F6FFFF938606A717F6FFFF130686AA96
|
||||
:1025A00003A7060083A74600130F050093851500B7
|
||||
:1025B0003367F700B70F01016302070293070000BA
|
||||
:1025C0002320F600130800002322060103A70600BB
|
||||
:1025D00083A746003367F700E31207FE03C5050033
|
||||
:1025E00023A0E60123A2F601E31C05FA6FF0DFF158
|
||||
:1025F00013051004970500009385857797F6FFFF74
|
||||
:10260000938646A017F6FFFF1306C6A303A706008E
|
||||
:1026100083A7460013080500938515003367F7006C
|
||||
:10262000B708010163020702130700002320E60038
|
||||
:10263000930700002322F60003A7060083A74600A5
|
||||
:102640003367F700E31207FE03C5050023A0060168
|
||||
:1026500023A21601E31C05FA6FF01FEB8325C508C2
|
||||
:10266000130101FB23248104232611042322910456
|
||||
:1026700023202105232E3103232C4103232A510338
|
||||
:10268000232861032326710323248103232291033A
|
||||
:102690002320A103232EB10193078000130405001A
|
||||
:1026A0006386F516930720006380F506938745FF40
|
||||
:1026B000130710006376F7009307F0006392F5228A
|
||||
:1026C00003258408EFF01FC91305040003248104C7
|
||||
:1026D0008320C10483244104032901048329C10305
|
||||
:1026E000032A8103832A4103032B0103832BC102A5
|
||||
:1026F000032C8102832C4102032D0102832DC10191
|
||||
:10270000130101056FD09F9B03274508937737007E
|
||||
:1027100063980708EF078000731030000327070055
|
||||
:1027200083A70700630AF706130510049705000046
|
||||
:102730009385857097F6FFFF9386C68C17F6FFFF8B
|
||||
:102740001306469003A7060083A74600130805005A
|
||||
:10275000938515003367F700B7080101630207028C
|
||||
:10276000130700002320E600930700002322F60051
|
||||
:1027700003A7060083A746003367F700E31207FEAE
|
||||
:1027800003C5050023A0060123A21601E31C05FAD8
|
||||
:1027900013053000EFF0DFA913051000EFF05FA97B
|
||||
:1027A00097050000938505671306100497F6FFFF51
|
||||
:1027B0009386468517F5FFFF1305C58803A7060016
|
||||
:1027C00083A74600130E0600938515003367F700B4
|
||||
:1027D000B70E010163020702930700002320F500F2
|
||||
:1027E000130800002322050103A7060083A7460063
|
||||
:1027F0003367F700E31207FE03C6050023A0C601F6
|
||||
:1028000023A2D601E31C06FA6FF09FF8032B850282
|
||||
:10281000371C0000974400009384449E171D00005D
|
||||
:10282000130D4D7EB70C0400974B0000938B8BBCAF
|
||||
:102830006F00C00123A2870023A08B00B717000000
|
||||
:10284000330CFC00B7F703006302FC1C9357CC0069
|
||||
:10285000139437003386840003260600E30006FE47
|
||||
:102860009387074093972700B307FD0083A70700CE
|
||||
:1028700013F60704630C06122326F100F3AD0C10C7
|
||||
:10288000B707C0FFB305FC003716000013050C00A6
|
||||
:102890002324B100EFF05F87630005028327C100A6
|
||||
:1028A0008325810093F707086382070A3716000023
|
||||
:1028B00013050C00EFF0CFF43384840073900D10F7
|
||||
:1028C00083A70B0023200400E39607F69747000038
|
||||
:1028D000938787B223A08B0023A087006FF01FF699
|
||||
:1028E00093051004170600001306C65797E6FFFF6E
|
||||
:1028F0009386467117E5FFFF1305C57403A706000D
|
||||
:1029000083A7460013830500130616003367F700FC
|
||||
:10291000B703010163020702930700002320F500BB
|
||||
:10292000130800002322050103A7060083A7460021
|
||||
:102930003367F700E31207FE8345060023A0660015
|
||||
:1029400023A27600E39C05FA6FF09FE4930710043E
|
||||
:10295000170600001306C64897E6FFFF9386866AAF
|
||||
:1029600097E5FFFF9385056E138907001306160090
|
||||
:10297000B70901016F004001930700001308000030
|
||||
:1029800023A0F50023A2050103A7060083A74600A4
|
||||
:102990003367F700E31207FE8347060023A02601F2
|
||||
:1029A00023A23601E39207FC6FF09FDE9307100429
|
||||
:1029B000170600001306863F97E6FFFF938686649E
|
||||
:1029C00097E5FFFF93850568138A07001306160035
|
||||
:1029D000B70A01016F0040019307000013080000CF
|
||||
:1029E00023A0F50023A2050103A7060083A7460044
|
||||
:1029F0003367F700E31207FE8347060023A0460172
|
||||
:102A000023A25601E39207FC6FF09FD813050B0039
|
||||
:102A1000EFF01F82F32740F163920716172600009C
|
||||
:102A20001306465E9357C600130101F69397A7005D
|
||||
:102A3000232E1108232C8108971500009385855CAF
|
||||
:102A400093E7170023A0F500B707002093D6C50031
|
||||
:102A5000370700809387F70C232EF6FEB3E7E600D6
|
||||
:102A600073900718F3260018639AD716130405000D
|
||||
:102A70001347F7FF9307F00197020000938242018A
|
||||
:102A8000F39252307310073B7390073A97D7BF7F8A
|
||||
:102A90009387876B73905710F3270034B708C07F74
|
||||
:102AA000B387170173900714B7B700009387071017
|
||||
:102AB00073902730B7E701007390073073504030B0
|
||||
:102AC0009737C07F93870754174700002326F79254
|
||||
:102AD0009737C07F9387077217470000232CF79022
|
||||
:102AE00037030800173700001307C751173E0000CF
|
||||
:102AF000130ECE7093072002930500001303F30317
|
||||
:102B0000938888001396F50193D61700B366D60014
|
||||
:102B100033866700B3C7F600330817011316C600E3
|
||||
:102B2000939757002320C7002322070193F707023A
|
||||
:102B300013078700B3E7F60093D51500E314EEFC06
|
||||
:102B400013060009930500001305010097370000E4
|
||||
:102B500023A4076AEFF08FD0B70700803304F40096
|
||||
:102B60001305010023228108EFD04FD58320C1092E
|
||||
:102B7000032481091301010A67800000B7C7540AC2
|
||||
:102B8000B70508009387A72E130700009385C5FF9C
|
||||
:102B900037080080370500406F00C0022FA00600F4
|
||||
:102BA0001316F70193D61700B366D600B3C7D70044
|
||||
:102BB0009397E7013376F5001357170093870600C4
|
||||
:102BC0003367E600B3F6B70013F61700B3860601C5
|
||||
:102BD000E31606FC03A006006FF09FFC93051004AB
|
||||
:102BE000170600001306C62A97E6FFFF9386864164
|
||||
:102BF00017E5FFFF1305054503A7060083A7460059
|
||||
:102C000013880500130616003367F700B7080101A3
|
||||
:102C100063020702130700002320E500930700006A
|
||||
:102C20002322F50003A7060083A746003367F700B9
|
||||
:102C3000E31207FE8345060023A0060123A2160126
|
||||
:102C4000E39C05FA13053000EFF08FDE678000008B
|
||||
:102C50003705008093050080970600009386863A2A
|
||||
:102C600023A0A6002FA7B660B70E00809301200016
|
||||
:102C7000631ED70383A70600B70E008093013000C0
|
||||
:102C80006396D703B70500802FA7B660B70E008004
|
||||
:102C900093014000631CD70183A70600B70E008094
|
||||
:102CA000930150006394D701631A3000139511000B
|
||||
:102CB0006300050013651500730000001305100084
|
||||
:082CC00073000000731000C056
|
||||
:102CC800417373657274696F6E206661696C6564BF
|
||||
:102CD8003A2061646472203E3D202831554C203CE6
|
||||
:102CE8003C203132292026262061646472203C2051
|
||||
:102CF8003633202A202831554C203C3C20313229BB
|
||||
:102D08000A000000417373657274696F6E20666112
|
||||
:102D1800696C65643A20212870745B315D5B61647D
|
||||
:102D280064722F2831554C203C3C203132295D20DB
|
||||
:102D380026203078303830292026262063617573A4
|
||||
:102D480065203D3D203078660A00000041737365B8
|
||||
:102D58007274696F6E206661696C65643A206E6F83
|
||||
:102D680064650A00417373657274696F6E206661E9
|
||||
:102D7800696C65643A20757365725F6D617070691E
|
||||
:102D88006E675B616464722F2831554C203C3C208F
|
||||
:102D98003132295D2E61646472203D3D20300A0085
|
||||
:102DA800417373657274696F6E206661696C6564DE
|
||||
:102DB8003A2070745B315D5B616464722F28315511
|
||||
:102DC8004C203C3C203132295D202620307830349C
|
||||
:102DD800300A0000417373657274696F6E20666112
|
||||
:102DE800696C65643A2070745B315D5B6164647220
|
||||
:102DF8002F2831554C203C3C203132295D2026209B
|
||||
:102E080030783038300A0000417373657274696F26
|
||||
:102E18006E206661696C65643A2074662D3E657043
|
||||
:102E28006320252034203D3D20300A00417373651E
|
||||
:102E38007274696F6E206661696C65643A2021223C
|
||||
:102E4800696C6C6567616C20696E73747275637404
|
||||
:102E5800696F6E220A000000417373657274696FAE
|
||||
:102E68006E206661696C65643A202122756E65780A
|
||||
:102E780070656374656420657863657074696F6EE6
|
||||
:102E8800220A0000417373657274696F6E2066616F
|
||||
:102E9800696C65643A202122756E737570706F7263
|
||||
:102EA8007465642073617470206D6F6465220A0014
|
||||
:040000058000000077
|
||||
:00000001FF
|
|
@ -1,275 +0,0 @@
|
|||
:0200000480007A
|
||||
:100000006F00C0006F20C0276F2080279300000082
|
||||
:10001000130100009301000013020000930200008E
|
||||
:100020001303000093030000130400009304000076
|
||||
:10003000130500009305000013060000930600005E
|
||||
:100040001307000093070000130800009308000046
|
||||
:100050001309000093090000130A0000930A00002E
|
||||
:10006000130B0000930B0000130C0000930C000016
|
||||
:10007000130D0000930D0000130E0000930E0000FE
|
||||
:10008000130F0000930F000097020000938202F804
|
||||
:1000900073905230177100001301412DF32240F18B
|
||||
:1000A0009392C2003301510073100134EF20103AD3
|
||||
:1000B00017350000130505BA6F20D01583224508B7
|
||||
:1000C0007390121483204500032185008321C5000D
|
||||
:1000D0000322050183224501032385018323C501F2
|
||||
:1000E00003240502832445028325C5020326050354
|
||||
:1000F00083264503032785038327C50303280504B7
|
||||
:1001000083284504032985048329C504032A05059A
|
||||
:10011000832A4505032B8505832BC505032C05067E
|
||||
:10012000832C4506032D8506832DC506032E050762
|
||||
:10013000832E4507032F8507832FC50703258502D7
|
||||
:1001400073002010731101142322110023263100A3
|
||||
:1001500023284100232A5100232C6100232E710003
|
||||
:1001600023208102232291022324A1022326B1020B
|
||||
:100170002328C102232AD102232CE102232EF102DB
|
||||
:1001800023200105232211052324210523263105DF
|
||||
:1001900023284105232A5105232C6105232E7105AF
|
||||
:1001A00023208107232291072324A1072326B107B7
|
||||
:1001B0002328C107232AD107232CE107232EF10787
|
||||
:1001C000F312011423245100F322001023205108BC
|
||||
:1001D000F322101423225108F3223014232451084F
|
||||
:1001E000F322201423265108130501006F20004735
|
||||
:1010000000000000000000000000000000000000E0
|
||||
:1010100000000000000000000000000000000000D0
|
||||
:1010200000000000000000000000000000000000C0
|
||||
:1010300000000000000000000000000000000000B0
|
||||
:081040000000000000000000A8
|
||||
:10200000B3E7C500B367F50093F73700B306C50023
|
||||
:10201000638407023386C50093070500637ED502FB
|
||||
:1020200003C705009385150093871700A38FE7FE6C
|
||||
:10203000E398C5FE67800000E37ED5FE93070500A8
|
||||
:1020400003A70500938747009385450023AEE7FE6D
|
||||
:10205000E3E8D7FE6780000067800000B367C50033
|
||||
:1020600093F737003306C5006380070293F5F50F39
|
||||
:10207000930705006370C50493871700A38FB7FE0D
|
||||
:10208000E31CF6FE6780000093F5F50F939785003B
|
||||
:10209000B3E7B70093950701B3E5F500E374C5FE18
|
||||
:1020A000930705009387470023AEB7FEE3ECC7FE16
|
||||
:1020B000678000006780000083470500638E07008B
|
||||
:1020C0009307050003C7170093871700E31C07FE5B
|
||||
:1020D0003385A7406780000013050000678000007B
|
||||
:1020E00083470500938515001305150003C7F5FF09
|
||||
:1020F00063880700E386E7FE3385E74067800000DA
|
||||
:10210000930700006FF05FFFB367B50093F73700E8
|
||||
:10211000639E07021378C6FF330805016378050341
|
||||
:10212000930705006F0000019387470093854500E2
|
||||
:1021300063F8070183A6070003A70500E386E6FE10
|
||||
:102140003385A7403306A640138507003386C500B4
|
||||
:102150006F00400103C705008347F5FF9385150015
|
||||
:10216000639AE70013051500E396C5FE130500000A
|
||||
:10217000678000003385E740678000009307050013
|
||||
:1021800003C705009387170093851500A38FE7FE0B
|
||||
:10219000E31807FE6780000003470500930600026E
|
||||
:1021A000930705006318D70003C71700938717002C
|
||||
:1021B000E30CD7FE9306D0026300D7069306B00265
|
||||
:1021C0006300D70483C607009305000063820604FA
|
||||
:1021D0001305000093871700138606FD13172500CB
|
||||
:1021E00083C607003305A700131515003305A600A5
|
||||
:1021F000E39206FE638005023305A040678000007D
|
||||
:1022000083C617009305000093871700E39206FC2E
|
||||
:10221000130500006780000083C6170093051000B7
|
||||
:1022200093871700E39606FA130500006FF09FFEF0
|
||||
:1022300017F6FFFF130606DD032706008327460077
|
||||
:102240009355F5413367F7006306070297F6FFFFE2
|
||||
:10225000938646DF9307000023A0F60013080000D2
|
||||
:1022600023A2060103270600832746003367F700F1
|
||||
:10227000E31207FE2320A6002322B6006F00000011
|
||||
:10228000130101FF1305903423261100EFF05FFACC
|
||||
:10229000130101FE1306C1001307B10113039000DF
|
||||
:1022A0006F008000138707009377F500B337F300C2
|
||||
:1022B000B307F04093F777029376F500938707030F
|
||||
:1022C000B387F6002300F7009396C5011355450028
|
||||
:1022D0009307F7FF33E5A60093D54500E314E6FC2A
|
||||
:1022E0000345C100230E01006302050693050600A5
|
||||
:1022F00097F6FFFF938606D117F6FFFF130686D4E5
|
||||
:1023000003A7060083A74600130805009385150060
|
||||
:102310003367F700B70801016302070213070000E3
|
||||
:102320002320E600930700002322F60003A70600FF
|
||||
:1023300083A746003367F700E31207FE03C50500D5
|
||||
:1023400023A0060123A21601E31C05FA13010102D2
|
||||
:102350006780000037F6FFFF3307C500B7E70300CB
|
||||
:102360006370F7149356C50093820640172300004C
|
||||
:10237000130343C993972200B307F30003A7070091
|
||||
:102380003375C5006306070293760704638C060E57
|
||||
:1023900093760708639206189306F000639ED5169D
|
||||
:1023A0001367070823A0E700730005126780000089
|
||||
:1023B0001747000013074704832507006384051CA3
|
||||
:1023C00083A74500174600000326C6022320F70016
|
||||
:1023D0006382C70C03A7050093972200B307F3009D
|
||||
:1023E0001357C7001317A700136EF70D1366F701F5
|
||||
:1023F00023A0C7017300051297470000938707E0E9
|
||||
:1024000093963600B386D70083A706006392071E13
|
||||
:1024100083A7050023A0F60083A74500B7050400A5
|
||||
:1024200023A2F600F3A50510B707C0FFB307F50018
|
||||
:10243000B716000013070500B386D70083AE070068
|
||||
:1024400003AE470083A8870003A8C7002320D70155
|
||||
:102450002322C7012324170123260701938707019D
|
||||
:1024600013070701E39CD7FC739005109397220094
|
||||
:10247000B307F30023A0C700730005120F1000007C
|
||||
:10248000678000001367070423A0E70073000512AC
|
||||
:10249000678000009747000023AE07F46FF09FF3BA
|
||||
:1024A00013051004971500009385858297F6FFFFAA
|
||||
:1024B000938646B517F6FFFF1306C6B803A70600B6
|
||||
:1024C00083A7460013030500938515003367F700C3
|
||||
:1024D000B703010163020702930700002320F600FF
|
||||
:1024E000130800002322060103A7060083A7460065
|
||||
:1024F0003367F700E31207FE03C5050023A066005B
|
||||
:1025000023A27600E31C05FA130101FF1305300036
|
||||
:1025100023261100EFF0DFD113051004970500000A
|
||||
:102520009385457F97F6FFFF9386C6AD17F6FFFFAD
|
||||
:10253000130646B103A7060083A74600130E050045
|
||||
:10254000938515003367F700B70E01016302070298
|
||||
:10255000930700002320F600130800002322060141
|
||||
:1025600003A7060083A746003367F700E31207FEC0
|
||||
:1025700003C5050023A0C60123A2D601E31C05FA6A
|
||||
:102580006FF09FF813051004970500009385057DF3
|
||||
:1025900097F6FFFF938606A717F6FFFF130686AA96
|
||||
:1025A00003A7060083A74600130F050093851500B7
|
||||
:1025B0003367F700B70F01016302070293070000BA
|
||||
:1025C0002320F600130800002322060103A70600BB
|
||||
:1025D00083A746003367F700E31207FE03C5050033
|
||||
:1025E00023A0E60123A2F601E31C05FA6FF0DFF158
|
||||
:1025F00013051004970500009385C57797F6FFFF34
|
||||
:10260000938646A017F6FFFF1306C6A303A706008E
|
||||
:1026100083A7460013080500938515003367F7006C
|
||||
:10262000B708010163020702130700002320E60038
|
||||
:10263000930700002322F60003A7060083A74600A5
|
||||
:102640003367F700E31207FE03C5050023A0060168
|
||||
:1026500023A21601E31C05FA6FF01FEB8325C508C2
|
||||
:10266000130101FB23248104232611042322910456
|
||||
:1026700023202105232E3103232C4103232A510338
|
||||
:10268000232861032326710323248103232291033A
|
||||
:102690002320A103232EB10193078000130405001A
|
||||
:1026A0006386F516930720006380F506938745FF40
|
||||
:1026B000130710006376F7009307F0006392F5228A
|
||||
:1026C00003258408EFF01FC91305040003248104C7
|
||||
:1026D0008320C10483244104032901048329C10305
|
||||
:1026E000032A8103832A4103032B0103832BC102A5
|
||||
:1026F000032C8102832C4102032D0102832DC10191
|
||||
:10270000130101056FD09F9B03274508937737007E
|
||||
:1027100063980708EF078000731030000327070055
|
||||
:1027200083A70700630AF706130510049705000046
|
||||
:102730009385C57097F6FFFF9386C68C17F6FFFF4B
|
||||
:102740001306469003A7060083A74600130805005A
|
||||
:10275000938515003367F700B7080101630207028C
|
||||
:10276000130700002320E600930700002322F60051
|
||||
:1027700003A7060083A746003367F700E31207FEAE
|
||||
:1027800003C5050023A0060123A21601E31C05FAD8
|
||||
:1027900013053000EFF0DFA913051000EFF05FA97B
|
||||
:1027A00097050000938545671306100497F6FFFF11
|
||||
:1027B0009386468517F5FFFF1305C58803A7060016
|
||||
:1027C00083A74600130E0600938515003367F700B4
|
||||
:1027D000B70E010163020702930700002320F500F2
|
||||
:1027E000130800002322050103A7060083A7460063
|
||||
:1027F0003367F700E31207FE03C6050023A0C601F6
|
||||
:1028000023A2D601E31C06FA6FF09FF8032B850282
|
||||
:10281000371C0000974400009384449E171D00005D
|
||||
:10282000130D4D7EB70C0400974B0000938B8BBCAF
|
||||
:102830006F00C00123A2870023A08B00B717000000
|
||||
:10284000330CFC00B7F703006302FC1C9357CC0069
|
||||
:10285000139437003386840003260600E30006FE47
|
||||
:102860009387074093972700B307FD0083A70700CE
|
||||
:1028700013F60704630C06122326F100F3AD0C10C7
|
||||
:10288000B707C0FFB305FC003716000013050C00A6
|
||||
:102890002324B100EFF05F87630005028327C100A6
|
||||
:1028A0008325810093F707086382070A3716000023
|
||||
:1028B00013050C00EFF0CFF43384840073900D10F7
|
||||
:1028C00083A70B0023200400E39607F69747000038
|
||||
:1028D000938787B223A08B0023A087006FF01FF699
|
||||
:1028E00093051004170600001306065897E6FFFF2D
|
||||
:1028F0009386467117E5FFFF1305C57403A706000D
|
||||
:1029000083A7460013830500130616003367F700FC
|
||||
:10291000B703010163020702930700002320F500BB
|
||||
:10292000130800002322050103A7060083A7460021
|
||||
:102930003367F700E31207FE8345060023A0660015
|
||||
:1029400023A27600E39C05FA6FF09FE4930710043E
|
||||
:10295000170600001306064997E6FFFF9386866A6E
|
||||
:1029600097E5FFFF9385056E138907001306160090
|
||||
:10297000B70901016F004001930700001308000030
|
||||
:1029800023A0F50023A2050103A7060083A74600A4
|
||||
:102990003367F700E31207FE8347060023A02601F2
|
||||
:1029A00023A23601E39207FC6FF09FDE9307100429
|
||||
:1029B000170600001306C63F97E6FFFF938686645E
|
||||
:1029C00097E5FFFF93850568138A07001306160035
|
||||
:1029D000B70A01016F0040019307000013080000CF
|
||||
:1029E00023A0F50023A2050103A7060083A7460044
|
||||
:1029F0003367F700E31207FE8347060023A0460172
|
||||
:102A000023A25601E39207FC6FF09FD813050B0039
|
||||
:102A1000EFF01F82F32740F163920716172600009C
|
||||
:102A20001306465E9357C600130101F69397A7005D
|
||||
:102A3000232E1108232C8108971500009385855CAF
|
||||
:102A400093E7170023A0F500B707002093D6C50031
|
||||
:102A5000370700809387F70C232EF6FEB3E7E600D6
|
||||
:102A600073900718F3260018639AD716130405000D
|
||||
:102A70001347F7FF9307F00197020000938242018A
|
||||
:102A8000F39252307310073B7390073A97D7BF7F8A
|
||||
:102A90009387876B73905710F3270034B708C07F74
|
||||
:102AA000B387170173900714B7B700009387071017
|
||||
:102AB00073902730B7E701007390073073504030B0
|
||||
:102AC0009737C07F93870754174700002326F79254
|
||||
:102AD0009737C07F9387077217470000232CF79022
|
||||
:102AE00037030800173700001307C751173E0000CF
|
||||
:102AF000130ECE7093079003930500001303F303A6
|
||||
:102B0000938888001396F50193D61700B366D60014
|
||||
:102B100033866700B3C7F600330817011316C600E3
|
||||
:102B2000939757002320C7002322070193F707023A
|
||||
:102B300013078700B3E7F60093D51500E314EEFC06
|
||||
:102B400013060009930500001305010097370000E4
|
||||
:102B500023A4076AEFF08FD0B70700803304F40096
|
||||
:102B60001305010023228108EFD04FD58320C1092E
|
||||
:102B7000032481091301010A67800000B7673D0A39
|
||||
:102B8000B70508009387279E130700009385C5FFAC
|
||||
:102B900037080080370500406F00C0022FA00600F4
|
||||
:102BA0001316F70193D61700B366D600B3C7D70044
|
||||
:102BB0009397E7013376F5001357170093870600C4
|
||||
:102BC0003367E600B3F6B70013F61700B3860601C5
|
||||
:102BD000E31606FC03A006006FF09FFC93051004AB
|
||||
:102BE000170600001306062B97E6FFFF9386864123
|
||||
:102BF00017E5FFFF1305054503A7060083A7460059
|
||||
:102C000013880500130616003367F700B7080101A3
|
||||
:102C100063020702130700002320E500930700006A
|
||||
:102C20002322F50003A7060083A746003367F700B9
|
||||
:102C3000E31207FE8345060023A0060123A2160126
|
||||
:102C4000E39C05FA13053000EFF08FDE678000008B
|
||||
:102C50003705008093050080970600009386863A2A
|
||||
:102C600023A0A6002FA7B6A0B70E008093012000D6
|
||||
:102C70006310D70583A70600930E008093013000F0
|
||||
:102C80006398D7039305100023A006002FA7B6A0D2
|
||||
:102C9000930E000093014000631CD70183A7060038
|
||||
:102CA000930E1000930150006394D701631A300013
|
||||
:102CB00013951100630005001365150073000000F3
|
||||
:0C2CC0001305100073000000731000C02A
|
||||
:102CCC00417373657274696F6E206661696C6564BB
|
||||
:102CDC003A2061646472203E3D202831554C203CE2
|
||||
:102CEC003C203132292026262061646472203C204D
|
||||
:102CFC003633202A202831554C203C3C20313229B7
|
||||
:102D0C000A000000417373657274696F6E2066610E
|
||||
:102D1C00696C65643A20212870745B315D5B616479
|
||||
:102D2C0064722F2831554C203C3C203132295D20D7
|
||||
:102D3C0026203078303830292026262063617573A0
|
||||
:102D4C0065203D3D203078660A00000041737365B4
|
||||
:102D5C007274696F6E206661696C65643A206E6F7F
|
||||
:102D6C0064650A00417373657274696F6E206661E5
|
||||
:102D7C00696C65643A20757365725F6D617070691A
|
||||
:102D8C006E675B616464722F2831554C203C3C208B
|
||||
:102D9C003132295D2E61646472203D3D20300A0081
|
||||
:102DAC00417373657274696F6E206661696C6564DA
|
||||
:102DBC003A2070745B315D5B616464722F2831550D
|
||||
:102DCC004C203C3C203132295D2026203078303498
|
||||
:102DDC00300A0000417373657274696F6E2066610E
|
||||
:102DEC00696C65643A2070745B315D5B616464721C
|
||||
:102DFC002F2831554C203C3C203132295D20262097
|
||||
:102E0C0030783038300A0000417373657274696F22
|
||||
:102E1C006E206661696C65643A2074662D3E65703F
|
||||
:102E2C006320252034203D3D20300A00417373651A
|
||||
:102E3C007274696F6E206661696C65643A20212238
|
||||
:102E4C00696C6C6567616C20696E73747275637400
|
||||
:102E5C00696F6E220A000000417373657274696FAA
|
||||
:102E6C006E206661696C65643A202122756E657806
|
||||
:102E7C0070656374656420657863657074696F6EE2
|
||||
:102E8C00220A0000417373657274696F6E2066616B
|
||||
:102E9C00696C65643A202122756E737570706F725F
|
||||
:102EAC007465642073617470206D6F6465220A0010
|
||||
:040000058000000077
|
||||
:00000001FF
|
|
@ -1,275 +0,0 @@
|
|||
:0200000480007A
|
||||
:100000006F00C0006F20C0276F2080279300000082
|
||||
:10001000130100009301000013020000930200008E
|
||||
:100020001303000093030000130400009304000076
|
||||
:10003000130500009305000013060000930600005E
|
||||
:100040001307000093070000130800009308000046
|
||||
:100050001309000093090000130A0000930A00002E
|
||||
:10006000130B0000930B0000130C0000930C000016
|
||||
:10007000130D0000930D0000130E0000930E0000FE
|
||||
:10008000130F0000930F000097020000938202F804
|
||||
:1000900073905230177100001301412DF32240F18B
|
||||
:1000A0009392C2003301510073100134EF20103AD3
|
||||
:1000B00017350000130505BA6F20D01583224508B7
|
||||
:1000C0007390121483204500032185008321C5000D
|
||||
:1000D0000322050183224501032385018323C501F2
|
||||
:1000E00003240502832445028325C5020326050354
|
||||
:1000F00083264503032785038327C50303280504B7
|
||||
:1001000083284504032985048329C504032A05059A
|
||||
:10011000832A4505032B8505832BC505032C05067E
|
||||
:10012000832C4506032D8506832DC506032E050762
|
||||
:10013000832E4507032F8507832FC50703258502D7
|
||||
:1001400073002010731101142322110023263100A3
|
||||
:1001500023284100232A5100232C6100232E710003
|
||||
:1001600023208102232291022324A1022326B1020B
|
||||
:100170002328C102232AD102232CE102232EF102DB
|
||||
:1001800023200105232211052324210523263105DF
|
||||
:1001900023284105232A5105232C6105232E7105AF
|
||||
:1001A00023208107232291072324A1072326B107B7
|
||||
:1001B0002328C107232AD107232CE107232EF10787
|
||||
:1001C000F312011423245100F322001023205108BC
|
||||
:1001D000F322101423225108F3223014232451084F
|
||||
:1001E000F322201423265108130501006F20004735
|
||||
:1010000000000000000000000000000000000000E0
|
||||
:1010100000000000000000000000000000000000D0
|
||||
:1010200000000000000000000000000000000000C0
|
||||
:1010300000000000000000000000000000000000B0
|
||||
:081040000000000000000000A8
|
||||
:10200000B3E7C500B367F50093F73700B306C50023
|
||||
:10201000638407023386C50093070500637ED502FB
|
||||
:1020200003C705009385150093871700A38FE7FE6C
|
||||
:10203000E398C5FE67800000E37ED5FE93070500A8
|
||||
:1020400003A70500938747009385450023AEE7FE6D
|
||||
:10205000E3E8D7FE6780000067800000B367C50033
|
||||
:1020600093F737003306C5006380070293F5F50F39
|
||||
:10207000930705006370C50493871700A38FB7FE0D
|
||||
:10208000E31CF6FE6780000093F5F50F939785003B
|
||||
:10209000B3E7B70093950701B3E5F500E374C5FE18
|
||||
:1020A000930705009387470023AEB7FEE3ECC7FE16
|
||||
:1020B000678000006780000083470500638E07008B
|
||||
:1020C0009307050003C7170093871700E31C07FE5B
|
||||
:1020D0003385A7406780000013050000678000007B
|
||||
:1020E00083470500938515001305150003C7F5FF09
|
||||
:1020F00063880700E386E7FE3385E74067800000DA
|
||||
:10210000930700006FF05FFFB367B50093F73700E8
|
||||
:10211000639E07021378C6FF330805016378050341
|
||||
:10212000930705006F0000019387470093854500E2
|
||||
:1021300063F8070183A6070003A70500E386E6FE10
|
||||
:102140003385A7403306A640138507003386C500B4
|
||||
:102150006F00400103C705008347F5FF9385150015
|
||||
:10216000639AE70013051500E396C5FE130500000A
|
||||
:10217000678000003385E740678000009307050013
|
||||
:1021800003C705009387170093851500A38FE7FE0B
|
||||
:10219000E31807FE6780000003470500930600026E
|
||||
:1021A000930705006318D70003C71700938717002C
|
||||
:1021B000E30CD7FE9306D0026300D7069306B00265
|
||||
:1021C0006300D70483C607009305000063820604FA
|
||||
:1021D0001305000093871700138606FD13172500CB
|
||||
:1021E00083C607003305A700131515003305A600A5
|
||||
:1021F000E39206FE638005023305A040678000007D
|
||||
:1022000083C617009305000093871700E39206FC2E
|
||||
:10221000130500006780000083C6170093051000B7
|
||||
:1022200093871700E39606FA130500006FF09FFEF0
|
||||
:1022300017F6FFFF130606DD032706008327460077
|
||||
:102240009355F5413367F7006306070297F6FFFFE2
|
||||
:10225000938646DF9307000023A0F60013080000D2
|
||||
:1022600023A2060103270600832746003367F700F1
|
||||
:10227000E31207FE2320A6002322B6006F00000011
|
||||
:10228000130101FF1305903423261100EFF05FFACC
|
||||
:10229000130101FE1306C1001307B10113039000DF
|
||||
:1022A0006F008000138707009377F500B337F300C2
|
||||
:1022B000B307F04093F777029376F500938707030F
|
||||
:1022C000B387F6002300F7009396C5011355450028
|
||||
:1022D0009307F7FF33E5A60093D54500E314E6FC2A
|
||||
:1022E0000345C100230E01006302050693050600A5
|
||||
:1022F00097F6FFFF938606D117F6FFFF130686D4E5
|
||||
:1023000003A7060083A74600130805009385150060
|
||||
:102310003367F700B70801016302070213070000E3
|
||||
:102320002320E600930700002322F60003A70600FF
|
||||
:1023300083A746003367F700E31207FE03C50500D5
|
||||
:1023400023A0060123A21601E31C05FA13010102D2
|
||||
:102350006780000037F6FFFF3307C500B7E70300CB
|
||||
:102360006370F7149356C50093820640172300004C
|
||||
:10237000130343C993972200B307F30003A7070091
|
||||
:102380003375C5006306070293760704638C060E57
|
||||
:1023900093760708639206189306F000639ED5169D
|
||||
:1023A0001367070823A0E700730005126780000089
|
||||
:1023B0001747000013074704832507006384051CA3
|
||||
:1023C00083A74500174600000326C6022320F70016
|
||||
:1023D0006382C70C03A7050093972200B307F3009D
|
||||
:1023E0001357C7001317A700136EF70D1366F701F5
|
||||
:1023F00023A0C7017300051297470000938707E0E9
|
||||
:1024000093963600B386D70083A706006392071E13
|
||||
:1024100083A7050023A0F60083A74500B7050400A5
|
||||
:1024200023A2F600F3A50510B707C0FFB307F50018
|
||||
:10243000B716000013070500B386D70083AE070068
|
||||
:1024400003AE470083A8870003A8C7002320D70155
|
||||
:102450002322C7012324170123260701938707019D
|
||||
:1024600013070701E39CD7FC739005109397220094
|
||||
:10247000B307F30023A0C700730005120F1000007C
|
||||
:10248000678000001367070423A0E70073000512AC
|
||||
:10249000678000009747000023AE07F46FF09FF3BA
|
||||
:1024A00013051004971500009385858297F6FFFFAA
|
||||
:1024B000938646B517F6FFFF1306C6B803A70600B6
|
||||
:1024C00083A7460013030500938515003367F700C3
|
||||
:1024D000B703010163020702930700002320F600FF
|
||||
:1024E000130800002322060103A7060083A7460065
|
||||
:1024F0003367F700E31207FE03C5050023A066005B
|
||||
:1025000023A27600E31C05FA130101FF1305300036
|
||||
:1025100023261100EFF0DFD113051004970500000A
|
||||
:102520009385457F97F6FFFF9386C6AD17F6FFFFAD
|
||||
:10253000130646B103A7060083A74600130E050045
|
||||
:10254000938515003367F700B70E01016302070298
|
||||
:10255000930700002320F600130800002322060141
|
||||
:1025600003A7060083A746003367F700E31207FEC0
|
||||
:1025700003C5050023A0C60123A2D601E31C05FA6A
|
||||
:102580006FF09FF813051004970500009385057DF3
|
||||
:1025900097F6FFFF938606A717F6FFFF130686AA96
|
||||
:1025A00003A7060083A74600130F050093851500B7
|
||||
:1025B0003367F700B70F01016302070293070000BA
|
||||
:1025C0002320F600130800002322060103A70600BB
|
||||
:1025D00083A746003367F700E31207FE03C5050033
|
||||
:1025E00023A0E60123A2F601E31C05FA6FF0DFF158
|
||||
:1025F00013051004970500009385C57797F6FFFF34
|
||||
:10260000938646A017F6FFFF1306C6A303A706008E
|
||||
:1026100083A7460013080500938515003367F7006C
|
||||
:10262000B708010163020702130700002320E60038
|
||||
:10263000930700002322F60003A7060083A74600A5
|
||||
:102640003367F700E31207FE03C5050023A0060168
|
||||
:1026500023A21601E31C05FA6FF01FEB8325C508C2
|
||||
:10266000130101FB23248104232611042322910456
|
||||
:1026700023202105232E3103232C4103232A510338
|
||||
:10268000232861032326710323248103232291033A
|
||||
:102690002320A103232EB10193078000130405001A
|
||||
:1026A0006386F516930720006380F506938745FF40
|
||||
:1026B000130710006376F7009307F0006392F5228A
|
||||
:1026C00003258408EFF01FC91305040003248104C7
|
||||
:1026D0008320C10483244104032901048329C10305
|
||||
:1026E000032A8103832A4103032B0103832BC102A5
|
||||
:1026F000032C8102832C4102032D0102832DC10191
|
||||
:10270000130101056FD09F9B03274508937737007E
|
||||
:1027100063980708EF078000731030000327070055
|
||||
:1027200083A70700630AF706130510049705000046
|
||||
:102730009385C57097F6FFFF9386C68C17F6FFFF4B
|
||||
:102740001306469003A7060083A74600130805005A
|
||||
:10275000938515003367F700B7080101630207028C
|
||||
:10276000130700002320E600930700002322F60051
|
||||
:1027700003A7060083A746003367F700E31207FEAE
|
||||
:1027800003C5050023A0060123A21601E31C05FAD8
|
||||
:1027900013053000EFF0DFA913051000EFF05FA97B
|
||||
:1027A00097050000938545671306100497F6FFFF11
|
||||
:1027B0009386468517F5FFFF1305C58803A7060016
|
||||
:1027C00083A74600130E0600938515003367F700B4
|
||||
:1027D000B70E010163020702930700002320F500F2
|
||||
:1027E000130800002322050103A7060083A7460063
|
||||
:1027F0003367F700E31207FE03C6050023A0C601F6
|
||||
:1028000023A2D601E31C06FA6FF09FF8032B850282
|
||||
:10281000371C0000974400009384449E171D00005D
|
||||
:10282000130D4D7EB70C0400974B0000938B8BBCAF
|
||||
:102830006F00C00123A2870023A08B00B717000000
|
||||
:10284000330CFC00B7F703006302FC1C9357CC0069
|
||||
:10285000139437003386840003260600E30006FE47
|
||||
:102860009387074093972700B307FD0083A70700CE
|
||||
:1028700013F60704630C06122326F100F3AD0C10C7
|
||||
:10288000B707C0FFB305FC003716000013050C00A6
|
||||
:102890002324B100EFF05F87630005028327C100A6
|
||||
:1028A0008325810093F707086382070A3716000023
|
||||
:1028B00013050C00EFF0CFF43384840073900D10F7
|
||||
:1028C00083A70B0023200400E39607F69747000038
|
||||
:1028D000938787B223A08B0023A087006FF01FF699
|
||||
:1028E00093051004170600001306065897E6FFFF2D
|
||||
:1028F0009386467117E5FFFF1305C57403A706000D
|
||||
:1029000083A7460013830500130616003367F700FC
|
||||
:10291000B703010163020702930700002320F500BB
|
||||
:10292000130800002322050103A7060083A7460021
|
||||
:102930003367F700E31207FE8345060023A0660015
|
||||
:1029400023A27600E39C05FA6FF09FE4930710043E
|
||||
:10295000170600001306064997E6FFFF9386866A6E
|
||||
:1029600097E5FFFF9385056E138907001306160090
|
||||
:10297000B70901016F004001930700001308000030
|
||||
:1029800023A0F50023A2050103A7060083A74600A4
|
||||
:102990003367F700E31207FE8347060023A02601F2
|
||||
:1029A00023A23601E39207FC6FF09FDE9307100429
|
||||
:1029B000170600001306C63F97E6FFFF938686645E
|
||||
:1029C00097E5FFFF93850568138A07001306160035
|
||||
:1029D000B70A01016F0040019307000013080000CF
|
||||
:1029E00023A0F50023A2050103A7060083A7460044
|
||||
:1029F0003367F700E31207FE8347060023A0460172
|
||||
:102A000023A25601E39207FC6FF09FD813050B0039
|
||||
:102A1000EFF01F82F32740F163920716172600009C
|
||||
:102A20001306465E9357C600130101F69397A7005D
|
||||
:102A3000232E1108232C8108971500009385855CAF
|
||||
:102A400093E7170023A0F500B707002093D6C50031
|
||||
:102A5000370700809387F70C232EF6FEB3E7E600D6
|
||||
:102A600073900718F3260018639AD716130405000D
|
||||
:102A70001347F7FF9307F00197020000938242018A
|
||||
:102A8000F39252307310073B7390073A97D7BF7F8A
|
||||
:102A90009387876B73905710F3270034B708C07F74
|
||||
:102AA000B387170173900714B7B700009387071017
|
||||
:102AB00073902730B7E701007390073073504030B0
|
||||
:102AC0009737C07F93870754174700002326F79254
|
||||
:102AD0009737C07F9387077217470000232CF79022
|
||||
:102AE00037030800173700001307C751173E0000CF
|
||||
:102AF000130ECE7093074000930500001303F303F9
|
||||
:102B0000938888001396F50193D61700B366D60014
|
||||
:102B100033866700B3C7F600330817011316C600E3
|
||||
:102B2000939757002320C7002322070193F707023A
|
||||
:102B300013078700B3E7F60093D51500E314EEFC06
|
||||
:102B400013060009930500001305010097370000E4
|
||||
:102B500023A4076AEFF08FD0B70700803304F40096
|
||||
:102B60001305010023228108EFD04FD58320C1092E
|
||||
:102B7000032481091301010A67800000B7B7F50F2C
|
||||
:102B8000B7050800938767D2130700009385C5FF38
|
||||
:102B900037080080370500406F00C0022FA00600F4
|
||||
:102BA0001316F70193D61700B366D600B3C7D70044
|
||||
:102BB0009397E7013376F5001357170093870600C4
|
||||
:102BC0003367E600B3F6B70013F61700B3860601C5
|
||||
:102BD000E31606FC03A006006FF09FFC93051004AB
|
||||
:102BE000170600001306062B97E6FFFF9386864123
|
||||
:102BF00017E5FFFF1305054503A7060083A7460059
|
||||
:102C000013880500130616003367F700B7080101A3
|
||||
:102C100063020702130700002320E500930700006A
|
||||
:102C20002322F50003A7060083A746003367F700B9
|
||||
:102C3000E31207FE8345060023A0060123A2160126
|
||||
:102C4000E39C05FA13053000EFF08FDE678000008B
|
||||
:102C50003705008093050080970600009386863A2A
|
||||
:102C600023A0A6002FA7B6E0B70E00809301200096
|
||||
:102C70006310D70583A70600930E008093013000F0
|
||||
:102C80006398D7039305F0FF23A006002FA7B6E0B3
|
||||
:102C9000930E000093014000631CD70183A7060038
|
||||
:102CA000930EF0FF930150006394D701631A300034
|
||||
:102CB00013951100630005001365150073000000F3
|
||||
:0C2CC0001305100073000000731000C02A
|
||||
:102CCC00417373657274696F6E206661696C6564BB
|
||||
:102CDC003A2061646472203E3D202831554C203CE2
|
||||
:102CEC003C203132292026262061646472203C204D
|
||||
:102CFC003633202A202831554C203C3C20313229B7
|
||||
:102D0C000A000000417373657274696F6E2066610E
|
||||
:102D1C00696C65643A20212870745B315D5B616479
|
||||
:102D2C0064722F2831554C203C3C203132295D20D7
|
||||
:102D3C0026203078303830292026262063617573A0
|
||||
:102D4C0065203D3D203078660A00000041737365B4
|
||||
:102D5C007274696F6E206661696C65643A206E6F7F
|
||||
:102D6C0064650A00417373657274696F6E206661E5
|
||||
:102D7C00696C65643A20757365725F6D617070691A
|
||||
:102D8C006E675B616464722F2831554C203C3C208B
|
||||
:102D9C003132295D2E61646472203D3D20300A0081
|
||||
:102DAC00417373657274696F6E206661696C6564DA
|
||||
:102DBC003A2070745B315D5B616464722F2831550D
|
||||
:102DCC004C203C3C203132295D2026203078303498
|
||||
:102DDC00300A0000417373657274696F6E2066610E
|
||||
:102DEC00696C65643A2070745B315D5B616464721C
|
||||
:102DFC002F2831554C203C3C203132295D20262097
|
||||
:102E0C0030783038300A0000417373657274696F22
|
||||
:102E1C006E206661696C65643A2074662D3E65703F
|
||||
:102E2C006320252034203D3D20300A00417373651A
|
||||
:102E3C007274696F6E206661696C65643A20212238
|
||||
:102E4C00696C6C6567616C20696E73747275637400
|
||||
:102E5C00696F6E220A000000417373657274696FAA
|
||||
:102E6C006E206661696C65643A202122756E657806
|
||||
:102E7C0070656374656420657863657074696F6EE2
|
||||
:102E8C00220A0000417373657274696F6E2066616B
|
||||
:102E9C00696C65643A202122756E737570706F725F
|
||||
:102EAC007465642073617470206D6F6465220A0010
|
||||
:040000058000000077
|
||||
:00000001FF
|
|
@ -1,275 +0,0 @@
|
|||
:0200000480007A
|
||||
:100000006F00C0006F20C0276F2080279300000082
|
||||
:10001000130100009301000013020000930200008E
|
||||
:100020001303000093030000130400009304000076
|
||||
:10003000130500009305000013060000930600005E
|
||||
:100040001307000093070000130800009308000046
|
||||
:100050001309000093090000130A0000930A00002E
|
||||
:10006000130B0000930B0000130C0000930C000016
|
||||
:10007000130D0000930D0000130E0000930E0000FE
|
||||
:10008000130F0000930F000097020000938202F804
|
||||
:1000900073905230177100001301412DF32240F18B
|
||||
:1000A0009392C2003301510073100134EF20103AD3
|
||||
:1000B00017350000130505BA6F20D01583224508B7
|
||||
:1000C0007390121483204500032185008321C5000D
|
||||
:1000D0000322050183224501032385018323C501F2
|
||||
:1000E00003240502832445028325C5020326050354
|
||||
:1000F00083264503032785038327C50303280504B7
|
||||
:1001000083284504032985048329C504032A05059A
|
||||
:10011000832A4505032B8505832BC505032C05067E
|
||||
:10012000832C4506032D8506832DC506032E050762
|
||||
:10013000832E4507032F8507832FC50703258502D7
|
||||
:1001400073002010731101142322110023263100A3
|
||||
:1001500023284100232A5100232C6100232E710003
|
||||
:1001600023208102232291022324A1022326B1020B
|
||||
:100170002328C102232AD102232CE102232EF102DB
|
||||
:1001800023200105232211052324210523263105DF
|
||||
:1001900023284105232A5105232C6105232E7105AF
|
||||
:1001A00023208107232291072324A1072326B107B7
|
||||
:1001B0002328C107232AD107232CE107232EF10787
|
||||
:1001C000F312011423245100F322001023205108BC
|
||||
:1001D000F322101423225108F3223014232451084F
|
||||
:1001E000F322201423265108130501006F20004735
|
||||
:1010000000000000000000000000000000000000E0
|
||||
:1010100000000000000000000000000000000000D0
|
||||
:1010200000000000000000000000000000000000C0
|
||||
:1010300000000000000000000000000000000000B0
|
||||
:081040000000000000000000A8
|
||||
:10200000B3E7C500B367F50093F73700B306C50023
|
||||
:10201000638407023386C50093070500637ED502FB
|
||||
:1020200003C705009385150093871700A38FE7FE6C
|
||||
:10203000E398C5FE67800000E37ED5FE93070500A8
|
||||
:1020400003A70500938747009385450023AEE7FE6D
|
||||
:10205000E3E8D7FE6780000067800000B367C50033
|
||||
:1020600093F737003306C5006380070293F5F50F39
|
||||
:10207000930705006370C50493871700A38FB7FE0D
|
||||
:10208000E31CF6FE6780000093F5F50F939785003B
|
||||
:10209000B3E7B70093950701B3E5F500E374C5FE18
|
||||
:1020A000930705009387470023AEB7FEE3ECC7FE16
|
||||
:1020B000678000006780000083470500638E07008B
|
||||
:1020C0009307050003C7170093871700E31C07FE5B
|
||||
:1020D0003385A7406780000013050000678000007B
|
||||
:1020E00083470500938515001305150003C7F5FF09
|
||||
:1020F00063880700E386E7FE3385E74067800000DA
|
||||
:10210000930700006FF05FFFB367B50093F73700E8
|
||||
:10211000639E07021378C6FF330805016378050341
|
||||
:10212000930705006F0000019387470093854500E2
|
||||
:1021300063F8070183A6070003A70500E386E6FE10
|
||||
:102140003385A7403306A640138507003386C500B4
|
||||
:102150006F00400103C705008347F5FF9385150015
|
||||
:10216000639AE70013051500E396C5FE130500000A
|
||||
:10217000678000003385E740678000009307050013
|
||||
:1021800003C705009387170093851500A38FE7FE0B
|
||||
:10219000E31807FE6780000003470500930600026E
|
||||
:1021A000930705006318D70003C71700938717002C
|
||||
:1021B000E30CD7FE9306D0026300D7069306B00265
|
||||
:1021C0006300D70483C607009305000063820604FA
|
||||
:1021D0001305000093871700138606FD13172500CB
|
||||
:1021E00083C607003305A700131515003305A600A5
|
||||
:1021F000E39206FE638005023305A040678000007D
|
||||
:1022000083C617009305000093871700E39206FC2E
|
||||
:10221000130500006780000083C6170093051000B7
|
||||
:1022200093871700E39606FA130500006FF09FFEF0
|
||||
:1022300017F6FFFF130606DD032706008327460077
|
||||
:102240009355F5413367F7006306070297F6FFFFE2
|
||||
:10225000938646DF9307000023A0F60013080000D2
|
||||
:1022600023A2060103270600832746003367F700F1
|
||||
:10227000E31207FE2320A6002322B6006F00000011
|
||||
:10228000130101FF1305903423261100EFF05FFACC
|
||||
:10229000130101FE1306C1001307B10113039000DF
|
||||
:1022A0006F008000138707009377F500B337F300C2
|
||||
:1022B000B307F04093F777029376F500938707030F
|
||||
:1022C000B387F6002300F7009396C5011355450028
|
||||
:1022D0009307F7FF33E5A60093D54500E314E6FC2A
|
||||
:1022E0000345C100230E01006302050693050600A5
|
||||
:1022F00097F6FFFF938606D117F6FFFF130686D4E5
|
||||
:1023000003A7060083A74600130805009385150060
|
||||
:102310003367F700B70801016302070213070000E3
|
||||
:102320002320E600930700002322F60003A70600FF
|
||||
:1023300083A746003367F700E31207FE03C50500D5
|
||||
:1023400023A0060123A21601E31C05FA13010102D2
|
||||
:102350006780000037F6FFFF3307C500B7E70300CB
|
||||
:102360006370F7149356C50093820640172300004C
|
||||
:10237000130343C993972200B307F30003A7070091
|
||||
:102380003375C5006306070293760704638C060E57
|
||||
:1023900093760708639206189306F000639ED5169D
|
||||
:1023A0001367070823A0E700730005126780000089
|
||||
:1023B0001747000013074704832507006384051CA3
|
||||
:1023C00083A74500174600000326C6022320F70016
|
||||
:1023D0006382C70C03A7050093972200B307F3009D
|
||||
:1023E0001357C7001317A700136EF70D1366F701F5
|
||||
:1023F00023A0C7017300051297470000938707E0E9
|
||||
:1024000093963600B386D70083A706006392071E13
|
||||
:1024100083A7050023A0F60083A74500B7050400A5
|
||||
:1024200023A2F600F3A50510B707C0FFB307F50018
|
||||
:10243000B716000013070500B386D70083AE070068
|
||||
:1024400003AE470083A8870003A8C7002320D70155
|
||||
:102450002322C7012324170123260701938707019D
|
||||
:1024600013070701E39CD7FC739005109397220094
|
||||
:10247000B307F30023A0C700730005120F1000007C
|
||||
:10248000678000001367070423A0E70073000512AC
|
||||
:10249000678000009747000023AE07F46FF09FF3BA
|
||||
:1024A00013051004971500009385858297F6FFFFAA
|
||||
:1024B000938646B517F6FFFF1306C6B803A70600B6
|
||||
:1024C00083A7460013030500938515003367F700C3
|
||||
:1024D000B703010163020702930700002320F600FF
|
||||
:1024E000130800002322060103A7060083A7460065
|
||||
:1024F0003367F700E31207FE03C5050023A066005B
|
||||
:1025000023A27600E31C05FA130101FF1305300036
|
||||
:1025100023261100EFF0DFD113051004970500000A
|
||||
:102520009385457F97F6FFFF9386C6AD17F6FFFFAD
|
||||
:10253000130646B103A7060083A74600130E050045
|
||||
:10254000938515003367F700B70E01016302070298
|
||||
:10255000930700002320F600130800002322060141
|
||||
:1025600003A7060083A746003367F700E31207FEC0
|
||||
:1025700003C5050023A0C60123A2D601E31C05FA6A
|
||||
:102580006FF09FF813051004970500009385057DF3
|
||||
:1025900097F6FFFF938606A717F6FFFF130686AA96
|
||||
:1025A00003A7060083A74600130F050093851500B7
|
||||
:1025B0003367F700B70F01016302070293070000BA
|
||||
:1025C0002320F600130800002322060103A70600BB
|
||||
:1025D00083A746003367F700E31207FE03C5050033
|
||||
:1025E00023A0E60123A2F601E31C05FA6FF0DFF158
|
||||
:1025F00013051004970500009385C57797F6FFFF34
|
||||
:10260000938646A017F6FFFF1306C6A303A706008E
|
||||
:1026100083A7460013080500938515003367F7006C
|
||||
:10262000B708010163020702130700002320E60038
|
||||
:10263000930700002322F60003A7060083A74600A5
|
||||
:102640003367F700E31207FE03C5050023A0060168
|
||||
:1026500023A21601E31C05FA6FF01FEB8325C508C2
|
||||
:10266000130101FB23248104232611042322910456
|
||||
:1026700023202105232E3103232C4103232A510338
|
||||
:10268000232861032326710323248103232291033A
|
||||
:102690002320A103232EB10193078000130405001A
|
||||
:1026A0006386F516930720006380F506938745FF40
|
||||
:1026B000130710006376F7009307F0006392F5228A
|
||||
:1026C00003258408EFF01FC91305040003248104C7
|
||||
:1026D0008320C10483244104032901048329C10305
|
||||
:1026E000032A8103832A4103032B0103832BC102A5
|
||||
:1026F000032C8102832C4102032D0102832DC10191
|
||||
:10270000130101056FD09F9B03274508937737007E
|
||||
:1027100063980708EF078000731030000327070055
|
||||
:1027200083A70700630AF706130510049705000046
|
||||
:102730009385C57097F6FFFF9386C68C17F6FFFF4B
|
||||
:102740001306469003A7060083A74600130805005A
|
||||
:10275000938515003367F700B7080101630207028C
|
||||
:10276000130700002320E600930700002322F60051
|
||||
:1027700003A7060083A746003367F700E31207FEAE
|
||||
:1027800003C5050023A0060123A21601E31C05FAD8
|
||||
:1027900013053000EFF0DFA913051000EFF05FA97B
|
||||
:1027A00097050000938545671306100497F6FFFF11
|
||||
:1027B0009386468517F5FFFF1305C58803A7060016
|
||||
:1027C00083A74600130E0600938515003367F700B4
|
||||
:1027D000B70E010163020702930700002320F500F2
|
||||
:1027E000130800002322050103A7060083A7460063
|
||||
:1027F0003367F700E31207FE03C6050023A0C601F6
|
||||
:1028000023A2D601E31C06FA6FF09FF8032B850282
|
||||
:10281000371C0000974400009384449E171D00005D
|
||||
:10282000130D4D7EB70C0400974B0000938B8BBCAF
|
||||
:102830006F00C00123A2870023A08B00B717000000
|
||||
:10284000330CFC00B7F703006302FC1C9357CC0069
|
||||
:10285000139437003386840003260600E30006FE47
|
||||
:102860009387074093972700B307FD0083A70700CE
|
||||
:1028700013F60704630C06122326F100F3AD0C10C7
|
||||
:10288000B707C0FFB305FC003716000013050C00A6
|
||||
:102890002324B100EFF05F87630005028327C100A6
|
||||
:1028A0008325810093F707086382070A3716000023
|
||||
:1028B00013050C00EFF0CFF43384840073900D10F7
|
||||
:1028C00083A70B0023200400E39607F69747000038
|
||||
:1028D000938787B223A08B0023A087006FF01FF699
|
||||
:1028E00093051004170600001306065897E6FFFF2D
|
||||
:1028F0009386467117E5FFFF1305C57403A706000D
|
||||
:1029000083A7460013830500130616003367F700FC
|
||||
:10291000B703010163020702930700002320F500BB
|
||||
:10292000130800002322050103A7060083A7460021
|
||||
:102930003367F700E31207FE8345060023A0660015
|
||||
:1029400023A27600E39C05FA6FF09FE4930710043E
|
||||
:10295000170600001306064997E6FFFF9386866A6E
|
||||
:1029600097E5FFFF9385056E138907001306160090
|
||||
:10297000B70901016F004001930700001308000030
|
||||
:1029800023A0F50023A2050103A7060083A74600A4
|
||||
:102990003367F700E31207FE8347060023A02601F2
|
||||
:1029A00023A23601E39207FC6FF09FDE9307100429
|
||||
:1029B000170600001306C63F97E6FFFF938686645E
|
||||
:1029C00097E5FFFF93850568138A07001306160035
|
||||
:1029D000B70A01016F0040019307000013080000CF
|
||||
:1029E00023A0F50023A2050103A7060083A7460044
|
||||
:1029F0003367F700E31207FE8347060023A0460172
|
||||
:102A000023A25601E39207FC6FF09FD813050B0039
|
||||
:102A1000EFF01F82F32740F163920716172600009C
|
||||
:102A20001306465E9357C600130101F69397A7005D
|
||||
:102A3000232E1108232C8108971500009385855CAF
|
||||
:102A400093E7170023A0F500B707002093D6C50031
|
||||
:102A5000370700809387F70C232EF6FEB3E7E600D6
|
||||
:102A600073900718F3260018639AD716130405000D
|
||||
:102A70001347F7FF9307F00197020000938242018A
|
||||
:102A8000F39252307310073B7390073A97D7BF7F8A
|
||||
:102A90009387876B73905710F3270034B708C07F74
|
||||
:102AA000B387170173900714B7B700009387071017
|
||||
:102AB00073902730B7E701007390073073504030B0
|
||||
:102AC0009737C07F93870754174700002326F79254
|
||||
:102AD0009737C07F9387077217470000232CF79022
|
||||
:102AE00037030800173700001307C751173E0000CF
|
||||
:102AF000130ECE709307E003930500001303F30356
|
||||
:102B0000938888001396F50193D61700B366D60014
|
||||
:102B100033866700B3C7F600330817011316C600E3
|
||||
:102B2000939757002320C7002322070193F707023A
|
||||
:102B300013078700B3E7F60093D51500E314EEFC06
|
||||
:102B400013060009930500001305010097370000E4
|
||||
:102B500023A4076AEFF08FD0B70700803304F40096
|
||||
:102B60001305010023228108EFD04FD58320C1092E
|
||||
:102B7000032481091301010A67800000B777470029
|
||||
:102B8000B7050800938767FB130700009385C5FF0F
|
||||
:102B900037080080370500406F00C0022FA00600F4
|
||||
:102BA0001316F70193D61700B366D600B3C7D70044
|
||||
:102BB0009397E7013376F5001357170093870600C4
|
||||
:102BC0003367E600B3F6B70013F61700B3860601C5
|
||||
:102BD000E31606FC03A006006FF09FFC93051004AB
|
||||
:102BE000170600001306062B97E6FFFF9386864123
|
||||
:102BF00017E5FFFF1305054503A7060083A7460059
|
||||
:102C000013880500130616003367F700B7080101A3
|
||||
:102C100063020702130700002320E500930700006A
|
||||
:102C20002322F50003A7060083A746003367F700B9
|
||||
:102C3000E31207FE8345060023A0060123A2160126
|
||||
:102C4000E39C05FA13053000EFF08FDE678000008B
|
||||
:102C50003705008093050080970600009386863A2A
|
||||
:102C600023A0A6002FA7B680B70E008093012000F6
|
||||
:102C70006310D70583A70600B70E008093013000CC
|
||||
:102C80006398D7039305F0FF23A006002FA7B68013
|
||||
:102C9000930E000093014000631CD70183A7060038
|
||||
:102CA000930EF0FF930150006394D701631A300034
|
||||
:102CB00013951100630005001365150073000000F3
|
||||
:0C2CC0001305100073000000731000C02A
|
||||
:102CCC00417373657274696F6E206661696C6564BB
|
||||
:102CDC003A2061646472203E3D202831554C203CE2
|
||||
:102CEC003C203132292026262061646472203C204D
|
||||
:102CFC003633202A202831554C203C3C20313229B7
|
||||
:102D0C000A000000417373657274696F6E2066610E
|
||||
:102D1C00696C65643A20212870745B315D5B616479
|
||||
:102D2C0064722F2831554C203C3C203132295D20D7
|
||||
:102D3C0026203078303830292026262063617573A0
|
||||
:102D4C0065203D3D203078660A00000041737365B4
|
||||
:102D5C007274696F6E206661696C65643A206E6F7F
|
||||
:102D6C0064650A00417373657274696F6E206661E5
|
||||
:102D7C00696C65643A20757365725F6D617070691A
|
||||
:102D8C006E675B616464722F2831554C203C3C208B
|
||||
:102D9C003132295D2E61646472203D3D20300A0081
|
||||
:102DAC00417373657274696F6E206661696C6564DA
|
||||
:102DBC003A2070745B315D5B616464722F2831550D
|
||||
:102DCC004C203C3C203132295D2026203078303498
|
||||
:102DDC00300A0000417373657274696F6E2066610E
|
||||
:102DEC00696C65643A2070745B315D5B616464721C
|
||||
:102DFC002F2831554C203C3C203132295D20262097
|
||||
:102E0C0030783038300A0000417373657274696F22
|
||||
:102E1C006E206661696C65643A2074662D3E65703F
|
||||
:102E2C006320252034203D3D20300A00417373651A
|
||||
:102E3C007274696F6E206661696C65643A20212238
|
||||
:102E4C00696C6C6567616C20696E73747275637400
|
||||
:102E5C00696F6E220A000000417373657274696FAA
|
||||
:102E6C006E206661696C65643A202122756E657806
|
||||
:102E7C0070656374656420657863657074696F6EE2
|
||||
:102E8C00220A0000417373657274696F6E2066616B
|
||||
:102E9C00696C65643A202122756E737570706F725F
|
||||
:102EAC007465642073617470206D6F6465220A0010
|
||||
:040000058000000077
|
||||
:00000001FF
|
|
@ -1,275 +0,0 @@
|
|||
:0200000480007A
|
||||
:100000006F00C0006F20C0276F2080279300000082
|
||||
:10001000130100009301000013020000930200008E
|
||||
:100020001303000093030000130400009304000076
|
||||
:10003000130500009305000013060000930600005E
|
||||
:100040001307000093070000130800009308000046
|
||||
:100050001309000093090000130A0000930A00002E
|
||||
:10006000130B0000930B0000130C0000930C000016
|
||||
:10007000130D0000930D0000130E0000930E0000FE
|
||||
:10008000130F0000930F000097020000938202F804
|
||||
:1000900073905230177100001301412DF32240F18B
|
||||
:1000A0009392C2003301510073100134EF20103AD3
|
||||
:1000B00017350000130505BA6F20D01583224508B7
|
||||
:1000C0007390121483204500032185008321C5000D
|
||||
:1000D0000322050183224501032385018323C501F2
|
||||
:1000E00003240502832445028325C5020326050354
|
||||
:1000F00083264503032785038327C50303280504B7
|
||||
:1001000083284504032985048329C504032A05059A
|
||||
:10011000832A4505032B8505832BC505032C05067E
|
||||
:10012000832C4506032D8506832DC506032E050762
|
||||
:10013000832E4507032F8507832FC50703258502D7
|
||||
:1001400073002010731101142322110023263100A3
|
||||
:1001500023284100232A5100232C6100232E710003
|
||||
:1001600023208102232291022324A1022326B1020B
|
||||
:100170002328C102232AD102232CE102232EF102DB
|
||||
:1001800023200105232211052324210523263105DF
|
||||
:1001900023284105232A5105232C6105232E7105AF
|
||||
:1001A00023208107232291072324A1072326B107B7
|
||||
:1001B0002328C107232AD107232CE107232EF10787
|
||||
:1001C000F312011423245100F322001023205108BC
|
||||
:1001D000F322101423225108F3223014232451084F
|
||||
:1001E000F322201423265108130501006F20004735
|
||||
:1010000000000000000000000000000000000000E0
|
||||
:1010100000000000000000000000000000000000D0
|
||||
:1010200000000000000000000000000000000000C0
|
||||
:1010300000000000000000000000000000000000B0
|
||||
:081040000000000000000000A8
|
||||
:10200000B3E7C500B367F50093F73700B306C50023
|
||||
:10201000638407023386C50093070500637ED502FB
|
||||
:1020200003C705009385150093871700A38FE7FE6C
|
||||
:10203000E398C5FE67800000E37ED5FE93070500A8
|
||||
:1020400003A70500938747009385450023AEE7FE6D
|
||||
:10205000E3E8D7FE6780000067800000B367C50033
|
||||
:1020600093F737003306C5006380070293F5F50F39
|
||||
:10207000930705006370C50493871700A38FB7FE0D
|
||||
:10208000E31CF6FE6780000093F5F50F939785003B
|
||||
:10209000B3E7B70093950701B3E5F500E374C5FE18
|
||||
:1020A000930705009387470023AEB7FEE3ECC7FE16
|
||||
:1020B000678000006780000083470500638E07008B
|
||||
:1020C0009307050003C7170093871700E31C07FE5B
|
||||
:1020D0003385A7406780000013050000678000007B
|
||||
:1020E00083470500938515001305150003C7F5FF09
|
||||
:1020F00063880700E386E7FE3385E74067800000DA
|
||||
:10210000930700006FF05FFFB367B50093F73700E8
|
||||
:10211000639E07021378C6FF330805016378050341
|
||||
:10212000930705006F0000019387470093854500E2
|
||||
:1021300063F8070183A6070003A70500E386E6FE10
|
||||
:102140003385A7403306A640138507003386C500B4
|
||||
:102150006F00400103C705008347F5FF9385150015
|
||||
:10216000639AE70013051500E396C5FE130500000A
|
||||
:10217000678000003385E740678000009307050013
|
||||
:1021800003C705009387170093851500A38FE7FE0B
|
||||
:10219000E31807FE6780000003470500930600026E
|
||||
:1021A000930705006318D70003C71700938717002C
|
||||
:1021B000E30CD7FE9306D0026300D7069306B00265
|
||||
:1021C0006300D70483C607009305000063820604FA
|
||||
:1021D0001305000093871700138606FD13172500CB
|
||||
:1021E00083C607003305A700131515003305A600A5
|
||||
:1021F000E39206FE638005023305A040678000007D
|
||||
:1022000083C617009305000093871700E39206FC2E
|
||||
:10221000130500006780000083C6170093051000B7
|
||||
:1022200093871700E39606FA130500006FF09FFEF0
|
||||
:1022300017F6FFFF130606DD032706008327460077
|
||||
:102240009355F5413367F7006306070297F6FFFFE2
|
||||
:10225000938646DF9307000023A0F60013080000D2
|
||||
:1022600023A2060103270600832746003367F700F1
|
||||
:10227000E31207FE2320A6002322B6006F00000011
|
||||
:10228000130101FF1305903423261100EFF05FFACC
|
||||
:10229000130101FE1306C1001307B10113039000DF
|
||||
:1022A0006F008000138707009377F500B337F300C2
|
||||
:1022B000B307F04093F777029376F500938707030F
|
||||
:1022C000B387F6002300F7009396C5011355450028
|
||||
:1022D0009307F7FF33E5A60093D54500E314E6FC2A
|
||||
:1022E0000345C100230E01006302050693050600A5
|
||||
:1022F00097F6FFFF938606D117F6FFFF130686D4E5
|
||||
:1023000003A7060083A74600130805009385150060
|
||||
:102310003367F700B70801016302070213070000E3
|
||||
:102320002320E600930700002322F60003A70600FF
|
||||
:1023300083A746003367F700E31207FE03C50500D5
|
||||
:1023400023A0060123A21601E31C05FA13010102D2
|
||||
:102350006780000037F6FFFF3307C500B7E70300CB
|
||||
:102360006370F7149356C50093820640172300004C
|
||||
:10237000130343C993972200B307F30003A7070091
|
||||
:102380003375C5006306070293760704638C060E57
|
||||
:1023900093760708639206189306F000639ED5169D
|
||||
:1023A0001367070823A0E700730005126780000089
|
||||
:1023B0001747000013074704832507006384051CA3
|
||||
:1023C00083A74500174600000326C6022320F70016
|
||||
:1023D0006382C70C03A7050093972200B307F3009D
|
||||
:1023E0001357C7001317A700136EF70D1366F701F5
|
||||
:1023F00023A0C7017300051297470000938707E0E9
|
||||
:1024000093963600B386D70083A706006392071E13
|
||||
:1024100083A7050023A0F60083A74500B7050400A5
|
||||
:1024200023A2F600F3A50510B707C0FFB307F50018
|
||||
:10243000B716000013070500B386D70083AE070068
|
||||
:1024400003AE470083A8870003A8C7002320D70155
|
||||
:102450002322C7012324170123260701938707019D
|
||||
:1024600013070701E39CD7FC739005109397220094
|
||||
:10247000B307F30023A0C700730005120F1000007C
|
||||
:10248000678000001367070423A0E70073000512AC
|
||||
:10249000678000009747000023AE07F46FF09FF3BA
|
||||
:1024A00013051004971500009385858297F6FFFFAA
|
||||
:1024B000938646B517F6FFFF1306C6B803A70600B6
|
||||
:1024C00083A7460013030500938515003367F700C3
|
||||
:1024D000B703010163020702930700002320F600FF
|
||||
:1024E000130800002322060103A7060083A7460065
|
||||
:1024F0003367F700E31207FE03C5050023A066005B
|
||||
:1025000023A27600E31C05FA130101FF1305300036
|
||||
:1025100023261100EFF0DFD113051004970500000A
|
||||
:102520009385457F97F6FFFF9386C6AD17F6FFFFAD
|
||||
:10253000130646B103A7060083A74600130E050045
|
||||
:10254000938515003367F700B70E01016302070298
|
||||
:10255000930700002320F600130800002322060141
|
||||
:1025600003A7060083A746003367F700E31207FEC0
|
||||
:1025700003C5050023A0C60123A2D601E31C05FA6A
|
||||
:102580006FF09FF813051004970500009385057DF3
|
||||
:1025900097F6FFFF938606A717F6FFFF130686AA96
|
||||
:1025A00003A7060083A74600130F050093851500B7
|
||||
:1025B0003367F700B70F01016302070293070000BA
|
||||
:1025C0002320F600130800002322060103A70600BB
|
||||
:1025D00083A746003367F700E31207FE03C5050033
|
||||
:1025E00023A0E60123A2F601E31C05FA6FF0DFF158
|
||||
:1025F00013051004970500009385C57797F6FFFF34
|
||||
:10260000938646A017F6FFFF1306C6A303A706008E
|
||||
:1026100083A7460013080500938515003367F7006C
|
||||
:10262000B708010163020702130700002320E60038
|
||||
:10263000930700002322F60003A7060083A74600A5
|
||||
:102640003367F700E31207FE03C5050023A0060168
|
||||
:1026500023A21601E31C05FA6FF01FEB8325C508C2
|
||||
:10266000130101FB23248104232611042322910456
|
||||
:1026700023202105232E3103232C4103232A510338
|
||||
:10268000232861032326710323248103232291033A
|
||||
:102690002320A103232EB10193078000130405001A
|
||||
:1026A0006386F516930720006380F506938745FF40
|
||||
:1026B000130710006376F7009307F0006392F5228A
|
||||
:1026C00003258408EFF01FC91305040003248104C7
|
||||
:1026D0008320C10483244104032901048329C10305
|
||||
:1026E000032A8103832A4103032B0103832BC102A5
|
||||
:1026F000032C8102832C4102032D0102832DC10191
|
||||
:10270000130101056FD09F9B03274508937737007E
|
||||
:1027100063980708EF078000731030000327070055
|
||||
:1027200083A70700630AF706130510049705000046
|
||||
:102730009385C57097F6FFFF9386C68C17F6FFFF4B
|
||||
:102740001306469003A7060083A74600130805005A
|
||||
:10275000938515003367F700B7080101630207028C
|
||||
:10276000130700002320E600930700002322F60051
|
||||
:1027700003A7060083A746003367F700E31207FEAE
|
||||
:1027800003C5050023A0060123A21601E31C05FAD8
|
||||
:1027900013053000EFF0DFA913051000EFF05FA97B
|
||||
:1027A00097050000938545671306100497F6FFFF11
|
||||
:1027B0009386468517F5FFFF1305C58803A7060016
|
||||
:1027C00083A74600130E0600938515003367F700B4
|
||||
:1027D000B70E010163020702930700002320F500F2
|
||||
:1027E000130800002322050103A7060083A7460063
|
||||
:1027F0003367F700E31207FE03C6050023A0C601F6
|
||||
:1028000023A2D601E31C06FA6FF09FF8032B850282
|
||||
:10281000371C0000974400009384449E171D00005D
|
||||
:10282000130D4D7EB70C0400974B0000938B8BBCAF
|
||||
:102830006F00C00123A2870023A08B00B717000000
|
||||
:10284000330CFC00B7F703006302FC1C9357CC0069
|
||||
:10285000139437003386840003260600E30006FE47
|
||||
:102860009387074093972700B307FD0083A70700CE
|
||||
:1028700013F60704630C06122326F100F3AD0C10C7
|
||||
:10288000B707C0FFB305FC003716000013050C00A6
|
||||
:102890002324B100EFF05F87630005028327C100A6
|
||||
:1028A0008325810093F707086382070A3716000023
|
||||
:1028B00013050C00EFF0CFF43384840073900D10F7
|
||||
:1028C00083A70B0023200400E39607F69747000038
|
||||
:1028D000938787B223A08B0023A087006FF01FF699
|
||||
:1028E00093051004170600001306065897E6FFFF2D
|
||||
:1028F0009386467117E5FFFF1305C57403A706000D
|
||||
:1029000083A7460013830500130616003367F700FC
|
||||
:10291000B703010163020702930700002320F500BB
|
||||
:10292000130800002322050103A7060083A7460021
|
||||
:102930003367F700E31207FE8345060023A0660015
|
||||
:1029400023A27600E39C05FA6FF09FE4930710043E
|
||||
:10295000170600001306064997E6FFFF9386866A6E
|
||||
:1029600097E5FFFF9385056E138907001306160090
|
||||
:10297000B70901016F004001930700001308000030
|
||||
:1029800023A0F50023A2050103A7060083A74600A4
|
||||
:102990003367F700E31207FE8347060023A02601F2
|
||||
:1029A00023A23601E39207FC6FF09FDE9307100429
|
||||
:1029B000170600001306C63F97E6FFFF938686645E
|
||||
:1029C00097E5FFFF93850568138A07001306160035
|
||||
:1029D000B70A01016F0040019307000013080000CF
|
||||
:1029E00023A0F50023A2050103A7060083A7460044
|
||||
:1029F0003367F700E31207FE8347060023A0460172
|
||||
:102A000023A25601E39207FC6FF09FD813050B0039
|
||||
:102A1000EFF01F82F32740F163920716172600009C
|
||||
:102A20001306465E9357C600130101F69397A7005D
|
||||
:102A3000232E1108232C8108971500009385855CAF
|
||||
:102A400093E7170023A0F500B707002093D6C50031
|
||||
:102A5000370700809387F70C232EF6FEB3E7E600D6
|
||||
:102A600073900718F3260018639AD716130405000D
|
||||
:102A70001347F7FF9307F00197020000938242018A
|
||||
:102A8000F39252307310073B7390073A97D7BF7F8A
|
||||
:102A90009387876B73905710F3270034B708C07F74
|
||||
:102AA000B387170173900714B7B700009387071017
|
||||
:102AB00073902730B7E701007390073073504030B0
|
||||
:102AC0009737C07F93870754174700002326F79254
|
||||
:102AD0009737C07F9387077217470000232CF79022
|
||||
:102AE00037030800173700001307C751173E0000CF
|
||||
:102AF000130ECE709307C000930500001303F30379
|
||||
:102B0000938888001396F50193D61700B366D60014
|
||||
:102B100033866700B3C7F600330817011316C600E3
|
||||
:102B2000939757002320C7002322070193F707023A
|
||||
:102B300013078700B3E7F60093D51500E314EEFC06
|
||||
:102B400013060009930500001305010097370000E4
|
||||
:102B500023A4076AEFF08FD0B70700803304F40096
|
||||
:102B60001305010023228108EFD04FD58320C1092E
|
||||
:102B7000032481091301010A67800000B707FA03E3
|
||||
:102B8000B705080093870722130700009385C5FF48
|
||||
:102B900037080080370500406F00C0022FA00600F4
|
||||
:102BA0001316F70193D61700B366D600B3C7D70044
|
||||
:102BB0009397E7013376F5001357170093870600C4
|
||||
:102BC0003367E600B3F6B70013F61700B3860601C5
|
||||
:102BD000E31606FC03A006006FF09FFC93051004AB
|
||||
:102BE000170600001306062B97E6FFFF9386864123
|
||||
:102BF00017E5FFFF1305054503A7060083A7460059
|
||||
:102C000013880500130616003367F700B7080101A3
|
||||
:102C100063020702130700002320E500930700006A
|
||||
:102C20002322F50003A7060083A746003367F700B9
|
||||
:102C3000E31207FE8345060023A0060123A2160126
|
||||
:102C4000E39C05FA13053000EFF08FDE678000008B
|
||||
:102C50003705008093050080970600009386863A2A
|
||||
:102C600023A0A6002FA7B6C0B70E008093012000B6
|
||||
:102C70006310D70583A70600B70E008093013000CC
|
||||
:102C80006398D7039305F0FF23A006002FA7B6C0D3
|
||||
:102C9000930E000093014000631CD70183A7060038
|
||||
:102CA000930E0000930150006394D701631A300023
|
||||
:102CB00013951100630005001365150073000000F3
|
||||
:0C2CC0001305100073000000731000C02A
|
||||
:102CCC00417373657274696F6E206661696C6564BB
|
||||
:102CDC003A2061646472203E3D202831554C203CE2
|
||||
:102CEC003C203132292026262061646472203C204D
|
||||
:102CFC003633202A202831554C203C3C20313229B7
|
||||
:102D0C000A000000417373657274696F6E2066610E
|
||||
:102D1C00696C65643A20212870745B315D5B616479
|
||||
:102D2C0064722F2831554C203C3C203132295D20D7
|
||||
:102D3C0026203078303830292026262063617573A0
|
||||
:102D4C0065203D3D203078660A00000041737365B4
|
||||
:102D5C007274696F6E206661696C65643A206E6F7F
|
||||
:102D6C0064650A00417373657274696F6E206661E5
|
||||
:102D7C00696C65643A20757365725F6D617070691A
|
||||
:102D8C006E675B616464722F2831554C203C3C208B
|
||||
:102D9C003132295D2E61646472203D3D20300A0081
|
||||
:102DAC00417373657274696F6E206661696C6564DA
|
||||
:102DBC003A2070745B315D5B616464722F2831550D
|
||||
:102DCC004C203C3C203132295D2026203078303498
|
||||
:102DDC00300A0000417373657274696F6E2066610E
|
||||
:102DEC00696C65643A2070745B315D5B616464721C
|
||||
:102DFC002F2831554C203C3C203132295D20262097
|
||||
:102E0C0030783038300A0000417373657274696F22
|
||||
:102E1C006E206661696C65643A2074662D3E65703F
|
||||
:102E2C006320252034203D3D20300A00417373651A
|
||||
:102E3C007274696F6E206661696C65643A20212238
|
||||
:102E4C00696C6C6567616C20696E73747275637400
|
||||
:102E5C00696F6E220A000000417373657274696FAA
|
||||
:102E6C006E206661696C65643A202122756E657806
|
||||
:102E7C0070656374656420657863657074696F6EE2
|
||||
:102E8C00220A0000417373657274696F6E2066616B
|
||||
:102E9C00696C65643A202122756E737570706F725F
|
||||
:102EAC007465642073617470206D6F6465220A0010
|
||||
:040000058000000077
|
||||
:00000001FF
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue