[chore] add new flash command tool

This commit is contained in:
jzlv 2023-02-24 20:25:43 +08:00
parent fcef1d15b6
commit 15a70512a7
587 changed files with 77990 additions and 0 deletions

Binary file not shown.

View File

@ -0,0 +1,17 @@
bflb_fw_post_proc is a command line firmware process tool to update correct bootheder information and encrypt or sign firmware.
In order to achieve this goal, some parameters must be specified:
--chipname: chipname that you are buiding
--brdcfgdir: board config directory that you are using,this is used to copy boot2 like file to image directory
--imgfile: image file that you want to deal with,',' can be used to split multiple files and '*' can be used to match the only one file
--key: AES key when you want to encrypt you image with AES CTR
--iv: AES iv when you want to encrypt you image with AES CTR
--xtsmode: xts mode enable when you want to encrypt you image with AES xts and your chip support
--privatekey: private key of ecc-256 in pem format
--publickey: public key of ecc-256 in pem format
Examples:
bflb_fw_post_proc --chipname=bl616 --brdcfgdir=bsp/board/bl616dk/config --imgfile=./build/build_out/helloworld_bl616.bin
bflb_fw_post_proc --chipname=bl616 --brdcfgdir=bsp/board/bl616dk/config --imgfile=./build/build_out/helloworld_bl616.bin,./build/build_out/boot2_*.bin
bflb_fw_post_proc --chipname=bl616 --brdcfgdir=bsp/board/bl616dk/config --imgfile=./build/build_out/helloworld_bl616.bin --key=000102030405060708090A0B0C0D0E0F --iv=100102030405060708090A0B00000000
bflb_fw_post_proc --chipname=bl616 --brdcfgdir=bsp/board/bl616dk/config --imgfile=./build/build_out/helloworld_bl616.bin --key=000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F --iv=100102030405060708090A0B00000000 --xtsmode=1
bflb_fw_post_proc --chipname=bl616 --brdcfgdir=bsp/board/bl616dk/config --imgfile=./build/build_out/helloworld_bl616.bin --privatekey=privatekey_uecc.pem --publickey=publickey_uecc.pem

View File

@ -0,0 +1,5 @@
**/img_create_iot
**/img_create_mcu
**/log
*.bin
*.ini

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,65 @@
[LOAD_CFG]
#jlink or uart
interface = uart
device = COM1
speed_uart_boot = 500000
speed_uart_load = 500000
speed_jlink = 2000
#cklink usb vid|pid
cklink_vidpid = 42bf|b210
cklink_type = CKLink_Lite_Vendor-rog
#eg: rv_dbg_plus, ft2232hl, ft2232d
openocd_config = rv_dbg_plus
#0:without load, 1:eflash_loader load
load_function = 1
auto_burn = false
do_reset = true
#reset retry+reset hold time
reset_hold_time = 5
shake_hand_delay = 100
reset_revert = false
#cutoff revert+cutoff time
cutoff_time = 100
shake_hand_retry = 2
flash_burn_retry = 1
checksum_err_retry = 3
#1:24M, 2:32M, 3:38.4M, 4:40M, 5:26M, 6:RC32M
#xtal_type = 4
erase_time_out = 15000
#chiptype=602
eflash_loader_file = chips/bl602/eflash_loader/eflash_loader_40m.bin
check_mac = true
#0:no erase,1:programmed section erase,2:chip erase
erase = 1
# switch eflash_loader command log save
local_log = false
#0:verify by calculating SHA256(xip), >0:read back verify and verify by calculating SHA256(sbus)
verify = 0
tx_size = 2056
cpu_reset_after_load = false
#skip mode set first para is skip addr, second para is skip len
skip_mode = 0x0, 0x0
boot2_isp_mode = 0
isp_mode_speed = 2000000
isp_shakehand_timeout = 0
[FLASH_CFG]
flash_id = ef4015
flash_clock_cfg = 1
#0:NIO, 1:DO, 2:QO, 3:DIO, 4:QIO
flash_io_mode = 1
#empty: auto,0: internal flash with io switch,1: internal flash no io switch,2: GPIO 17-22,3: GPIO 0-2&20-22
flash_pin = ""
#empty for auto, otherwise specified para file path: eg: chips/bl602/efuse_bootheader/flash_para.bin
flash_para = chips/bl602/efuse_bootheader/flash_para.bin
decompress_write = true
file = chips/bl602/img_create/bootinfo_boot2.bin chips/bl602/img_create/img_boot2.bin chips/bl602/partition/partition.bin chips/bl602/partition/partition.bin
address = 00000000 00002000 e000 f000
[EFUSE_CFG]
burn_en = true
factory_mode = false
security_write = false
security_save = true
file = ../../../Tools/img_tools/efuse_bootheader/efusedata.bin
maskfile = ../../../Tools/img_tools/efuse_bootheader/efusedata_mask.bin

View File

@ -0,0 +1,196 @@
[EFUSE_CFG]
########################################################################
#2bits
ef_sf_aes_mode = 0
#2bits
ef_sboot_sign_mode = 0
#2bits
ef_sboot_en = 0
#2bits
ef_dbg_jtag_dis = 0
#4bits
ef_dbg_mode = 0
#32bits
ef_dbg_pwd_low = 0
#32bits
ef_dbg_pwd_high = 0
#2bits
flash_pwr_delay = 0
###################################################################
ef_key_slot_2_w0 = 0
ef_key_slot_2_w1 = 0
ef_key_slot_2_w2 = 0
ef_key_slot_2_w3 = 0
ef_key_slot_3_w0 = 0
ef_key_slot_3_w1 = 0
ef_key_slot_3_w2 = 0
ef_key_slot_3_w3 = 0
ef_key_slot_4_w0 = 0
ef_key_slot_4_w1 = 0
ef_key_slot_4_w2 = 0
ef_key_slot_4_w3 = 0
wr_lock_key_slot_4_l = 0
wr_lock_dbg_pwd = 0
wr_lock_key_slot_2 = 0
wr_lock_key_slot_3 = 0
wr_lock_key_slot_4_h = 0
rd_lock_dbg_pwd = 0
rd_lock_key_slot_2 = 0
rd_lock_key_slot_3 = 0
rd_lock_key_slot_4 = 0
[BOOTHEADER_CFG]
magic_code = 0x504e4642
revision = 0x01
#########################flash cfg#############################
flashcfg_magic_code = 0x47464346
#flashcfg_magic_code=0
io_mode = 0x10
cont_read_support = 0
#0.5T sfctrl_clk_delay=0 sfctrl_clk_invert=3
#1 T sfctrl_clk_delay=1 sfctrl_clk_invert=1
#1.5T sfctrl_clk_delay=1 sfctrl_clk_invert=3
sfctrl_clk_delay = 1
sfctrl_clk_invert = 0x01
reset_en_cmd = 0x66
reset_cmd = 0x99
exit_contread_cmd = 0xff
exit_contread_cmd_size = 3
jedecid_cmd = 0x9f
jedecid_cmd_dmy_clk = 0
qpi_jedecid_cmd = 0x9f
qpi_jedecid_dmy_clk = 0
sector_size = 4
mfg_id = 0xff
page_size = 256
chip_erase_cmd = 0xc7
sector_erase_cmd = 0x20
blk32k_erase_cmd = 0x52
blk64k_erase_cmd = 0xd8
write_enable_cmd = 0x06
page_prog_cmd = 0x02
qpage_prog_cmd = 0x32
qual_page_prog_addr_mode = 0
fast_read_cmd = 0x0b
fast_read_dmy_clk = 1
qpi_fast_read_cmd = 0x0b
qpi_fast_read_dmy_clk = 1
fast_read_do_cmd = 0x3b
fast_read_do_dmy_clk = 1
fast_read_dio_cmd = 0xbb
fast_read_dio_dmy_clk = 0
fast_read_qo_cmd = 0x6b
fast_read_qo_dmy_clk = 1
fast_read_qio_cmd = 0xeb
fast_read_qio_dmy_clk = 2
qpi_fast_read_qio_cmd = 0xeb
qpi_fast_read_qio_dmy_clk = 2
qpi_page_prog_cmd = 0x02
write_vreg_enable_cmd = 0x50
wel_reg_index = 0
qe_reg_index = 1
busy_reg_index = 0
wel_bit_pos = 1
qe_bit_pos = 1
busy_bit_pos = 0
wel_reg_write_len = 2
wel_reg_read_len = 1
qe_reg_write_len = 2
qe_reg_read_len = 1
release_power_down = 0xab
busy_reg_read_len = 1
reg_read_cmd0 = 0x05
reg_read_cmd1 = 0x35
reg_write_cmd0 = 0x01
reg_write_cmd1 = 0x01
enter_qpi_cmd = 0x38
exit_qpi_cmd = 0xff
cont_read_code = 0xa0
cont_read_exit_code = 0xff
burst_wrap_cmd = 0x77
burst_wrap_dmy_clk = 0x03
burst_wrap_data_mode = 2
burst_wrap_code = 0x40
de_burst_wrap_cmd = 0x77
de_burst_wrap_cmd_dmy_clk = 0x03
de_burst_wrap_code_mode = 2
de_burst_wrap_code = 0xF0
sector_erase_time = 300
blk32k_erase_time = 1200
blk64k_erase_time = 1200
page_prog_time = 5
chip_erase_time = 200000
power_down_delay = 20
qe_data = 0
flashcfg_crc32 = 0
#########################clk cfg####################################
clkcfg_magic_code = 0x47464350
#clkcfg_magic_code=0
#0:Not use XTAL to set PLL,1:XTAL is 24M ,2:XTAL is 32M ,3:XTAL is 38.4M
#4:XTAL is 40M,5:XTAL is 26M,6:XTAL is RC32M
xtal_type = 4
#0:RC32M,1:XTAL,2:PLL 48M,3:PLL 120M,4:PLL 160M,5:PLL 192M
pll_clk = 4
hclk_div = 0
bclk_div = 1
#0:120M,1:XCLK(RC32M or XTAL),2:48M,3:80M,4:BCLK,5:96M
flash_clk_type = 3
flash_clk_div = 1
clkcfg_crc32 = 0
########################boot cfg####################################
#1:ECC
sign = 0
#1:AES128,2:AES256,3:AES192
encrypt_type = 0
key_sel = 0
no_segment = 1
cache_enable = 1
notload_in_bootrom = 0
aes_region_lock = 0
cache_way_disable = 0x03
crc_ignore = 0
hash_ignore = 0
########################image cfg####################################
#total image len or segment count
img_len = 0x100
bootentry = 0
#img RAM address or flash offset
img_start = 0x2000
#img hash
hash_0 = 0xdeadbeef
hash_1 = 0
hash_2 = 0
hash_3 = 0
hash_4 = 0
hash_5 = 0
hash_6 = 0
hash_7 = 0
crc32 = 0xdeadbeef

View File

@ -0,0 +1,69 @@
[LOAD_CFG]
#jlink or uart
interface = uart
device = COM1
speed_uart_boot = 500000
speed_uart_load = 2000000
#cklink usb vid|pid
cklink_vidpid = 42bf|b210
cklink_type = CKLink_Lite_Vendor-rog
#eg: rv_dbg_plus, ft2232hl, ft2232d
openocd_config = rv_dbg_plus
auto_burn = false
speed_jlink = 1000
#0:without load, 1:eflash_loader load, 2: bootrom load
load_function = 2
do_reset = true
#reset retry+hold time
reset_hold_time = 50
shake_hand_delay = 100
reset_revert = false
cutoff_time = 50
shake_hand_retry = 3
flash_burn_retry = 1
checksum_err_retry = 3
erase_time_out = 100000
#chiptype=bl606p
check_mac = true
#0:no erase,1:programmed section erase,2:chip erase
erase = 1
# switch eflash_loader command log save
local_log = false
#0:verify by calculating SHA256(xip), >0:read back verify and verify by calculating SHA256(sbus)
verify = 0
tx_size = 4104
cpu_reset_after_load = false
#empty for auto, otherwise specified clock para file path: eg: chips/bl606p/efuse_bootheader/clock_para.bin
clock_para = chips/bl606p/efuse_bootheader/clock_para.bin
#skip mode set first para is skip addr, second para is skip len
skip_mode = 0x0, 0x0
boot2_isp_mode = 0
isp_mode_speed = 2000000
isp_shakehand_timeout = 0
[FLASH_CFG]
flash_id = ef4016
#bit 7-4 flash_clock_type: 0:120M wifipll, 1:xtal, 2:128M cpupll, 3:80M wifipll, 4:bclk, 5:96M wifipll
#bit 3-0 flash_clock_div
flash_clock_cfg = 0x41
#0:0.5T delay, 1:1T delay, 2:1.5T delay, 3:2T delay
flash_clock_delay = 0
#0:NIO, 1:DO, 2:QO, 3:DIO, 4:QIO
flash_io_mode = 1
#flash_pin value:
#bit 7 flash pin autoscan
#bit 6-0 flash pin cfg: 0: internal swap io0 with io3, 2: internal no swap io0 with io3, 4: external gpi34-39,
flash_pin = 0x80
#empty for auto, otherwise specified flash para file path: eg: chips/bl606p/efuse_bootheader/flash_para.bin
flash_para = chips/bl606p/efuse_bootheader/flash_para.bin
decompress_write = false
file = chips/bl606p/img_create2/whole_img.bin
address = 00000000
[EFUSE_CFG]
burn_en = true
factory_mode = false
security_write = false
security_save = true
file = ../../../Tools/img_tools/efuse_bootheader/efusedata.bin
maskfile = ../../../Tools/img_tools/efuse_bootheader/efusedata_mask.bin

View File

@ -0,0 +1,520 @@
[EFUSE_CFG]
########################################################################
ef_sf_aes_mode=0
ef_no_xtal=0
ef_force_no_trim=0
ef_sf_key_re_sel=0
ef_dbg_jtag_0_dis=0
###################################################################
ef_dbg_pwd_low=0
ef_dbg_pwd_high=0
ef_dbg_pwd2_low=0
ef_dbg_pwd2_high=0
ef_wifi_mac_low=0
ef_wifi_mac_high=0
ef_key_slot_0_w0=0
ef_key_slot_0_w1=0
ef_key_slot_0_w2=0
ef_key_slot_0_w3=0
ef_key_slot_1_w0=0
ef_key_slot_1_w1=0
ef_key_slot_1_w2=0
ef_key_slot_1_w3=0
ef_key_slot_2_w0=0
ef_key_slot_2_w1=0
ef_key_slot_2_w2=0
ef_key_slot_2_w3=0
ef_key_slot_3_w0=0
ef_key_slot_3_w1=0
ef_key_slot_3_w2=0
ef_key_slot_3_w3=0
##########################################
ef_sw_usage_0=0
ef_sw_usage_1=0
ef_sw_usage_2=0
ef_sw_usage_3=0
ef_key_slot_11_w0=0
ef_key_slot_11_w1=0
ef_key_slot_11_w2=0
ef_key_slot_11_w3=0
###################################################################
ef_sec_lifecycle=0
wr_lock_rsvd_0=0
wr_lock_boot_mode=0
wr_lock_dbg_pwd=0
wr_lock_wifi_mac=0
wr_lock_key_slot_0=0
wr_lock_key_slot_1=0
wr_lock_key_slot_2=0
wr_lock_key_slot_3=0
wr_lock_sw_usage_0=0
wr_lock_sw_usage_1=0
wr_lock_sw_usage_2=0
wr_lock_sw_usage_3=0
wr_lock_key_slot_11=0
rd_lock_dbg_pwd=0
rd_lock_key_slot_0=0
rd_lock_key_slot_1=0
rd_lock_key_slot_2=0
rd_lock_key_slot_3=0
rd_lock_key_slot_11=0
########################################################################
ef_key_slot_4_w0=0
ef_key_slot_4_w1=0
ef_key_slot_4_w2=0
ef_key_slot_4_w3=0
ef_key_slot_5_w0=0
ef_key_slot_5_w1=0
ef_key_slot_5_w2=0
ef_key_slot_5_w3=0
ef_key_slot_6_w0=0
ef_key_slot_6_w1=0
ef_key_slot_6_w2=0
ef_key_slot_6_w3=0
ef_key_slot_7_w0=0
ef_key_slot_7_w1=0
ef_key_slot_7_w2=0
ef_key_slot_7_w3=0
ef_key_slot_8_w0=0
ef_key_slot_8_w1=0
ef_key_slot_8_w2=0
ef_key_slot_8_w3=0
ef_key_slot_9_w0=0
ef_key_slot_9_w1=0
ef_key_slot_9_w2=0
ef_key_slot_9_w3=0
ef_key_slot_10_w0=0
ef_key_slot_10_w1=0
ef_key_slot_10_w2=0
ef_key_slot_10_w3=0
ef_dat_1_rsvd_0=0
ef_dat_1_rsvd_1=0
ef_dat_1_rsvd_2=0
########################################################################
wr_lock_rsvd_1=0
wr_lock_key_slot_4=0
wr_lock_key_slot_5=0
wr_lock_key_slot_6=0
wr_lock_key_slot_7=0
wr_lock_key_slot_8=0
wr_lock_key_slot_9=0
wr_lock_key_slot_10=0
wr_lock_dat_1_rsvd_0=0
wr_lock_dat_1_rsvd_1=0
wr_lock_dat_1_rsvd_2=0
rd_lock_key_slot_4=0
rd_lock_key_slot_5=0
rd_lock_key_slot_6=0
rd_lock_key_slot_7=0
rd_lock_key_slot_8=0
rd_lock_key_slot_9=0
rd_lock_key_slot_10=0
[BOOTHEADER_GROUP0_CFG]
magic_code=0x504e4642
revision=0x01
#########################flash cfg#############################
flashcfg_magic_code=0x47464346
#flashcfg_magic_code=0
io_mode=0x10
#0.5T sfctrl_clk_delay=0 sfctrl_clk_invert=3
#1 T sfctrl_clk_delay=1 sfctrl_clk_invert=1
#1.5T sfctrl_clk_delay=1 sfctrl_clk_invert=3
cont_read_support=0
sfctrl_clk_delay=1
sfctrl_clk_invert=0x01
reset_en_cmd=0x66
reset_cmd=0x99
exit_contread_cmd=0xff
exit_contread_cmd_size=0x3
jedecid_cmd=0x9f
jedecid_cmd_dmy_clk=0
enter_32bits_addr_cmd=0xb7
exit_32bits_addr_clk=0xe9
sector_size=4
mfg_id=0xff
page_size=256
chip_erase_cmd=0xc7
sector_erase_cmd=0x20
blk32k_erase_cmd=0x52
blk64k_erase_cmd=0xd8
write_enable_cmd=0x06
page_prog_cmd=0x02
qpage_prog_cmd=0x32
qual_page_prog_addr_mode=0
fast_read_cmd=0x0b
fast_read_dmy_clk=1
qpi_fast_read_cmd=0x0b
qpi_fast_read_dmy_clk=1
fast_read_do_cmd=0x3b
fast_read_do_dmy_clk=1
fast_read_dio_cmd=0xbb
fast_read_dio_dmy_clk=0
fast_read_qo_cmd=0x6b
fast_read_qo_dmy_clk=1
fast_read_qio_cmd=0xeb
fast_read_qio_dmy_clk=2
qpi_fast_read_qio_cmd=0xeb
qpi_fast_read_qio_dmy_clk=2
qpi_page_prog_cmd=0x02
write_vreg_enable_cmd=0x50
wel_reg_index=0
qe_reg_index=1
busy_reg_index=0
wel_bit_pos=1
qe_bit_pos=1
busy_bit_pos=0
wel_reg_write_len=2
wel_reg_read_len=1
qe_reg_write_len=2
qe_reg_read_len=1
release_power_down = 0xab
busy_reg_read_len=1
reg_read_cmd0=0x05
reg_read_cmd1=0x35
reg_write_cmd0=0x01
reg_write_cmd1=0x01
enter_qpi_cmd=0x38
exit_qpi_cmd=0xff
cont_read_code=0x20
cont_read_exit_code=0xf0
burst_wrap_cmd=0x77
burst_wrap_dmy_clk=0x03
burst_wrap_data_mode=2
burst_wrap_code=0x40
de_burst_wrap_cmd=0x77
de_burst_wrap_cmd_dmy_clk=0x03
de_burst_wrap_code_mode=2
de_burst_wrap_code=0xf0
sector_erase_time=300
blk32k_erase_time=1200
blk64k_erase_time=1200
page_prog_time=50
chip_erase_time=200000
power_down_delay = 20
qe_data = 0
flashcfg_crc32=0
#########################clk cfg#####################################
clkcfg_magic_code=0x47464350
#clkcfg_magic_code=0
#0:None,1:24M,2:32M,3:38.4M,4:40M,5:26M,6:RC32M
xtal_type=4
#0:RC32M,1:Xtal,2:cpupll 400M,3:wifipll 192M,4:wifipll 320M
mcu_clk=4
mcu_clk_div=0
mcu_bclk_div=0
mcu_pbclk_div=3
lp_div=1
#0:RC32M,1:Xtal,2:wifipll 240M,3:wifipll 320M,4:cpupll 400M
dsp_clk=3
dsp_clk_div=0
dsp_bclk_div=1
#0:RC32M,1:Xtal,2:wifipll 160M,3:cpupll 160M,4:wifipll 240M
dsp_pbclk=2
dsp_pbclk_div=0
#0:mcu pbclk,1:cpupll 200M,2:wifipll 320M,3:cpupll 400M
emi_clk=2
emi_clk_div=1
#0:wifipll 120M,1:xtal,2:cpupll 100M,3:wifipll 80M,4:bclk,5:wifipll 96M
flash_clk_type=1
flash_clk_div=0
wifipll_pu=1
aupll_pu=1
cpupll_pu=1
mipipll_pu=1
uhspll_pu=1
clkcfg_crc32=0
########################boot cfg#####################################
#1:ECC
sign=0
#1:AES128, 2:AES256, 3:AES192
encrypt_type=0
key_sel=0
#0:AES CTR MODE, 1:AES XTS MODE
xts_mode=0
aes_region_lock=0
no_segment=1
boot2_enable=0
boot2_rollback=0
cpu_master_id=0
notload_in_bootrom=0
crc_ignore=1
hash_ignore=1
power_on_mm=1
em_sel=1
cmds_en=1
#0:cmds bypass wrap commands to macro, original mode;
#1:cmds handle wrap commands, original mode;
#2:cmds bypass wrap commands to macro, cmds force wrap16*4 splitted into two wrap8*4;
#3:cmds handle wrap commands, cmds force wrap16*4 splitted into two wrap8*4
cmds_wrap_mode=2
#0:SF_CTRL_WRAP_LEN_8, 1:SF_CTRL_WRAP_LEN_16, 2:SF_CTRL_WRAP_LEN_32,
#3:SF_CTRL_WRAP_LEN_64, 9: SF_CTRL_WRAP_LEN_4096
cmds_wrap_len=2
icache_invalid=1
dcache_invalid=1
fpga_halt_release=0
########################image cfg####################################
#flash controller offset
group_image_offset=0x00002000
aes_region_len=0
#total image len or segment count
img_len_cnt=0x8000
#img hash
hash_0=0xdeadbeef
hash_1=0
hash_2=0
hash_3=0
hash_4=0
hash_5=0
hash_6=0
hash_7=0
########################CPU M0 cfg###################################
m0_config_enable=1
m0_halt_cpu=0
m0_cache_enable=0
m0_cache_wa=0
m0_cache_wb=0
m0_cache_wt=0
m0_cache_way_dis=0
m0_reserved=0
m0_cache_range_h=0
m0_cache_range_l=0
#img RAM address or flash offset
m0_image_address_offset=0x00002000
m0_boot_entry=0x58000000
m0_msp_val=0
########################CPU D0 cfg###################################
d0_config_enable=1
d0_halt_cpu=0
d0_cache_enable=0
d0_cache_wa=0
d0_cache_wb=0
d0_cache_wt=0
d0_cache_way_dis=0
d0_reserved=0
d0_cache_range_h=0
d0_cache_range_l=0
#img RAM address or flash offset
d0_image_address_offset=0x00022000
d0_boot_entry=0x58020000
d0_msp_val=0
########################CPU LP cfg###################################
lp_config_enable=1
lp_halt_cpu=0
lp_cache_enable=0
lp_cache_wa=0
lp_cache_wb=0
lp_cache_wt=0
lp_cache_way_dis=0
lp_reserved=0
lp_cache_range_h=0x58050000
lp_cache_range_l=0x58040000
#img RAM address or flash offset
lp_image_address_offset=0x00042000
lp_boot_entry=0x58040000
lp_msp_val=0
boot2_pt_table_0=0
boot2_pt_table_1=0
flashCfgTableAddr=0
flashCfgTableLen=0
########################patch on read################################
patch_read_addr0=0
patch_read_value0=0
patch_read_addr1=0
patch_read_value1=0
patch_read_addr2=0
patch_read_value2=0
patch_read_addr3=0
patch_read_value3=0
########################patch on jump################################
patch_jump_addr0=0x20000320
patch_jump_value0=0
patch_jump_addr1=0
patch_jump_value1=0
patch_jump_addr2=0
patch_jump_value2=0
patch_jump_addr3=0
patch_jump_value3=0
reserved1=0
reserved2=0
reserved3=0
reserved4=0
crc32=0xdeadbeef
[BOOTHEADER_GROUP1_CFG]
magic_code=0x50414642
revision=1
#########################flash cfg(ignored for group1)###############
#########################clk cfg(ignored for group1)#################
########################boot cfg#####################################
#1:ECC
sign=0
#1:AES128,2:AES256,3:AES192
encrypt_type=0
key_sel=0
xts_mode=0
aes_region_lock=0
no_segment=1
boot2_enable=0
boot2_rollback=0
cpu_master_id=0
notload_in_bootrom=0
crc_ignore=1
hash_ignore=1
power_on_mm=0
em_sel=0
cmds_en=1
cmds_wrap_mode=2
#2:SF_CTRL_WRAP_LEN_32, 3:SF_CTRL_WRAP_LEN_64, 9: SF_CTRL_WRAP_LEN_4096
cmds_wrap_len=2
icache_invalid=1
dcache_invalid=1
fpga_halt_release=0
########################image cfg####################################
#flash controller offset
group_image_offset=0x00052000
aes_region_len=0
#total image len or segment count
img_len_cnt=0x8000
#img hash
hash_0=0xdeadbeef
hash_1=0
hash_2=0
hash_3=0
hash_4=0
hash_5=0
hash_6=0
hash_7=0
########################CPU M0 cfg###################################
m0_config_enable=1
m0_halt_cpu=0
m0_cache_enable=0
m0_cache_wa=0
m0_cache_wb=0
m0_cache_wt=0
m0_cache_way_dis=0
m0_reserved=0
m0_cache_range_h=0
m0_cache_range_l=0
#img RAM address or flash offset
m0_image_address_offset=0x00052000
m0_boot_entry=0xD8000000
m0_msp_val=0
########################CPU D0 cfg###################################
d0_config_enable=1
d0_halt_cpu=0
d0_cache_enable=0
d0_cache_wa=0
d0_cache_wb=0
d0_cache_wt=0
d0_cache_way_dis=0
d0_reserved=0
d0_cache_range_h=0
d0_cache_range_l=0
#img RAM address or flash offset
d0_image_address_offset=0x00072000
d0_boot_entry=0x58020000
d0_msp_val=0
########################CPU LP cfg###################################
lp_config_enable=1
lp_halt_cpu=0
lp_cache_enable=0
lp_cache_wa=0
lp_cache_wb=0
lp_cache_wt=0
lp_cache_way_dis=0
lp_reserved=0
lp_cache_range_h=0
lp_cache_range_l=0
#img RAM address or flash offset
lp_image_address_offset=0x00082000
lp_boot_entry=0x58040000
lp_msp_val=0
boot2_pt_table_0=0
boot2_pt_table_1=0
flashCfgTableAddr=0
flashCfgTableLen=0
########################patch on read################################
patch_read_addr0=0
patch_read_value0=0
patch_read_addr1=0
patch_read_value1=0
patch_read_addr2=0
patch_read_value2=0
patch_read_addr3=0
patch_read_value3=0
########################patch on jump################################
patch_jump_addr0=0x20000320
patch_jump_value0=0
patch_jump_addr1=0
patch_jump_value1=0
patch_jump_addr2=0
patch_jump_value2=0
patch_jump_addr3=0
patch_jump_value3=0
reserved1=0
reserved2=0
reserved3=0
reserved4=0
crc32=0xdeadbeef

View File

@ -0,0 +1,119 @@
[LOAD_CFG]
#jlink or uart
interface = uart
device = COM1
speed_uart_boot = 500000
speed_uart_load = 2000000
#cklink usb vid|pid
cklink_vidpid = 42bf|b210
cklink_type = CKLink_Lite_Vendor-rog
#eg: rv_dbg_plus, ft2232hl, ft2232d
openocd_config = rv_dbg_plus
auto_burn = false
speed_jlink = 1000
#0:without load, 1:eflash_loader load, 2: bootrom load
load_function = 2
do_reset = true
#reset retry+hold time
reset_hold_time = 50
shake_hand_delay = 100
reset_revert = false
cutoff_time = 50
shake_hand_retry = 3
flash_burn_retry = 1
checksum_err_retry = 3
erase_time_out = 100000
#chiptype=bl616
check_mac = true
#0:no erase,1:programmed section erase,2:chip erase
erase = 1
# switch eflash_loader command log save
local_log = false
#0:verify by calculating SHA256(xip), >0:read back verify and verify by calculating SHA256(sbus)
verify = 0
tx_size = 2056
cpu_reset_after_load = false
#empty for auto, otherwise specified clock para file path: eg: chips/bl616/efuse_bootheader/clock_para.bin
clock_para = ""
#skip mode set first para is skip addr, second para is skip len
skip_mode = 0x0, 0x0
boot2_isp_mode = 0
isp_mode_speed = 2000000
isp_shakehand_timeout = 0
[FLASH_CFG]
flash_id = ef4016
#bit 7-4 flash_clock_type: 0:120M wifipll, 1:xtal, 2:128M cpupll, 3:80M wifipll, 4:bclk, 5:96M wifipll
#bit 3-0 flash_clock_div
flash_clock_cfg = 0x41
#0:0.5T delay, 1:1T delay, 2:1.5T delay, 3:2T delay
flash_clock_delay = 0
#0:NIO, 1:DO, 2:QO, 3:DIO, 4:QIO
flash_io_mode = 1
#flash_pin value:
#bit 7 flash pin autoscan
#bit 6 flash select 0: flash1, 1: flash2
#bit 5-0 flash pin cfg:
#0x0: single flash, sf1 internal swap io3 and io0
#0x1: single flash, sf1 internal swap io3 with io0 and io2 with cs
#0x2: single flash, sf1 internal no swap
#0x3: single flash, sf1 internal swap io2 with cs
#0x4: single flash, sf2 external GPIO4-9 and swap io3 with io0
#0x8: single flash, sf3 external GPIO10-15
#0x14:dual flash, sf1 internal swap io3 and io0, sf2 external GPIO4-9 swap io3 with io0
#0x15:dual flash, sf1 internal swap io3 with io0 and io2 with cs, sf2 external GPIO4-9 swap io3 with io0
#0x16:dual flash, sf1 internal no swap, sf2 external GPIO4-9 swap io3 with io0
#0x17:dual flash, sf1 internal swap io2 with cs, sf2 external GPIO4-9 swap io3 with io0
#0x24:single flash, sf2 external GPIO4-9
#0x34:dual flash, sf1 internal swap io3 and io0, sf2 external GPIO4-9 no swap
#0x35:dual flash, sf1 internal swap io3 with io0 and io2 with cs, sf2 external GPIO4-9 no swap
#0x36:dual flash, sf1 internal no swap, sf2 external GPIO4-9 no swap
#0x37:dual flash, sf1 internal swap io2 with cs, sf2 external GPIO4-9 no swap
flash_pin = 0x80
#empty for auto, otherwise specified flash para file path: eg: chips/bl616/efuse_bootheader/flash_para.bin
flash_para = chips/bl616/efuse_bootheader/flash_para.bin
decompress_write = false
file = chips/bl616/img_create2/whole_img.bin
address = 00000000
[FLASH2_CFG]
flash2_en = false
#flash size, 0:0.5M, 1:1M, 2:2M, 4: 4M, 8: 8M, 16: 16M
flash1_size = 4
flash2_size = 2
flash2_id = ef4015
flash2_clock_cfg = 0x41
#0:0.5T delay, 1:1T delay, 2:1.5T delay, 3:2T delay
flash2_clock_delay = 0
#0:NIO, 1:DO, 2:QO, 3:DIO, 4:QIO
flash2_io_mode = 0x10
#flash_pin value:
#bit 7 flash pin autoscan
#bit 6 flash select 0: flash1, 1: flash2
#bit 5-0 flash pin cfg:
#0x0: single flash, sf1 internal swap io3 and io0
#0x1: single flash, sf1 internal swap io3 with io0 and io2 with cs
#0x2: single flash, sf1 internal no swap
#0x3: single flash, sf1 internal swap io2 with cs
#0x4: single flash, sf2 external GPIO4-9 and swap io3 with io0
#0x8: single flash, sf3 external GPIO10-15
#0x14:dual flash, sf1 internal swap io3 and io0, sf2 external GPIO4-9 swap io3 with io0
#0x15:dual flash, sf1 internal swap io3 with io0 and io2 with cs, sf2 external GPIO4-9 swap io3 with io0
#0x16:dual flash, sf1 internal no swap, sf2 external GPIO4-9 swap io3 with io0
#0x17:dual flash, sf1 internal swap io2 with cs, sf2 external GPIO4-9 swap io3 with io0
#0x24:single flash, sf2 external GPIO4-9
#0x34:dual flash, sf1 internal swap io3 and io0, sf2 external GPIO4-9 no swap
#0x35:dual flash, sf1 internal swap io3 with io0 and io2 with cs, sf2 external GPIO4-9 no swap
#0x36:dual flash, sf1 internal no swap, sf2 external GPIO4-9 no swap
#0x37:dual flash, sf1 internal swap io2 with cs, sf2 external GPIO4-9 no swap
flash2_pin = 0xC0
#empty for auto, otherwise specified flash para file path: eg: chips/bl616/efuse_bootheader/flash2_para.bin
flash2_para = chips/bl616/efuse_bootheader/flash2_para.bin
[EFUSE_CFG]
burn_en = true
factory_mode = false
security_write = false
security_save = true
file = ../../../Tools/img_tools/efuse_bootheader/efusedata.bin
maskfile = ../../../Tools/img_tools/efuse_bootheader/efusedata_mask.bin

View File

@ -0,0 +1,382 @@
[EFUSE_CFG]
########################################################################
ef_sf_aes_mode = 0
ef_sboot_en = 0
ef_dbg_jtag_0_dis = 0
ef_dbg_mode = 0
###################################################################
ef_dbg_pwd_low = 0
ef_dbg_pwd_high = 0
##########################################
sign_cfg = 0
################################################################
ef_key_slot_0_w0 = 0
ef_key_slot_0_w1 = 0
ef_key_slot_0_w2 = 0
ef_key_slot_0_w3 = 0
ef_key_slot_1_w0 = 0
ef_key_slot_1_w1 = 0
ef_key_slot_1_w2 = 0
ef_key_slot_1_w3 = 0
ef_key_slot_2_w0 = 0
ef_key_slot_2_w1 = 0
ef_key_slot_2_w2 = 0
ef_key_slot_2_w3 = 0
ef_key_slot_3_w0 = 0
ef_key_slot_3_w1 = 0
ef_key_slot_3_w2 = 0
ef_key_slot_3_w3 = 0
wr_lock_key_slot_0 = 0
wr_lock_key_slot_1 = 0
wr_lock_key_slot_2 = 0
wr_lock_key_slot_3 = 0
wr_lock_sw_usage_0 = 0
wr_lock_sw_usage_1 = 0
wr_lock_sw_usage_2 = 0
wr_lock_sw_usage_3 = 0
wr_lock_key_slot_11 = 0
rd_lock_dbg_pwd = 0
rd_lock_key_slot_0 = 0
rd_lock_key_slot_1 = 0
rd_lock_key_slot_2 = 0
rd_lock_key_slot_3 = 0
rd_lock_key_slot_11 = 0
########################################################################
ef_key_slot_4_w0 = 0
ef_key_slot_4_w1 = 0
ef_key_slot_4_w2 = 0
ef_key_slot_4_w3 = 0
ef_key_slot_5_w0 = 0
ef_key_slot_5_w1 = 0
ef_key_slot_5_w2 = 0
ef_key_slot_5_w3 = 0
ef_key_slot_6_w0 = 0
ef_key_slot_6_w1 = 0
ef_key_slot_6_w2 = 0
ef_key_slot_6_w3 = 0
ef_key_slot_7_w0 = 0
ef_key_slot_7_w1 = 0
ef_key_slot_7_w2 = 0
ef_key_slot_7_w3 = 0
ef_key_slot_8_w0 = 0
ef_key_slot_8_w1 = 0
ef_key_slot_8_w2 = 0
ef_key_slot_8_w3 = 0
ef_key_slot_9_w0 = 0
ef_key_slot_9_w1 = 0
ef_key_slot_9_w2 = 0
ef_key_slot_9_w3 = 0
ef_key_slot_10_w0 = 0
ef_key_slot_10_w1 = 0
ef_key_slot_10_w2 = 0
ef_key_slot_10_w3 = 0
ef_dat_1_rsvd_0 = 0
ef_dat_1_rsvd_1 = 0
ef_dat_1_rsvd_2 = 0
########################################################################
wr_lock_rsvd_2 = 0
wr_lock_key_slot_4 = 0
wr_lock_key_slot_5 = 0
wr_lock_key_slot_6 = 0
wr_lock_key_slot_7 = 0
wr_lock_key_slot_8 = 0
wr_lock_key_slot_9 = 0
wr_lock_key_slot_10 = 0
wr_lock_dat_1_rsvd_0 = 0
wr_lock_dat_1_rsvd_1 = 0
wr_lock_dat_1_rsvd_2 = 0
rd_lock_key_slot_4 = 0
rd_lock_key_slot_5 = 0
rd_lock_key_slot_6 = 0
rd_lock_key_slot_7 = 0
rd_lock_key_slot_8 = 0
rd_lock_key_slot_9 = 0
rd_lock_key_slot_10 = 0
########################################################################
ef_zone_00_w0 = 0
ef_zone_00_w1 = 0
ef_zone_00_w2 = 0
ef_zone_00_w3 = 0
ef_zone_01_w0 = 0
ef_zone_01_w1 = 0
ef_zone_01_w2 = 0
ef_zone_01_w3 = 0
ef_zone_02_w0 = 0
ef_zone_02_w1 = 0
ef_zone_02_w2 = 0
ef_zone_02_w3 = 0
ef_zone_03_w0 = 0
ef_zone_03_w1 = 0
ef_zone_03_w2 = 0
ef_zone_03_w3 = 0
ef_zone_04_w0 = 0
ef_zone_04_w1 = 0
ef_zone_04_w2 = 0
ef_zone_04_w3 = 0
ef_zone_05_w0 = 0
ef_zone_05_w1 = 0
ef_zone_05_w2 = 0
ef_zone_05_w3 = 0
ef_zone_06_w0 = 0
ef_zone_06_w1 = 0
ef_zone_06_w2 = 0
ef_zone_06_w3 = 0
ef_zone_07_w0 = 0
ef_zone_07_w1 = 0
ef_zone_07_w2 = 0
ef_zone_07_w3 = 0
ef_zone_08_w0 = 0
ef_zone_08_w1 = 0
ef_zone_08_w2 = 0
ef_zone_08_w3 = 0
ef_zone_09_w0 = 0
ef_zone_09_w1 = 0
ef_zone_09_w2 = 0
ef_zone_09_w3 = 0
ef_zone_10_w0 = 0
ef_zone_10_w1 = 0
ef_zone_10_w2 = 0
ef_zone_10_w3 = 0
ef_zone_11_w0 = 0
ef_zone_11_w1 = 0
ef_zone_11_w2 = 0
ef_zone_11_w3 = 0
ef_zone_12_w0 = 0
ef_zone_12_w1 = 0
ef_zone_12_w2 = 0
ef_zone_12_w3 = 0
ef_zone_13_w0 = 0
ef_zone_13_w1 = 0
ef_zone_13_w2 = 0
ef_zone_13_w3 = 0
ef_zone_14_w0 = 0
ef_zone_14_w1 = 0
ef_zone_14_w2 = 0
ef_zone_14_w3 = 0
ef_zone_15_w0 = 0
ef_zone_15_w1 = 0
ef_zone_15_w2 = 0
ef_zone_15_w3 = 0
[BOOTHEADER_GROUP0_CFG]
magic_code = 0x504e4642
revision = 0x01
#########################flash cfg#############################
flashcfg_magic_code = 0x47464346
#flashcfg_magic_code=0
io_mode = 0x10
#0.5T sfctrl_clk_delay=0 sfctrl_clk_invert=3
#1 T sfctrl_clk_delay=1 sfctrl_clk_invert=1
#1.5T sfctrl_clk_delay=1 sfctrl_clk_invert=3
cont_read_support = 0
sfctrl_clk_delay = 1
sfctrl_clk_invert = 0x01
reset_en_cmd = 0x66
reset_cmd = 0x99
exit_contread_cmd = 0xff
exit_contread_cmd_size = 0x3
jedecid_cmd = 0x9f
jedecid_cmd_dmy_clk = 0
enter_32bits_addr_cmd = 0xb7
exit_32bits_addr_clk = 0xe9
sector_size = 4
mfg_id = 0xff
page_size = 256
chip_erase_cmd = 0xc7
sector_erase_cmd = 0x20
blk32k_erase_cmd = 0x52
blk64k_erase_cmd = 0xd8
write_enable_cmd = 0x06
page_prog_cmd = 0x02
qpage_prog_cmd = 0x32
qual_page_prog_addr_mode = 0
fast_read_cmd = 0x0b
fast_read_dmy_clk = 1
qpi_fast_read_cmd = 0x0b
qpi_fast_read_dmy_clk = 1
fast_read_do_cmd = 0x3b
fast_read_do_dmy_clk = 1
fast_read_dio_cmd = 0xbb
fast_read_dio_dmy_clk = 0
fast_read_qo_cmd = 0x6b
fast_read_qo_dmy_clk = 1
fast_read_qio_cmd = 0xeb
fast_read_qio_dmy_clk = 2
qpi_fast_read_qio_cmd = 0xeb
qpi_fast_read_qio_dmy_clk = 2
qpi_page_prog_cmd = 0x02
write_vreg_enable_cmd = 0x50
wel_reg_index = 0
qe_reg_index = 1
busy_reg_index = 0
wel_bit_pos = 1
qe_bit_pos = 1
busy_bit_pos = 0
wel_reg_write_len = 2
wel_reg_read_len = 1
qe_reg_write_len = 2
qe_reg_read_len = 1
release_power_down = 0xab
busy_reg_read_len = 1
reg_read_cmd0 = 0x05
reg_read_cmd1 = 0x35
reg_write_cmd0 = 0x01
reg_write_cmd1 = 0x01
enter_qpi_cmd = 0x38
exit_qpi_cmd = 0xff
cont_read_code = 0x20
cont_read_exit_code = 0xf0
burst_wrap_cmd = 0x77
burst_wrap_dmy_clk = 0x03
burst_wrap_data_mode = 2
burst_wrap_code = 0x40
de_burst_wrap_cmd = 0x77
de_burst_wrap_cmd_dmy_clk = 0x03
de_burst_wrap_code_mode = 2
de_burst_wrap_code = 0xf0
sector_erase_time = 300
blk32k_erase_time = 1200
blk64k_erase_time = 1200
page_prog_time = 50
chip_erase_time = 200000
power_down_delay = 20
qe_data = 0
flashcfg_crc32 = 0
#########################clk cfg#####################################
clkcfg_magic_code = 0x47464350
#clkcfg_magic_code=0
#0:None,1:24M,2:32M,3:38.4M,4:40M,5:26M,6:RC32M
xtal_type = 7
#mcu_clk 0:RC32M;1:XTAL;2:aupll_div2;3:aupll_div1;4:wifipll_240M;5:wifipll_320M
mcu_clk = 5
mcu_clk_div = 0
mcu_bclk_div = 0
mcu_pbclk_div = 3
#0:mcu pbclk,1:cpupll 200M,2:wifipll 320M,3:cpupll 400M
emi_clk = 2
emi_clk_div = 1
#flash_clk_type 0:wifipll_120M;1:xtal;2:aupll_div5;3:muxpll_80M;4:bclk;5:wifipll_96M
flash_clk_type = 1
flash_clk_div = 0
wifipll_pu = 1
aupll_pu = 1
rsvd0 = 0
clkcfg_crc32 = 0
########################boot cfg#####################################
#1:ECC
sign = 0
#1:AES128 CTR,2:AES256 CTR,3:AES192 CTR,4:AES128 XTS
encrypt_type = 0
key_sel = 0
xts_mode = 0
aes_region_lock = 0
no_segment = 1
boot2_enable = 0
boot2_rollback = 0
cpu_master_id = 0
notload_in_bootrom = 0
crc_ignore = 0
hash_ignore = 0
power_on_mm = 1
em_sel = 1
cmds_en = 1
#0:cmds bypass wrap commands to macro, original mode;
#1:cmds handle wrap commands, original mode;
#2:cmds bypass wrap commands to macro, cmds force wrap16*4 splitted into two wrap8*4;
#3:cmds handle wrap commands, cmds force wrap16*4 splitted into two wrap8*4
cmds_wrap_mode = 2
#0:SF_CTRL_WRAP_LEN_8, 1:SF_CTRL_WRAP_LEN_16, 2:SF_CTRL_WRAP_LEN_32,
#3:SF_CTRL_WRAP_LEN_64, 9: SF_CTRL_WRAP_LEN_4096
cmds_wrap_len = 2
icache_invalid = 1
dcache_invalid = 1
fpga_halt_release = 0
########################image cfg####################################
#flash controller offset
group_image_offset = 0x2000
aes_region_len = 0
#total image len or segment count
img_len_cnt = 0x100
#img hash
hash_0 = 0xdeadbeef
hash_1 = 0
hash_2 = 0
hash_3 = 0
hash_4 = 0
hash_5 = 0
hash_6 = 0
hash_7 = 0
########################CPU M0 cfg###################################
m0_config_enable = 1
m0_halt_cpu = 0
m0_cache_enable = 0
m0_cache_wa = 0
m0_cache_wb = 0
m0_cache_wt = 0
m0_cache_way_dis = 0
m0_reserved = 0
#img RAM address or flash offset
m0_image_address_offset = 0x0
m0_boot_entry = 0xA0000000
m0_msp_val = 0
boot2_pt_table_0 = 0
boot2_pt_table_1 = 0
flashCfgTableAddr = 0
flashCfgTableLen = 0
########################patch on read################################
patch_read_addr0 = 0
patch_read_value0 = 0
patch_read_addr1 = 0
patch_read_value1 = 0
patch_read_addr2 = 0
patch_read_value2 = 0
########################patch on jump################################
patch_jump_addr0 = 0
patch_jump_value0 = 0
patch_jump_addr1 = 0
patch_jump_value1 = 0
patch_jump_addr2 = 0
patch_jump_value2 = 0
reserved = 0
crc32 = 0xdeadbeef

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,67 @@
[LOAD_CFG]
#jlink or uart
interface = uart
device = COM1
speed_uart_boot = 500000
speed_uart_load = 500000
#cklink usb vid|pid
cklink_vidpid = 42bf|b210
cklink_type = CKLink_Lite_Vendor-rog
#eg: rv_dbg_plus, ft2232hl, ft2232d
openocd_config = rv_dbg_plus
auto_burn = false
speed_jlink = 2000
#0:without load, 1:eflash_loader load
load_function = 1
do_reset = true
#reset retry+hold time
reset_hold_time = 50
shake_hand_delay = 100
reset_revert = false
cutoff_time = 50
shake_hand_retry = 3
flash_burn_retry = 1
checksum_err_retry = 3
#1: 32M, 2: RC32M
#xtal_type = 2
erase_time_out = 15000
#chiptype=702
eflash_loader_file=chips/bl702/eflash_loader/eflash_loader_32m.bin
check_mac = true
#0:no erase,1:programmed section erase,2:chip erase
erase = 1
# switch eflash_loader command log save
local_log = false
#0:verify by calculating SHA256(xip), >0:read back verify and verify by calculating SHA256(sbus)
verify = 0
tx_size = 2056
cpu_reset_after_load = false
#skip mode set first para is skip addr, second para is skip len
skip_mode = 0x0, 0x0
boot2_isp_mode = 0
isp_mode_speed = 2000000
isp_shakehand_timeout = 0
[FLASH_CFG]
flash_id = c84015
#flash clock 0:72M, 1:36M, 2:24M, 3:18M
flash_clock_cfg = 2
#0:NIO, 1:DO, 2:QO, 3:DIO, 4:QIO
flash_io_mode = 1
#flash_pin value:
#bit 2-3 = flash_cfg: 0: external gpio 23-28, 1: internal 512K, 2: internal 1M, 3: external gpio 17-22
#bit 0-1 = swap_cfg: 0: do not swap, 1: swap cs&io2, 2: swap io0&io3, 3: swap cs&io2 io0&io3 both
flash_pin = ""
#empty for auto, otherwise specified para file path: eg: chips/bl702/efuse_bootheader/flash_para.bin
flash_para = chips/bl702/efuse_bootheader/flash_para.bin
decompress_write = false
file = chips/bl702/img_create/bootinfo_boot2.bin chips/bl702/img_create/img_boot2.bin chips/bl702/partition/partition.bin chips/bl702/partition/partition.bin
address = 00000000 00002000 e000 f000
[EFUSE_CFG]
burn_en = true
factory_mode = false
security_write = false
security_save = true
file = ../../../Tools/img_tools/efuse_bootheader/efusedata.bin
maskfile = ../../../Tools/img_tools/efuse_bootheader/efusedata_mask.bin

View File

@ -0,0 +1,196 @@
[EFUSE_CFG]
########################################################################
#2bits
ef_sf_aes_mode = 0
#2bits
ef_sboot_sign_mode = 0
#2bits
ef_sboot_en = 0
#2bits
ef_dbg_jtag_dis = 0
#4bits
ef_dbg_mode = 0
#32bits
ef_dbg_pwd_low = 0
#32bits
ef_dbg_pwd_high = 0
###################################################################
ef_key_slot_2_w0 = 0
ef_key_slot_2_w1 = 0
ef_key_slot_2_w2 = 0
ef_key_slot_2_w3 = 0
ef_key_slot_3_w0 = 0
ef_key_slot_3_w1 = 0
ef_key_slot_3_w2 = 0
ef_key_slot_3_w3 = 0
ef_key_slot_4_w0 = 0
ef_key_slot_4_w1 = 0
ef_key_slot_4_w2 = 0
ef_key_slot_4_w3 = 0
wr_lock_key_slot_4_l = 0
wr_lock_dbg_pwd = 0
wr_lock_key_slot_2 = 0
wr_lock_key_slot_3 = 0
wr_lock_key_slot_4_h = 0
rd_lock_dbg_pwd = 0
rd_lock_key_slot_2 = 0
rd_lock_key_slot_3 = 0
rd_lock_key_slot_4 = 0
[BOOTHEADER_CFG]
magic_code = 0x504e4642
revision = 0x01
#########################flash cfg#############################
flashcfg_magic_code = 0x47464346
#flashcfg_magic_code=0
io_mode = 0x10
cont_read_support = 0
sfctrl_clk_delay = 0
sfctrl_clk_invert = 0x03
reset_en_cmd = 0x66
reset_cmd = 0x99
exit_contread_cmd = 0xff
exit_contread_cmd_size = 3
jedecid_cmd = 0x9f
jedecid_cmd_dmy_clk = 0
qpi_jedecid_cmd = 0x9f
qpi_jedecid_dmy_clk = 0
sector_size = 4
mfg_id = 0xff
page_size = 256
chip_erase_cmd = 0xc7
sector_erase_cmd = 0x20
blk32k_erase_cmd = 0x52
blk64k_erase_cmd = 0xd8
write_enable_cmd = 0x06
page_prog_cmd = 0x02
qpage_prog_cmd = 0x32
qual_page_prog_addr_mode = 0
fast_read_cmd = 0x0b
fast_read_dmy_clk = 1
qpi_fast_read_cmd = 0x0b
qpi_fast_read_dmy_clk = 1
fast_read_do_cmd = 0x3b
fast_read_do_dmy_clk = 1
fast_read_dio_cmd = 0xbb
fast_read_dio_dmy_clk = 0
fast_read_qo_cmd = 0x6b
fast_read_qo_dmy_clk = 1
fast_read_qio_cmd = 0xeb
fast_read_qio_dmy_clk = 2
qpi_fast_read_qio_cmd = 0xeb
qpi_fast_read_qio_dmy_clk = 2
qpi_page_prog_cmd = 0x02
write_vreg_enable_cmd = 0x50
wel_reg_index = 0
qe_reg_index = 1
busy_reg_index = 0
wel_bit_pos = 1
qe_bit_pos = 1
busy_bit_pos = 0
wel_reg_write_len = 2
wel_reg_read_len = 1
qe_reg_write_len = 2
qe_reg_read_len = 1
release_power_down = 0xab
busy_reg_read_len = 1
reg_read_cmd0 = 0x05
reg_read_cmd1 = 0x35
reg_write_cmd0 = 0x01
reg_write_cmd1 = 0x01
enter_qpi_cmd = 0x38
exit_qpi_cmd = 0xff
cont_read_code = 0xa0
cont_read_exit_code = 0xff
burst_wrap_cmd = 0x77
burst_wrap_dmy_clk = 0x03
burst_wrap_data_mode = 2
burst_wrap_code = 0x40
de_burst_wrap_cmd = 0x77
de_burst_wrap_cmd_dmy_clk = 0x03
de_burst_wrap_code_mode = 2
de_burst_wrap_code = 0xF0
sector_erase_time = 300
blk32k_erase_time = 1200
blk64k_erase_time = 1200
page_prog_time = 5
chip_erase_time = 200000
power_down_delay = 20
qe_data = 0
flashcfg_crc32 = 0
#########################clk cfg####################################
clkcfg_magic_code = 0x47464350
#clkcfg_magic_code=0
#0:Not use XTAL to set PLL, 1:XTAL is 32M, 2:XTAL is RC32M
xtal_type = 1
#0:RC32M, 1:XTAL, 2:PLL 57.6M, 3:PLL 96M, 4:PLL 144M
pll_clk = 1
hclk_div = 0
bclk_div = 0
#0:144M, 1:XCLK(RC32M or XTAL), 2:57.6M, 3:72M, 4:BCLK, 5:96M
flash_clk_type = 1
flash_clk_div = 0
clkcfg_crc32 = 0
########################boot cfg####################################
#1:ECC
sign = 0
#1:AES128,2:AES256,3:AES192
encrypt_type = 0
key_sel = 1
no_segment = 1
cache_enable = 1
notload_in_bootrom = 0
aes_region_lock = 0
cache_way_disable = 0x00
crc_ignore = 1
hash_ignore = 1
boot2_enable=1
boot2_rollback=0
########################image cfg####################################
#total image len or segment count
img_len = 0x100
bootentry = 0
#img RAM address or flash offset
img_start = 0x2000
#img hash
hash_0 = 0xdeadbeef
hash_1 = 0
hash_2 = 0
hash_3 = 0
hash_4 = 0
hash_5 = 0
hash_6 = 0
hash_7 = 0
#address of partition tables for boot2 in bootrom
boot2_pt_table_0=0x1000
boot2_pt_table_1=0x2000
crc32 = 0xdeadbeef

View File

@ -0,0 +1,82 @@
[LOAD_CFG]
#jlink or uart
interface = uart
device = COM1
speed_uart_boot = 500000
speed_uart_load = 500000
#cklink usb vid|pid
cklink_vidpid = 42bf|b210
cklink_type = CKLink_Lite_Vendor-rog
#eg: rv_dbg_plus, ft2232hl, ft2232d
openocd_config = rv_dbg_plus
auto_burn = false
speed_jlink = 2000
#0:without load, 1:eflash_loader load, 2: bootrom load
load_function = 2
do_reset = true
#reset retry+hold time
reset_hold_time = 50
shake_hand_delay = 100
reset_revert = false
cutoff_time = 50
shake_hand_retry = 3
flash_burn_retry = 1
checksum_err_retry = 3
#1: 32M, 2: RC32M
#xtal_type = 2
erase_time_out = 15000
#chiptype=702l
eflash_loader_file=chips/bl702l/eflash_loader/eflash_loader_32m.bin
check_mac = true
#0:no erase,1:programmed section erase,2:chip erase
erase = 1
# switch eflash_loader command log save
local_log = false
#0:verify by calculating SHA256(xip), >0:read back verify and verify by calculating SHA256(sbus)
verify = 0
tx_size = 2056
cpu_reset_after_load = false
#empty for auto, otherwise specified clock para file path: eg: chips/bl702l/efuse_bootheader/clock_para.bin
clock_para = chips/bl702l/efuse_bootheader/clock_para.bin
#skip mode set first para is skip addr, second para is skip len
skip_mode = 0x0, 0x0
boot2_isp_mode = 0
isp_mode_speed = 2000000
isp_shakehand_timeout = 0
[FLASH_CFG]
flash_id = c84015
#bit 7-4 flash_clock_type: 0:XCLK(RC32M or XTAL), 1:64M, 2:BCLK, 3:42.67M
#bit 3-0 flash_clock_div
flash_clock_cfg = 0
#0:0.5T delay, 1:1T delay, 2:1.5T delay
flash_clock_delay = 1
#0:NIO, 1:DO, 2:QO, 3:DIO, 4:QIO
flash_io_mode = 1
#flash_pin value:
#bit 7 flash pin set from efuse flash cfg
#bit 6-0 flash pin cfg:
#0x0: sf2 external flash use GPIO23-28
#0x1: sf1 embedded flash no swap
#0x2: sf1 embedded flash swap io2 with cs
#0x3: sf1 embedded flash swap io3 with io0
#0x4: sf1 embedded flash swap io3 with io0 and io2 with cs
#0x5: sf1 embedded flash interface reverse and no swap
#0x6: sf1 embedded flash interface reverse and swap io2 with cs
#0x7: sf1 embedded flash interface reverse and swap io3 with io0
#0x8: sf1 embedded flash interface reverse and swap io3 with io0 and io2 with cs
#0x80:flash pin set from efuse flash cfg
flash_pin = 0x80
#empty for auto, otherwise specified para file path: eg: chips/bl702l/efuse_bootheader/flash_para.bin
flash_para = chips/bl702l/efuse_bootheader/flash_para.bin
decompress_write = true
file = chips/bl702l/img_create/bootinfo_boot2.bin chips/bl702l/img_create/img_boot2.bin chips/bl702l/partition/partition.bin chips/bl702l/partition/partition.bin
address = 00000000 00002000 e000 f000
[EFUSE_CFG]
burn_en = true
factory_mode = false
security_write = false
security_save = true
file = ../../../Tools/img_tools/efuse_bootheader/efusedata.bin
maskfile = ../../../Tools/img_tools/efuse_bootheader/efusedata_mask.bin

View File

@ -0,0 +1,218 @@
[EFUSE_CFG]
########################################################################
#2bits
ef_sf_aes_mode = 0
#2bits
ef_sboot_sign_mode = 0
#2bits
ef_sboot_en = 0
#2bits
ef_dbg_jtag_dis = 0
#4bits
ef_dbg_mode = 0
#32bits
ef_dbg_pwd_low = 0
#32bits
ef_dbg_pwd_high = 0
###################################################################
ef_key_slot_2_w0 = 0
ef_key_slot_2_w1 = 0
ef_key_slot_2_w2 = 0
ef_key_slot_2_w3 = 0
ef_key_slot_3_w0 = 0
ef_key_slot_3_w1 = 0
ef_key_slot_3_w2 = 0
ef_key_slot_3_w3 = 0
ef_key_slot_4_w0 = 0
ef_key_slot_4_w1 = 0
ef_key_slot_4_w2 = 0
ef_key_slot_4_w3 = 0
wr_lock_key_slot_4_l = 0
wr_lock_dbg_pwd = 0
wr_lock_key_slot_2 = 0
wr_lock_key_slot_3 = 0
wr_lock_key_slot_4_h = 0
rd_lock_dbg_pwd = 0
rd_lock_key_slot_2 = 0
rd_lock_key_slot_3 = 0
rd_lock_key_slot_4 = 0
[BOOTHEADER_CFG]
magic_code = 0x504e4642
revision = 0x01
#########################flash cfg#############################
flashcfg_magic_code = 0x47464346
#flashcfg_magic_code=0
io_mode = 0x10
cont_read_support = 0
sfctrl_clk_delay = 1
sfctrl_clk_invert = 0x01
reset_en_cmd = 0x66
reset_cmd = 0x99
exit_contread_cmd = 0xff
exit_contread_cmd_size = 3
jedecid_cmd = 0x9f
jedecid_cmd_dmy_clk = 0
qpi_jedecid_cmd = 0x9f
qpi_jedecid_dmy_clk = 0
sector_size = 4
mfg_id = 0xff
page_size = 256
chip_erase_cmd = 0xc7
sector_erase_cmd = 0x20
blk32k_erase_cmd = 0x52
blk64k_erase_cmd = 0xd8
write_enable_cmd = 0x06
page_prog_cmd = 0x02
qpage_prog_cmd = 0x32
qual_page_prog_addr_mode = 0
fast_read_cmd = 0x0b
fast_read_dmy_clk = 1
qpi_fast_read_cmd = 0x0b
qpi_fast_read_dmy_clk = 1
fast_read_do_cmd = 0x3b
fast_read_do_dmy_clk = 1
fast_read_dio_cmd = 0xbb
fast_read_dio_dmy_clk = 0
fast_read_qo_cmd = 0x6b
fast_read_qo_dmy_clk = 1
fast_read_qio_cmd = 0xeb
fast_read_qio_dmy_clk = 2
qpi_fast_read_qio_cmd = 0xeb
qpi_fast_read_qio_dmy_clk = 2
qpi_page_prog_cmd = 0x02
write_vreg_enable_cmd = 0x50
wel_reg_index = 0
qe_reg_index = 1
busy_reg_index = 0
wel_bit_pos = 1
qe_bit_pos = 1
busy_bit_pos = 0
wel_reg_write_len = 2
wel_reg_read_len = 1
qe_reg_write_len = 2
qe_reg_read_len = 1
release_power_down = 0xab
busy_reg_read_len = 1
reg_read_cmd0 = 0x05
reg_read_cmd1 = 0x35
reg_write_cmd0 = 0x01
reg_write_cmd1 = 0x01
enter_qpi_cmd = 0x38
exit_qpi_cmd = 0xff
cont_read_code = 0xa0
cont_read_exit_code = 0xff
burst_wrap_cmd = 0x77
burst_wrap_dmy_clk = 0x03
burst_wrap_data_mode = 2
burst_wrap_code = 0x40
de_burst_wrap_cmd = 0x77
de_burst_wrap_cmd_dmy_clk = 0x03
de_burst_wrap_code_mode = 2
de_burst_wrap_code = 0xF0
sector_erase_time = 300
blk32k_erase_time = 1200
blk64k_erase_time = 1200
page_prog_time = 5
chip_erase_time = 33000
power_down_delay = 20
qe_data = 0
flashcfg_crc32 = 0
#########################clk cfg####################################
clkcfg_magic_code = 0x47464350
#clkcfg_magic_code=0
#0:Not use XTAL to set PLL, 1:XTAL is 32M, 2:XTAL is RC32M
xtal_type = 1
#0:RC32M, 1:XTAL, 2:DLL 26.6M, 3:DLL 42.67M, 4:DLL 64M, 5:DLL 128M
pll_clk = 5
hclk_div = 0
bclk_div = 1
#0:XCLK(RC32M or XTAL), 1:64M, 2:BCLK, 3:42.67M
flash_clk_type = 0
flash_clk_div = 0
clkcfg_crc32 = 0
########################boot cfg####################################
#1:ECC
sign = 0
#1:AES128,2:AES256,3:AES192
encrypt_type = 0
key_sel = 1
no_segment = 1
cache_enable = 1
notload_in_bootrom = 0
aes_region_lock = 0
cache_way_disable = 0x00
crc_ignore = 1
hash_ignore = 1
boot2_enable=1
boot2_rollback=0
########################image cfg####################################
#total image len or segment count
img_len = 0x100
bootentry = 0
#img RAM address or flash offset
img_start = 0x2000
#img hash
hash_0 = 0xdeadbeef
hash_1 = 0
hash_2 = 0
hash_3 = 0
hash_4 = 0
hash_5 = 0
hash_6 = 0
hash_7 = 0
#address of partition tables for boot2 in bootrom
boot2_pt_table_0=0x1000
boot2_pt_table_1=0x2000
flashCfgTableAddr = 0
flashCfgTableLen = 0
########################patch on read################################
patch_read_addr0 = 0
patch_read_value0 = 0
patch_read_addr1 = 0
patch_read_value1 = 0
patch_read_addr2 = 0
patch_read_value2 = 0
########################patch on jump################################
patch_jump_addr0 = 0
patch_jump_value0 = 0
patch_jump_addr1 = 0
patch_jump_value1 = 0
patch_jump_addr2 = 0
patch_jump_value2 = 0
reserved1 = 0
reserved2 = 0
crc32 = 0xdeadbeef

View File

@ -0,0 +1,69 @@
[LOAD_CFG]
#jlink or uart
interface = uart
device = COM1
speed_uart_boot = 500000
speed_uart_load = 2000000
#cklink usb vid|pid
cklink_vidpid = 42bf|b210
cklink_type = CKLink_Lite_Vendor-rog
#eg: rv_dbg_plus, ft2232hl, ft2232d
openocd_config = rv_dbg_plus
auto_burn = false
speed_jlink = 1000
#0:without load, 1:eflash_loader load, 2: bootrom load
load_function = 2
do_reset = true
#reset retry+hold time
reset_hold_time = 50
shake_hand_delay = 100
reset_revert = false
cutoff_time = 50
shake_hand_retry = 3
flash_burn_retry = 1
checksum_err_retry = 3
erase_time_out = 100000
#chiptype=bl808
check_mac = true
#0:no erase,1:programmed section erase,2:chip erase
erase = 1
# switch eflash_loader command log save
local_log = false
#0:verify by calculating SHA256(xip), >0:read back verify and verify by calculating SHA256(sbus)
verify = 0
tx_size = 4104
cpu_reset_after_load = false
#empty for auto, otherwise specified clock para file path: eg: chips/bl808/efuse_bootheader/clock_para.bin
clock_para = chips/bl808/efuse_bootheader/clock_para.bin
#skip mode set first para is skip addr, second para is skip len
skip_mode = 0x0, 0x0
boot2_isp_mode = 0
isp_mode_speed = 2000000
isp_shakehand_timeout = 0
[FLASH_CFG]
flash_id = ef4016
#bit 7-4 flash_clock_type: 0:120M wifipll, 1:xtal, 2:128M cpupll, 3:80M wifipll, 4:bclk, 5:96M wifipll
#bit 3-0 flash_clock_div
flash_clock_cfg = 0x41
#0:0.5T delay, 1:1T delay, 2:1.5T delay, 3:2T delay
flash_clock_delay = 0
#0:NIO, 1:DO, 2:QO, 3:DIO, 4:QIO
flash_io_mode = 1
#flash_pin value:
#bit 7 flash pin autoscan
#bit 6-0 flash pin cfg: 0: internal swap io0 with io3, 2: internal no swap io0 with io3, 4: external gpi34-39,
flash_pin = 0x80
#empty for auto, otherwise specified flash para file path: eg: chips/bl808/efuse_bootheader/flash_para.bin
flash_para = chips/bl808/efuse_bootheader/flash_para.bin
decompress_write = false
file = chips/bl808/img_create2/whole_img.bin
address = 00000000
[EFUSE_CFG]
burn_en = true
factory_mode = false
security_write = false
security_save = true
file = ../../../Tools/img_tools/efuse_bootheader/efusedata.bin
maskfile = ../../../Tools/img_tools/efuse_bootheader/efusedata_mask.bin

View File

@ -0,0 +1,520 @@
[EFUSE_CFG]
########################################################################
ef_sf_aes_mode=0
ef_no_xtal=0
ef_force_no_trim=0
ef_sf_key_re_sel=0
ef_dbg_jtag_0_dis=0
###################################################################
ef_dbg_pwd_low=0
ef_dbg_pwd_high=0
ef_dbg_pwd2_low=0
ef_dbg_pwd2_high=0
ef_wifi_mac_low=0
ef_wifi_mac_high=0
ef_key_slot_0_w0=0
ef_key_slot_0_w1=0
ef_key_slot_0_w2=0
ef_key_slot_0_w3=0
ef_key_slot_1_w0=0
ef_key_slot_1_w1=0
ef_key_slot_1_w2=0
ef_key_slot_1_w3=0
ef_key_slot_2_w0=0
ef_key_slot_2_w1=0
ef_key_slot_2_w2=0
ef_key_slot_2_w3=0
ef_key_slot_3_w0=0
ef_key_slot_3_w1=0
ef_key_slot_3_w2=0
ef_key_slot_3_w3=0
##########################################
ef_sw_usage_0=0
ef_sw_usage_1=0
ef_sw_usage_2=0
ef_sw_usage_3=0
ef_key_slot_11_w0=0
ef_key_slot_11_w1=0
ef_key_slot_11_w2=0
ef_key_slot_11_w3=0
###################################################################
ef_sec_lifecycle=0
wr_lock_rsvd_0=0
wr_lock_boot_mode=0
wr_lock_dbg_pwd=0
wr_lock_wifi_mac=0
wr_lock_key_slot_0=0
wr_lock_key_slot_1=0
wr_lock_key_slot_2=0
wr_lock_key_slot_3=0
wr_lock_sw_usage_0=0
wr_lock_sw_usage_1=0
wr_lock_sw_usage_2=0
wr_lock_sw_usage_3=0
wr_lock_key_slot_11=0
rd_lock_dbg_pwd=0
rd_lock_key_slot_0=0
rd_lock_key_slot_1=0
rd_lock_key_slot_2=0
rd_lock_key_slot_3=0
rd_lock_key_slot_11=0
########################################################################
ef_key_slot_4_w0=0
ef_key_slot_4_w1=0
ef_key_slot_4_w2=0
ef_key_slot_4_w3=0
ef_key_slot_5_w0=0
ef_key_slot_5_w1=0
ef_key_slot_5_w2=0
ef_key_slot_5_w3=0
ef_key_slot_6_w0=0
ef_key_slot_6_w1=0
ef_key_slot_6_w2=0
ef_key_slot_6_w3=0
ef_key_slot_7_w0=0
ef_key_slot_7_w1=0
ef_key_slot_7_w2=0
ef_key_slot_7_w3=0
ef_key_slot_8_w0=0
ef_key_slot_8_w1=0
ef_key_slot_8_w2=0
ef_key_slot_8_w3=0
ef_key_slot_9_w0=0
ef_key_slot_9_w1=0
ef_key_slot_9_w2=0
ef_key_slot_9_w3=0
ef_key_slot_10_w0=0
ef_key_slot_10_w1=0
ef_key_slot_10_w2=0
ef_key_slot_10_w3=0
ef_dat_1_rsvd_0=0
ef_dat_1_rsvd_1=0
ef_dat_1_rsvd_2=0
########################################################################
wr_lock_rsvd_1=0
wr_lock_key_slot_4=0
wr_lock_key_slot_5=0
wr_lock_key_slot_6=0
wr_lock_key_slot_7=0
wr_lock_key_slot_8=0
wr_lock_key_slot_9=0
wr_lock_key_slot_10=0
wr_lock_dat_1_rsvd_0=0
wr_lock_dat_1_rsvd_1=0
wr_lock_dat_1_rsvd_2=0
rd_lock_key_slot_4=0
rd_lock_key_slot_5=0
rd_lock_key_slot_6=0
rd_lock_key_slot_7=0
rd_lock_key_slot_8=0
rd_lock_key_slot_9=0
rd_lock_key_slot_10=0
[BOOTHEADER_GROUP0_CFG]
magic_code=0x504e4642
revision=0x01
#########################flash cfg#############################
flashcfg_magic_code=0x47464346
#flashcfg_magic_code=0
io_mode=0x10
#0.5T sfctrl_clk_delay=0 sfctrl_clk_invert=3
#1 T sfctrl_clk_delay=1 sfctrl_clk_invert=1
#1.5T sfctrl_clk_delay=1 sfctrl_clk_invert=3
cont_read_support=0
sfctrl_clk_delay=1
sfctrl_clk_invert=0x01
reset_en_cmd=0x66
reset_cmd=0x99
exit_contread_cmd=0xff
exit_contread_cmd_size=0x3
jedecid_cmd=0x9f
jedecid_cmd_dmy_clk=0
enter_32bits_addr_cmd=0xb7
exit_32bits_addr_clk=0xe9
sector_size=4
mfg_id=0xff
page_size=256
chip_erase_cmd=0xc7
sector_erase_cmd=0x20
blk32k_erase_cmd=0x52
blk64k_erase_cmd=0xd8
write_enable_cmd=0x06
page_prog_cmd=0x02
qpage_prog_cmd=0x32
qual_page_prog_addr_mode=0
fast_read_cmd=0x0b
fast_read_dmy_clk=1
qpi_fast_read_cmd=0x0b
qpi_fast_read_dmy_clk=1
fast_read_do_cmd=0x3b
fast_read_do_dmy_clk=1
fast_read_dio_cmd=0xbb
fast_read_dio_dmy_clk=0
fast_read_qo_cmd=0x6b
fast_read_qo_dmy_clk=1
fast_read_qio_cmd=0xeb
fast_read_qio_dmy_clk=2
qpi_fast_read_qio_cmd=0xeb
qpi_fast_read_qio_dmy_clk=2
qpi_page_prog_cmd=0x02
write_vreg_enable_cmd=0x50
wel_reg_index=0
qe_reg_index=1
busy_reg_index=0
wel_bit_pos=1
qe_bit_pos=1
busy_bit_pos=0
wel_reg_write_len=2
wel_reg_read_len=1
qe_reg_write_len=2
qe_reg_read_len=1
release_power_down = 0xab
busy_reg_read_len=1
reg_read_cmd0=0x05
reg_read_cmd1=0x35
reg_write_cmd0=0x01
reg_write_cmd1=0x01
enter_qpi_cmd=0x38
exit_qpi_cmd=0xff
cont_read_code=0x20
cont_read_exit_code=0xf0
burst_wrap_cmd=0x77
burst_wrap_dmy_clk=0x03
burst_wrap_data_mode=2
burst_wrap_code=0x40
de_burst_wrap_cmd=0x77
de_burst_wrap_cmd_dmy_clk=0x03
de_burst_wrap_code_mode=2
de_burst_wrap_code=0xf0
sector_erase_time=300
blk32k_erase_time=1200
blk64k_erase_time=1200
page_prog_time=50
chip_erase_time=200000
power_down_delay = 20
qe_data = 0
flashcfg_crc32=0
#########################clk cfg#####################################
clkcfg_magic_code=0x47464350
#clkcfg_magic_code=0
#0:None,1:24M,2:32M,3:38.4M,4:40M,5:26M,6:RC32M
xtal_type=4
#0:RC32M,1:Xtal,2:cpupll 400M,3:wifipll 192M,4:wifipll 320M
mcu_clk=4
mcu_clk_div=0
mcu_bclk_div=0
mcu_pbclk_div=3
lp_div=1
#0:RC32M,1:Xtal,2:wifipll 240M,3:wifipll 320M,4:cpupll 400M
dsp_clk=3
dsp_clk_div=0
dsp_bclk_div=1
#0:RC32M,1:Xtal,2:wifipll 160M,3:cpupll 160M,4:wifipll 240M
dsp_pbclk=2
dsp_pbclk_div=0
#0:mcu pbclk,1:cpupll 200M,2:wifipll 320M,3:cpupll 400M
emi_clk=2
emi_clk_div=1
#0:wifipll 120M,1:xtal,2:cpupll 100M,3:wifipll 80M,4:bclk,5:wifipll 96M
flash_clk_type=1
flash_clk_div=0
wifipll_pu=1
aupll_pu=1
cpupll_pu=1
mipipll_pu=1
uhspll_pu=1
clkcfg_crc32=0
########################boot cfg#####################################
#1:ECC
sign=0
#1:AES128, 2:AES256, 3:AES192
encrypt_type=0
key_sel=0
#0:AES CTR MODE, 1:AES XTS MODE
xts_mode=0
aes_region_lock=0
no_segment=1
boot2_enable=0
boot2_rollback=0
cpu_master_id=0
notload_in_bootrom=0
crc_ignore=1
hash_ignore=1
power_on_mm=1
em_sel=1
cmds_en=1
#0:cmds bypass wrap commands to macro, original mode;
#1:cmds handle wrap commands, original mode;
#2:cmds bypass wrap commands to macro, cmds force wrap16*4 splitted into two wrap8*4;
#3:cmds handle wrap commands, cmds force wrap16*4 splitted into two wrap8*4
cmds_wrap_mode=2
#0:SF_CTRL_WRAP_LEN_8, 1:SF_CTRL_WRAP_LEN_16, 2:SF_CTRL_WRAP_LEN_32,
#3:SF_CTRL_WRAP_LEN_64, 9: SF_CTRL_WRAP_LEN_4096
cmds_wrap_len=2
icache_invalid=1
dcache_invalid=1
fpga_halt_release=0
########################image cfg####################################
#flash controller offset
group_image_offset=0x00002000
aes_region_len=0
#total image len or segment count
img_len_cnt=0x8000
#img hash
hash_0=0xdeadbeef
hash_1=0
hash_2=0
hash_3=0
hash_4=0
hash_5=0
hash_6=0
hash_7=0
########################CPU M0 cfg###################################
m0_config_enable=1
m0_halt_cpu=0
m0_cache_enable=0
m0_cache_wa=0
m0_cache_wb=0
m0_cache_wt=0
m0_cache_way_dis=0
m0_reserved=0
m0_cache_range_h=0
m0_cache_range_l=0
#img RAM address or flash offset
m0_image_address_offset=0x00002000
m0_boot_entry=0x58000000
m0_msp_val=0
########################CPU D0 cfg###################################
d0_config_enable=1
d0_halt_cpu=0
d0_cache_enable=0
d0_cache_wa=0
d0_cache_wb=0
d0_cache_wt=0
d0_cache_way_dis=0
d0_reserved=0
d0_cache_range_h=0
d0_cache_range_l=0
#img RAM address or flash offset
d0_image_address_offset=0x00022000
d0_boot_entry=0x58020000
d0_msp_val=0
########################CPU LP cfg###################################
lp_config_enable=1
lp_halt_cpu=0
lp_cache_enable=0
lp_cache_wa=0
lp_cache_wb=0
lp_cache_wt=0
lp_cache_way_dis=0
lp_reserved=0
lp_cache_range_h=0x58050000
lp_cache_range_l=0x58040000
#img RAM address or flash offset
lp_image_address_offset=0x00042000
lp_boot_entry=0x58040000
lp_msp_val=0
boot2_pt_table_0=0
boot2_pt_table_1=0
flashCfgTableAddr=0
flashCfgTableLen=0
########################patch on read################################
patch_read_addr0=0
patch_read_value0=0
patch_read_addr1=0
patch_read_value1=0
patch_read_addr2=0
patch_read_value2=0
patch_read_addr3=0
patch_read_value3=0
########################patch on jump################################
patch_jump_addr0=0x20000320
patch_jump_value0=0
patch_jump_addr1=0x2000f038
patch_jump_value1=0x18000000
patch_jump_addr2=0
patch_jump_value2=0
patch_jump_addr3=0
patch_jump_value3=0
reserved1=0
reserved2=0
reserved3=0
reserved4=0
crc32=0xdeadbeef
[BOOTHEADER_GROUP1_CFG]
magic_code=0x50414642
revision=1
#########################flash cfg(ignored for group1)###############
#########################clk cfg(ignored for group1)#################
########################boot cfg#####################################
#1:ECC
sign=0
#1:AES128,2:AES256,3:AES192
encrypt_type=0
key_sel=0
xts_mode=0
aes_region_lock=0
no_segment=1
boot2_enable=0
boot2_rollback=0
cpu_master_id=0
notload_in_bootrom=0
crc_ignore=1
hash_ignore=1
power_on_mm=0
em_sel=0
cmds_en=1
cmds_wrap_mode=2
#2:SF_CTRL_WRAP_LEN_32, 3:SF_CTRL_WRAP_LEN_64, 9: SF_CTRL_WRAP_LEN_4096
cmds_wrap_len=2
icache_invalid=1
dcache_invalid=1
fpga_halt_release=0
########################image cfg####################################
#flash controller offset
group_image_offset=0x00052000
aes_region_len=0
#total image len or segment count
img_len_cnt=0x8000
#img hash
hash_0=0xdeadbeef
hash_1=0
hash_2=0
hash_3=0
hash_4=0
hash_5=0
hash_6=0
hash_7=0
########################CPU M0 cfg###################################
m0_config_enable=1
m0_halt_cpu=0
m0_cache_enable=0
m0_cache_wa=0
m0_cache_wb=0
m0_cache_wt=0
m0_cache_way_dis=0
m0_reserved=0
m0_cache_range_h=0
m0_cache_range_l=0
#img RAM address or flash offset
m0_image_address_offset=0x00052000
m0_boot_entry=0xD8000000
m0_msp_val=0
########################CPU D0 cfg###################################
d0_config_enable=1
d0_halt_cpu=0
d0_cache_enable=0
d0_cache_wa=0
d0_cache_wb=0
d0_cache_wt=0
d0_cache_way_dis=0
d0_reserved=0
d0_cache_range_h=0
d0_cache_range_l=0
#img RAM address or flash offset
d0_image_address_offset=0x00072000
d0_boot_entry=0x58020000
d0_msp_val=0
########################CPU LP cfg###################################
lp_config_enable=1
lp_halt_cpu=0
lp_cache_enable=0
lp_cache_wa=0
lp_cache_wb=0
lp_cache_wt=0
lp_cache_way_dis=0
lp_reserved=0
lp_cache_range_h=0
lp_cache_range_l=0
#img RAM address or flash offset
lp_image_address_offset=0x00082000
lp_boot_entry=0x58040000
lp_msp_val=0
boot2_pt_table_0=0
boot2_pt_table_1=0
flashCfgTableAddr=0
flashCfgTableLen=0
########################patch on read################################
patch_read_addr0=0
patch_read_value0=0
patch_read_addr1=0
patch_read_value1=0
patch_read_addr2=0
patch_read_value2=0
patch_read_addr3=0
patch_read_value3=0
########################patch on jump################################
patch_jump_addr0=0x20000320
patch_jump_value0=0
patch_jump_addr1=0x2000f038
patch_jump_value1=0x18000000
patch_jump_addr2=0
patch_jump_value2=0
patch_jump_addr3=0
patch_jump_value3=0
reserved1=0
reserved2=0
reserved3=0
reserved4=0
crc32=0xdeadbeef

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,885 @@
:020000040800F2
:10000000280800201D350008050A0008070A000816
:100010000B0A00080F0A0008130A0008000000007D
:10002000000000000000000000000000170A0008A7
:10003000190A0008000000001B0A00081D0A000839
:1000400037350008373500083735000837350008E0
:1000500037350008373500083735000837350008D0
:1000600037350008373500083735000837350008C0
:1000700037350008373500083735000837350008B0
:100080003735000837350008373500082F0A0008D3
:10009000370A0008373500083735000837350008BB
:1000A0003735000837350008373500083735000880
:1000B0003735000837350008373500083735000870
:1000C0003735000837350008373500083735000860
:1000D0003735000837350008373500083735000850
:1000E00037350008373500083735000800F002F8CA
:1000F00000F05AF80AA090E8000C82448344AAF168
:100100000107DA4501D100F04FF8AFF2090EBAE865
:100110000F0013F0010F18BFFB1A43F0010318473B
:1001200058350000783500000A444FF0000C10F8F4
:10013000013B13F0070408BF10F8014B1D1108BF65
:1001400010F8015B641E05D010F8016B641E01F805
:10015000016BF9D113F0080F1EBF10F8014BAD1C55
:100160000C1B09D16D1E58BF01F801CBFAD505E073
:1001700014F8016B01F8016B6D1EF9D59142D6D3CD
:10018000704700000023002400250026103A28BFF5
:1001900078C1FBD8520728BF30C148BF0B607047F9
:1001A0001FB51FBD10B510BD03F0DBF91146FFF7F9
:1001B000F7FF00F01FFB03F0F9F903B4FFF7F2FFBC
:1001C00003BC03F001FA0000EFF30980704780F3ED
:1001D00009887047EFF30880704780F308887047FC
:1001E00040BA7047C0BA704708B501211C2001F021
:1001F0006BFC4FF48040ADF8000010208DF8030038
:1002000002208DF802006946844801F0A1F94FF4FC
:100210008040824908614000ADF8000069467F488F
:1002200001F096F94FF400407C4908612020ADF8B8
:10023000000069467A4801F08BF94FF48070ADF800
:1002400000006946774801F083F94FF48060ADF80B
:10025000000048208DF803006946724801F078F9E3
:1002600008BD08B501214FF4FE7001F02DFC4FF6DA
:10027000FF70ADF8000000208DF803006946684863
:1002800001F066F96946654801F062F96946664819
:1002900001F05EF96946654801F05AF9694664481B
:1002A00001F056F96946634801F052F908BD10B5EE
:1002B0000121080701F015FC0121402001F0F7FBA6
:1002C000FFF7CFFFFFF790FF10BD38B54FF0FF30BD
:1002D0000021002807DA0A07140E574A00F00F031E
:1002E0001B1FD45403E00A07130E544A135400BFD3
:1002F0004FF4E06000F080FD25208DF80000012023
:100300008DF8020000208DF80300684600F079FDAA
:1003100038BD08B54FF4C06000F06EFD14208DF8B4
:10032000000001208DF801008DF8020000208DF8FA
:100330000300684600F065FD13208DF800000120E1
:100340008DF8010000208DF802008DF8030068464A
:1003500000F057FD08BD10B500214FF0805001F0AE
:10036000C0FB0021402001F0A2FB00214FF400005F
:1003700001F0B7FBFFF775FFFFF7CBFFFFF7A5FF16
:1003800010BD10B5002001F0FFFA0121C80501F0F1
:10039000A8FB10BD03202A49086070472948817ACC
:1003A00019B10521264A116002E00121244A116099
:1003B000704708B54FF4C06000F01EFD14208DF8A2
:1003C000000001208DF801008DF802008DF8030077
:1003D000684600F016FD13208DF8000001208DF80E
:1003E000010000208DF8020001208DF8030068460E
:1003F00000F007FD08BD01B502E00098401E009026
:1004000000980028F9D108BD0F49086000BF0E49C7
:1004100009680029FBD170477047000000100140B7
:10042000000C014000080140001401400018014088
:10043000001C01400020014018ED00E000E400E055
:10044000E0000020AC0100200000002000207047E8
:10045000012080F3138800BF00BFD748006800F474
:10046000E060D6490843001DD3490860BFF34F8FB1
:1004700000BF00BFFEE72DE9F04106460C461546D9
:1004800000F098FAA108304600F09FFA0746AF4204
:1004900002D10020BDE8F0810120FBE72DE9FC5FDF
:1004A00082460AF10304C64D42F20C074FF43C4663
:1004B00014F8018B36E0B8F1410F0ED114F8015B4E
:1004C0002D0214F8010B05432D0214F8010B05430E
:1004D0002D0214F8010B054322E0B8F1420F0ED1B2
:1004E00014F8017B3F0214F8010B07433F0214F894
:1004F000010B07433F0214F8010B074310E0B8F16A
:10050000430F0DD114F8016B360214F8010B0643AA
:10051000360214F8010B0643360214F8010B0643A9
:1005200014F8018BB8F1000FC5D1E81990F801B0AB
:10053000E85D019055F80690A81940680090B14513
:1005400006D9FF209F49087048700220BDE8FC9F33
:1005500049462846009AFFF78EFF28B1FF209949A7
:10056000087048700220F1E7964880F800B095497D
:10057000019848700220E9E730B504460022E11CEA
:1005800011F8013B11E0412B0DD111F8012B1202A2
:1005900011F8010B0243120211F8010B024312027F
:1005A00011F8010B024311F8013B002BEBD10020A5
:1005B000844D2870B2F1006F06D08348026001209C
:1005C000824D28607F4D2870012030BD10B500F0AD
:1005D000ACFC00207B490870012010BD2DE9F047DC
:1005E00007460025002697F80180FC1C14F8019BA3
:1005F00012E0B9F1410F0DD114F8015B2D0214F88E
:10060000010B05432D0214F8010B05432D0214F8CC
:10061000010B054314F8019BB9F1000FE9D1002645
:100620001BE014F8016B14F8011B46EA012614F8CC
:10063000011B46EA014614F8011B46EA01663146F1
:10064000284600F07BFD2868B04200D008E0002674
:100650002D1DA8F1040000F0FF08B8F1000FE0DC48
:1006600000BFB8F1000F03DD01205649087002E019
:100670000020544908700120BDE8F0872DE9F047BB
:100680008146002600254FF0040A09F1030414F8FE
:10069000018B24E0B8F1410F0ED114F8016B360242
:1006A00014F8010B0643360214F8010B0643360218
:1006B00014F8010B064310E0B8F1420F0DD114F805
:1006C000015B2D0214F8010B05432D0214F8010BF8
:1006D00005432D0214F8010B054314F8018BB8F102
:1006E000000FD7D1002707E04FF4806101FB0760BE
:1006F00000F054FC82467F1CAF4202D2BAF1040FD4
:10070000F2D0AF4203D201202E49087002E000204F
:100710002C4908700120BDE8F08710B500F0F9FB06
:10072000002028490870012010BD10B50024284978
:10073000012002F0E8FD264800786138092824D21B
:10074000DFE800F01705090E2323131C2100FFF733
:10075000E4FF04461DE01E48FFF790FF044618E042
:100760001B48FFF73BFF044613E0FFF72FFF04464B
:100770000FE01748FFF700FF04460AE01448FFF7B0
:100780008DFE044605E0FFF763FEFFF75FFE0446BB
:1007900000BF00BF002C08DD22460A49812002F07C
:1007A0009BFD3021012002F0D6F94FF44051012089
:1007B00002F0EFF910BD00000CED00E00000FA05BA
:1007C000004000086C010020080000200C00002000
:1007D0002C01002010B5044660686A49086008468C
:1007E0000068694908602068FFF7F7FC6648006800
:1007F000804710BD2DE9F041FFF759FDFFF7D9FD06
:10080000FFF7BFFD01F06CFF042000F044FB5F48E0
:1008100000684FF47A72B0FBF2F1B1F1807F01D33E
:1008200001201DE021F07F40401E4FF0E02250618A
:1008300050170F22002807DA13071F0E544B00F041
:100840000F06361F9F5503E013071E0E514B1E5413
:1008500000BF00204FF0E0229061072010610020CF
:1008600008B100BFFEE70DE04FF480404A494861FF
:100870006420FFF7C9FD4FF48040474908616420B8
:10088000FFF7C2FD454800680528EDD14FF48040D0
:1008900041494861C820FFF7B7FD7C2000F0E9FF1F
:1008A00028B94FF480613E4800F0E5FE50BB01F0EE
:1008B00049F926E04FF48040374948614FF4FA7017
:1008C000FFF7A2FD4FF48040334908614FF4FA70FE
:1008D000FFF79AFD3348006898B14FF480402E49E5
:1008E0004861C820FFF790FD4FF480402A49086115
:1008F000C820FFF789FDFFF72EFD2B480068FFF7A2
:1009000069FFD7E701F01EF928480468001D056853
:10091000B4F5784F00D910242A4621462448FFF721
:10092000AAFD30B324E04FF480401B494861C82041
:10093000FFF76AFD4FF4804017490861C820FFF7B0
:1009400063FD1848006898B14FF48040124948612F
:10095000C820FFF759FD4FF480400F490861C820B7
:10096000FFF752FDFFF7F7FC0F480068FFF732FF73
:10097000D9E7FFF7F0FC0E48FFF72CFF0020BDE899
:10098000F081000010000020140000201801002059
:1009900018ED00E000E400E000100140E00000205D
:1009A000000801400C0000200800002000FC0008A6
:1009B000004000080120124988607047014608BACB
:1009C0000F4A106010460068704710B502460B468B
:1009D000002100BF05E052F8210000BA084C206059
:1009E000491C9942F7D30648006810BD04480068C6
:1009F000704703490871704701480079704700004B
:100A000000300240704700BFFEE700BFFEE700BFB6
:100A1000FEE700BFFEE77047704770470848006870
:100A200020B107480068401E05490860704710B5AE
:100A300001F0A8FF10BD10B500F00EF810BD0000C9
:100A40000000002010B5FFF770FE10BD0120014925
:100A5000087070470400002010B537480068374917
:100A600008800846008800F400403549098808409D
:100A700008B101F053FE3148008800F4806030492D
:100A80000988084030B14FF6FF302B4908602D49E6
:100A9000486880472948008800F4005028490988A0
:100AA000084018B14DF6FF702349086023480088BC
:100AB00000F4805022490988084030B14EF6FF709A
:100AC0001D490860002000F039F91C48008800F436
:100AD00000601B490988084060B11B48007810B1CC
:100AE00000F00CF902E0022000F028F94FF2FF704C
:100AF000114908601148008800F400701049098805
:100B0000084040B14FF6FF500B4908600F4800788D
:100B1000401C0E4908700948008800F4807008499C
:100B20000988084030B14FF6FF600349086007208C
:100B300000F004F910BD0000445C004018000020E3
:100B40000E0100205C000020E40000201A000020BC
:100B500010B500204C490968887200F0A7F802F02F
:100B6000ADFB00204949086010BD10B50020464982
:100B70000968887244490968C8724548C079424981
:100B800009684872002001F0B3FF4FF400710020A3
:100B900001F0C8FF1021002001F0DDFF1821002026
:100BA00002F097F95821002002F087F9002002F0A6
:100BB0008FF8384890F82C10002002F0D0F900206F
:100BC00002F04AF843F2210033490860A0210120D5
:100BD00002F07FF9E021012002F06FF940210120AD
:100BE00002F0BDF92B4890F82C10002002F0B7F964
:100BF000002002F031F8002001F0E3FC012023493D
:100C0000086010BD20480068807A30B105201F4977
:100C100008604FF4804021494861704704201B4917
:100C200008607047704770470146002070470146D2
:100C30000020704710B504461949204601F0B7F965
:100C400010BD10B504461749204601F0B0F910BD9B
:100C500070B505460C480068C478042C01DD0020FE
:100C600070BD114800EBC401284601F0A0F9F7E778
:100C70000246002901DD02207047002A01DD022022
:100C8000FAE70020F8E7000004010020E00000205F
:100C9000E83500085C000020045C004000100140C2
:100CA000B0000020B8000020C000002020204D4AE5
:100CB0001060C0004C4A106001214C4801600020C7
:100CC0004B4A108010460088484A10600020121DD0
:100CD00010604FF4E050464A108010460088434AA6
:100CE0001060002070470120404908600020091D65
:100CF00008600320091F08600020704710B53B48BA
:100D0000006884B244F0080438480460006884B283
:100D100044F0040435480460FFF73CFB10BD10B5F7
:100D20003248006884B224F0040430480460FFF7BD
:100D300035FB4FF43F402D49086010BD70B50546A6
:100D4000072D01D02B4805702A480078082841D289
:100D5000DFE800F0040A1016212E4142FFF7DFFF02
:100D60000620244908703BE0FFF7D9FF0420214901
:100D7000087035E002201F494870032008702FE0FA
:100D80001C484078401E1B4948700846407808B906
:100D90000420087024E01548006884B244F0100470
:100DA000124804600520134908700A20487017E0B3
:100DB00010484078401E0F4948700846407840B9B6
:100DC0000A48006884B224F0100408480460062031
:100DD000087005E000BF00BF06200649087000BF8C
:100DE00000BF70BD100C014014080140405C004081
:100DF0000E010020E500002031490143314A116015
:100E0000704770B5002100230F22C47804B32D4C25
:100E1000246804F4E064C4F5E064210AC1F1040329
:100E2000CA40447804FA03F184781440214309014C
:100E3000254C0678A155047804F01F050124AC4028
:100E400005786D11AD0005F1E025C5F8004109E018
:100E5000047804F01F050124AC401C4D067876117F
:100E600045F8264070BD1A4A0A400243154B1B1F25
:100E70001A60704739B1134A121D12680243114BB0
:100E80001B1D1A6006E00F4A121D126882430D4BAB
:100E90001B1D1A607047042808D14FF0E021096932
:100EA00041F004014FF0E022116107E04FF0E02132
:100EB000096921F004014FF0E02211617047000040
:100EC0000000FA050CED00E000E400E080E100E045
:100ED00080FFFF1F01460020FE4A106800F0380026
:100EE000084310607047FB49096821F00801F94A7E
:100EF000116011460968014311607047F54909689E
:100F000021F01001F34A1160114609680143116094
:100F10007047F148EF494860F04848607047EE4834
:100F2000EC494860ED4848607047EA48006940F085
:100F30008000E84908617047E648006940F0800099
:100F4000E449086170470420E249C96801F00101E1
:100F500009B101200EE0DF49C96801F0040109B1BF
:100F6000022007E0DB49C96801F0100109B1032044
:100F700000E00420704700B502460423FFF7E3FFBA
:100F8000034603E0FFF7DFFF0346521E012B01D1AA
:100F9000002AF7D102B90523184600BD30B5044632
:100FA00004254FF43020FFF7E6FF0546042D17D146
:100FB000C848006940F00200C6490861084644611B
:100FC000006940F0400008614FF43020FFF7D3FF84
:100FD0000546C048006941F6FD710840BD490861F9
:100FE000284630BD10B504244FF43020FFF7C3FF6E
:100FF0000446042C16D1B748006940F00400B549F6
:1010000008610846006940F0400008614FF4302054
:10101000FFF7B1FF0446AF48006941F6FB71084095
:10102000AC490861204610BD00B502460423FFF715
:101030008AFF034603E0FFF786FF0346521E012B9B
:1010400001D1002AF7D102B90523184600BD10B519
:1010500004244FF43020FFF7E7FF0446042C16D198
:101060009C48006940F004009A49086108460069FC
:1010700040F0400008614FF43020FFF7D5FF0446F0
:101080009448006941F6FB71084092490861204686
:1010900010BD00208F49C96901F0020109B101208A
:1010A00000E00020704730B5A5250424FFF7F1FFCC
:1010B00000B100254FF43020FFF75DFF0446042CFB
:1010C0003AD1854883498860844888600846006929
:1010D00040F0200008610846006940F040000861C7
:1010E0004FF43020FFF747FF0446042C1BD179480A
:1010F000006941F6DF7108407649086108460069D9
:1011000040F01000086176480580E002FFF733FFE9
:101110000446052C10D06F48006941F6EF71084075
:101120006C49086108E0052C06D06A48006941F660
:10113000EF71084067490861204630BD78B5064622
:101140000C46042500200090E802FFF714FF054636
:10115000042D24D15F48006940F001005D49086119
:101160003480E802FFF707FF0546042D10D1B01CBC
:101170000090200C00990880E802FFF7FCFE05466D
:101180005448006941F6FE7108405249086106E082
:101190005048006941F6FE7108404E4908612846F2
:1011A00078BD70B504460D460426F002FFF7E3FE55
:1011B0000646042E11D14748006940F00100454918
:1011C00008612580F002FFF7D6FE06464148006917
:1011D00041F6FE7108403F490861304670BD70B568
:1011E00005460E460424E002FFF7C5FE0446042C23
:1011F00017D13948374988603848886008460069FF
:1012000040F0100008612E80E002FFF7B4FE0446B3
:10121000052C06D02F48006941F6EF7108402D4992
:101220000861204670BD2DE9F04304464FF6FF7675
:101230003746B046B1460425E443E6B2C4F3072777
:10124000C4F307484FEA1469E802FFF794FE054625
:10125000042D49D120481F498860204888600846ED
:10126000006940F010000861FF2E06D01C480830CD
:101270000680E802FFF77FFE0546042D08D1FF2F08
:1012800006D017480A300780E802FFF774FE0546CB
:10129000042D0AD1B8F1FF0F07D011480C30A0F887
:1012A0000080E802FFF767FE0546042D0AD1B9F178
:1012B000FF0F07D00A480E30A0F80090E802FFF7B1
:1012C0005AFE0546052D0FD00248006941F6EF7120
:1012D000084007E00020024023016745AB89EFCDBD
:1012E00000F8FF1F664908612846BDE8F08330B565
:1012F000054604244FF43020FFF73DFE0446042C3D
:1013000041D160485E4988605F488860084600694E
:1013100040F0200008610846006940F04000086184
:101320004FF43020FFF727FE0446042C22D1544806
:10133000006941F6DF7108405149086108460069BB
:1013400040F0100008611DB100205049088002E003
:10135000A5204E4908804FF43020FFF70CFE0446CC
:10136000052C10D04648006941F6EF710840444909
:10137000086108E0052C06D04148006941F6DF719C
:1013800008403F490861204630BDF0B505460E468D
:10139000174604243B483A4988603B488860E0028D
:1013A000FFF7E9FD0446042C19D13548006940F0E7
:1013B00010003349086147F0F800304328433349AF
:1013C000891C0880E002FFF7D6FD0446052C06D0F4
:1013D0002B48006941F6EF71084029490861204611
:1013E000F0BD2748C069800870472548006A7047EB
:1013F00000202349096801F0200109B1012000E023
:101400000020704729B11E4A126902431C4B1A6121
:1014100004E01B4A12698243194B1A617047014666
:101420000020012908D1164AD26902F001020AB14E
:10143000012008E0002006E0114AD2680A400AB103
:10144000012000E0002070470D49C860704704206B
:101450000B49C96801F0010109B101200EE00849FA
:10146000C96801F0040109B1022007E00449C96814
:1014700001F0100109B1032000E0042070470000D2
:101480000020024023016745AB89EFCD00F8FF1F24
:1014900010B50446CC48844208D10121042000F054
:1014A0002DFB0021042000F029FB46E0C7488442C0
:1014B00008D10121082000F021FB0021082000F0C4
:1014C0001DFB3AE0C248844208D10121102000F0FF
:1014D00015FB0021102000F011FB2EE0BD488442D6
:1014E00008D10121202000F009FB0021202000F07C
:1014F00005FB22E0B848844208D10121402000F0D9
:10150000FDFA0021402000F0F9FA16E0B3488442C9
:1015100008D10121802000F0F1FA0021802000F0A4
:10152000EDFA0AE0AE48844207D10121801500F0AF
:10153000E5FA0021A01500F0E1FA10BD10B5012177
:10154000084600F0DBFA0021012000F0D7FA10BDB8
:101550002DE9F0410246002500260020002300244A
:10156000002791F803C00CF00F0591F803C00CF0B0
:10157000100CBCF1000F03D091F802C04CEA050535
:1015800091F800C0BCF1000F31D0146800202BE0AE
:101590004FF0010C0CFA00F3B1F800C00CEA03069E
:1015A0009E4220D183004FF00F0C0CFA03F7BC438E
:1015B00005FA03FC4CEA040491F803C0BCF1280FBF
:1015C00006D14FF0010C0CFA00FCC2F814C00AE07E
:1015D00091F803C0BCF1480F05D14FF0010C0CFA93
:1015E00000FCC2F810C0401C0828D1D31460B1F828
:1015F00000C0BCF1FF0F34DD546800202EE000F184
:10160000080C4FF0010808FA0CF3B1F800C00CEA1E
:1016100003069E4221D183004FF00F0C0CFA03F712
:10162000BC4305FA03FC4CEA040491F803C0BCF186
:10163000280F05D100F1080C08FA0CF8C2F8148044
:1016400091F803C0BCF1480F07D100F1080C4FF02E
:10165000010808FA0CF8C2F81080401C0828CED304
:101660005460BDE8F0814FF6FF7101800221817066
:101670000421C17070470246002093680B400BB1F3
:10168000012000E0002070470146886880B2704762
:1016900002460020D3680B400BB1012000E000207F
:1016A00070470146C86880B2704701617047416168
:1016B00070470AB1016100E041617047C160704745
:1016C0004FF480320A43826181618261826982695A
:1016D000704702460020434B18684FF6807318404D
:1016E00040EA021008433F4B186070473E49C8610A
:1016F0007047F0B50A46002300240021002500F0C1
:101700000046B6F1004F02D1364EF16901E0354E88
:101710007168C0F3034583B200F44016B6F5401F6C
:1017200008D121F070612F4E766826F070662D4F3B
:101730007E6012E000F48016B6F5801F06D1032605
:1017400006FA05F4A14341F0706106E0460D36014A
:1017500003FA06F6B14341F0706122B1460D36013D
:1017600003FA06F6314300F00046B6F1004F02D10D
:101770001C4EF16101E01B4E7160F0BD30B50022DE
:101780008B071C0F0F2303FA04F2164B08338C103F
:1017900053F824309343134C08348D1044F825300B
:1017A00023468C1053F824308C07240F00FA04F4DD
:1017B00023430C4C08348D1044F8253030BD0A49C1
:1017C000DC3108607047000000080140000C014057
:1017D000001001400014014000180140001C0140AD
:1017E000002001400000014000002042DF48006866
:1017F00040F00100DD49086008464068DC490840C7
:10180000DA49486008460068DA490840D749086064
:101810000846006820F4802008600846406820F4EC
:10182000FE0048604FF41F0088607047CF49096888
:1018300021F48031CD4A11601146096821F48021DC
:101840001160B0F5803F03D0B0F5802F0ED106E0D7
:10185000C649096841F48031C44A116007E0C349B0
:10186000096841F4A021C14A116000E000BF00BF37
:10187000704710B501460022002300204A11012ABA
:1018800002D1BA4C236806E0022A02D1B74C236A7F
:1018900001E0B64C636A01F01F02012494401C4031
:1018A0000CB1012000E0002010BD38B500200090F0
:1018B0000024002500BF3120FFF7DBFF054600981C
:1018C000401C00900098B0F5A06F01D0002DF2D020
:1018D0003120FFF7CEFF08B1012400E000242046AC
:1018E00038BD01460020A14A106820F0F80040EA07
:1018F000C10010607047A049086070470246002090
:101900009A4B586820F47C1042EA01031843974B25
:101910005860704798490866704701460020934A0E
:10192000506820F003000843506070478F484068BB
:1019300000F00C007047014600208C4A506820F0EF
:10194000F00008435060704701460020874A506805
:1019500020F4E06008435060704701460020834A4D
:10196000506820F4605040EAC1005060704729B1CF
:101970007E4A527A02437D4B5A7204E07B4A527A85
:1019800082437A4B5A7270477B49D831086070475E
:1019900001460020754A506820F4404008435060DA
:1019A00070470021714A20321170704A82F820106D
:1019B000012802D004280AD104E001216B4A203218
:1019C000117005E00521694A2032117000E000BF66
:1019D00000BF70476949086070476449096A01435C
:1019E000624A11627047654944390860704730B5F2
:1019F00000210022002400235C4D6D6805F00C01DD
:101A000021B1042905D0082923D105E05C4D0560EA
:101A100022E05B4D05601FE0544D6D6805F47012C7
:101A2000524D6D6805F48034022505EB92421CB9D5
:101A3000544D554305600BE04C4D6D6805F4003581
:101A40001DB1504D5543056002E04D4D55430560B5
:101A500002E04B4D056000BF00BF444D6D6805F0CE
:101A6000F0010909484D6B5C0568DD4045603F4D5C
:101A70006D6805F4E061090A434D6B5C4568DD4023
:101A800085603A4D6D6805F46051C90A3E4D6B5C46
:101A90004568DD40C560354D6D6805F44041890BF2
:101AA0003A4D6B5CC568B5FBF3F5056130BD29B1F6
:101AB0002E4A526902432D4B5A6104E02B4A526967
:101AC00082432A4B5A61704729B1284A92690243DE
:101AD000264B9A6104E0254A92698243234B9A611E
:101AE000704729B1214AD2690243204BDA6104E0F0
:101AF0001E4AD26982431D4BDA61704729B11B4AE5
:101B0000D2680243194BDA6004E0184AD268824373
:101B1000164BDA60704729B1144A12690243134B1D
:101B20001A6104E0114A12698243104B1A6170472E
:101B300012494039086070470F49C86470470B4923
:101B4000C87170470948406A40F080700749486290
:101B5000704701460020054A92680A400AB10120F8
:101B600000E0002070470149887270470010024071
:101B70000000FFF8FFFFF6FE0000424280044242F0
:101B800000127A0000093D00E7000020F700002065
:101B900010B504462CB90120F649096808820020D6
:101BA00010BDF549096808688047F24800680A30A6
:101BB000F6E710B5EF480068C078F04949788842E8
:101BC00013DCEC480068807878B9EA4800688088BF
:101BD00058B9E8480068C078E64909688872E6495B
:101BE000096848688047002010BD0220FCE710B556
:101BF00004462CB90120DF4909680882002010BD85
:101C0000DD49096888688047DA4800680C30F6E7E3
:101C100010B5D84B1B68D978D64B1B685879D84B70
:101C20001B689A6990470446D2480068807AE8B1F8
:101C30003CB9D0480068007918B9CE48006880786F
:101C400008B1022010BD8CB9CB490968C86880472B
:101C5000C84800684079C7490968C872C548006823
:101C6000C078C449096808730020EBE70220E9E75F
:101C700010B504462CB90220BE490968088200202C
:101C800010BD0020BF490880BA480068007800F005
:101C90007F0018BBB7490968487A00F0200131B1CC
:101CA000B849097841F00201B64A117005E0B5491A
:101CB000097801F0FD01B34A117000F0400131B123
:101CC000B049097841F00101AE4A117005E0AD4913
:101CD000097801F0FE01AB4A11703AE0A5480068AE
:101CE000007800F07F00012801D1A648C8E7A1488C
:101CF0000068007800F07F00022828D19D4A126811
:101D0000517901F00F0001F080027AB19E4B03EB94
:101D10008002D2F8002C02F03002102A16D1994A23
:101D2000127842F00102974B1A700FE0964B03EBCA
:101D30008002D2F8002C02F44052B2F5805F05D147
:101D4000904A127842F001028E4B1A7001E0002096
:101D500096E789490968086980478A4890E72DE92C
:101D6000F04784480068007800F07F08B8F1000F61
:101D70000AD180480068407A00F0DF007D49096898
:101D800048720020BDE8F087B8F1020F7ED1794893
:101D90000068408818B977480068007908B10220C7
:101DA000F0E7DFF8D89173480068477927F080059D
:101DB0002C4670480068407900F0800038B17249C4
:101DC00001EB8400D0F8000C00F0300606E06E490C
:101DD00001EB8400D0F8000C00F4405699F80000A4
:101DE000A84204D91EB163480068807A08B902206D
:101DF000C8E707F0800080B1634901EB8400D0F8A8
:101E0000000C00F0300010284BD1E0B201F01DF8BA
:101E1000E0B2302100F09FFE43E05B4901EB84001B
:101E2000D0F8000C00F44050B0F5805F39D1E4B92F
:101E3000564A92F82C10E0B201F091F8524A02EBA7
:101E40008401D1F8001C4BF68F7201EA020080F485
:101E5000805080F4005040F4004141F080014A4B32
:101E600003EB8402C2F8001C1BE0E0B200F0D5FFD7
:101E7000454A02EB8401D1F8001C4BF68F7201EA4F
:101E8000020080F4805080F4005000E00FE040F445
:101E9000004141F080013C4B03EB8402C2F8001C7E
:101EA00000BF354909684869804700206AE700BFDC
:101EB000022067E72DE9F0412E480068467926F0B8
:101EC00080073C462B480068407900F0800038B11C
:101ED0002D4901EB8400D0F8000C00F0300506E03D
:101EE000294901EB8400D0F8000C00F44055234848
:101EF0000078A04208D91F480068408820B91DB169
:101F00001C480068807A10B90220BDE8F08106F014
:101F10008000A0B11C4A02EB8401D1F8001C48F6F5
:101F2000BF7201EA020080F0100040F4004141F06D
:101F30008001154B03EB8402C2F8001C14E0124A26
:101F400002EB8401D1F8001C4BF68F7201EA02000B
:101F500080F4805040F4004141F080010A4B03EBD3
:101F60008402C2F8001C00BF0349096888698047E1
:101F70000020CAE7040100201001002059000020C1
:101F800008010020FC000020005000405C00002000
:101F900010B5F7480068407A40F02000F44909681D
:101FA0004872F4490968C8698047002010BD10B51F
:101FB0000246EF480068438A32B98888C01AEC4C60
:101FC00024682082002010BD08681844FBE72DE932
:101FD000F041E748006800F110042688A068C0B10D
:101FE000BEB1A588B54200D93546A8B2A1688847D8
:101FF00007462088401B208060882844608000209D
:1020000000F07FFF8046AAB24146384600F03EFD10
:1020100000BF208850B14FF44050D74908800021BC
:10202000084600F07AFF3020D44908802088A18833
:10203000884204DB0320CE490968087218E0208832
:10204000002804DD0520CA490968087210E02088CC
:1020500070B90620C649096808720021C84800689E
:1020600080B2801CC74A42F810103020C349088053
:10207000BDE8F0812DE9F047BD48006800F110058A
:102080002E88BB480068077AD6B9042F18D1BE48FD
:10209000007801280FD10021B948006880B2801C67
:1020A000B84A42F810103020B449088000BF002020
:1020B000B549087003E007271020B049088027E0E1
:1020C000AC88A64201D8042000E002200746B442B2
:1020D00000D93446A0B2A96888478046002000F0A5
:1020E00005FF8146A2B24946404600F0B5FCA1B2C8
:1020F000002000F012FF2888001B288068882044F8
:10210000688030209D49088000029B49088000BFFC
:10211000974909680F72BDE8F08770B502269448A8
:102120000068447892480068007800F07F0000283A
:1021300044D1092C03D1FFF73CFD06465FE0052C96
:1021400014D18B480068C0787F280BDC8848006871
:10215000807838B986480068808818B98448006853
:10216000807A08B1082565E0002648E0032C0ED1EE
:102170007F480068C078012807D17D4800688088C2
:1021800018B9FFF705FF064639E0022637E0012CB3
:1021900035D177480068C07801280DD174480068AF
:1021A000808848B972480068407A00F0200018B171
:1021B000FFF7D5FD064622E0022620E06C480068C5
:1021C000007800F07F00012805D10B2C17D1FFF714
:1021D0001FFD064613E066480068007800F07F00A7
:1021E00002280BD1012C03D1FFF7B9FD064606E00A
:1021F000032C04D1FFF75EFE064600E002264EB136
:10220000E0B2624A1268516988470646032E01D13E
:1022100009250FE00EB108250CE0062500215848DD
:10222000006880B2801C574A42F810103020534991
:10223000088000BF4E4909680D7270BD2DE9F84F46
:102240004B48006845780027BA46062D1BD1484800
:102250000068007800F07F00002813D14449096825
:102260008878012803D149490968CF690AE0022822
:1022700003D1464909680F6A04E0032802D14349A3
:1022800009684F6AADE0002D67D139480068408881
:10229000002862D136480068C08802285DD13448E1
:1022A00000680079002858D131480068007800F0B3
:1022B0007F0030B92E480068808810B9AFF24F67B0
:1022C0008FE02B480068007800F07F00012811D1D2
:1022D0002749096848792D4909688A69002190478A
:1022E00000287ED122480068807A002879D0AFF299
:1022F0007F6776E01E480068007800F07F000228C3
:102300006FD11B480068407900F00F06184800683C
:10231000407900F0700916480068407900F08000AC
:1023200038B11B4901EB8600D0F8000C00F03008F2
:1023300006E0174901EB8600D0F8000C00F4405885
:1023400014480078B0424CD9B9F1000F49D1B8F126
:10235000000F46D0AFF2E76743E0082D1CD10448D8
:102360000068007800F07F00D8BBAFF2DB7738E080
:10237000040100201001002014010020160100209B
:10238000505C004000600040FE000020080100207A
:1023900000500040590000200A2D22D1C548006895
:1023A000007800F07F0001281BD1C2480068807AC5
:1023B000B8B1C0480068408898B9BE480068007944
:1023C00078B9BC480068C08801280AD1B9490968B1
:1023D0004879B94909688A690021904708B9AFF27C
:1023E000F17757B1B3480068A0F812A0B14800686F
:1023F00087610020B84700240FE0AE4A1268507889
:10240000AD4A1268116988470446032C05D109209A
:10241000A84909680872BDE8F88FA6480068008AD4
:102420004FF6FF71884204D10920A2490968087259
:10243000F1E7022C03D09F480068008A20B90820E9
:102440009C4909680872E6E79A480068007800F03D
:102450008000E0B397480068C08800909548006805
:10246000008A0099884204D9924900980968088234
:1024700023E090480068008A8E490968C98888422C
:102480001BDA8C480068008A8B49096891F82C1087
:10249000884203DA0020894908700EE08548006808
:1024A000008A8549096891F82C1090FBF1F201FB34
:1024B000120010B90120814908707F48006890F827
:1024C0002C107C4800688182FFF7D4FD07E0FFE70D
:1024D000032078490968087200037949088000BF21
:1024E00099E710B5774890F82C10002000F037FDE0
:1024F00070480068007A082805D1400270490880B9
:102500001020714908806B480068007A092801D1C1
:10251000012010BD0020FCE738B501246B4800689D
:1025200080B2001D6A4931F8100080B201EB400012
:10253000009060480068007A092832D0009800783E
:102540005C49096808700098401C00900098007869
:102550005849096848700098401C0090009800EBAA
:1025600044000090009931F8020B009100F0A0FEA9
:10257000504909684880009800EB44000090009999
:1025800031F8020B009100F093FE4A4909688880F7
:10259000009800EB440000900098008845490968C5
:1025A000C880012043490968087242480068C08811
:1025B00010B9FFF7B2FD01E0FFF740FEFFF791FF12
:1025C00038BD30B50146434B1A78002014E00306AD
:1025D000414C04EB9353D3F8003C48F68F742340EE
:1025E00048F280042343C4B2234304063A4D05EB6A
:1025F0009454C4F8003C401C9042E8D341F080035E
:10260000324C241F236030BD10B52A480068047A7C
:10261000022C01D0042C05D1FFF72CFD25480068C1
:10262000047A1CE0062C19D122480068407805285D
:102630000ED120480068007800F07F0040B91D49A5
:102640000968C878FFF7BDFF24490968086A804710
:102650001949096888688047082400E0082415495A
:1026600009680C72FFF73DFF10BD10B511480068F6
:10267000047A022C01D0042C01D1082412E0032C8E
:1026800001D0052C05D1FFF7A2FC0A480068047AA6
:1026900008E0072C05D108490968C8688047082464
:1026A00000E00824034909680C72FFF71AFF10BD07
:1026B000704700000401002008010020FE000020F7
:1026C000140100205C00002016010020505C004036
:1026D0000060004059000020005000401001002020
:1026E00010B50848084908600220096808720748C0
:1026F00007490860074808490860054909680868EB
:10270000804710BDAC010020040100205C000020C7
:10271000080100208C0000201001002008B50020D6
:10272000009022E1C448008800F00F00C3490870FF
:102730000846007800287CD1C1480068C14908805B
:102740000846008800F03000BF490880BD48008876
:1027500000F44050BB490880B94909684BF6BF7284
:1027600001EA020080F4005080F0200040F40041B3
:1027700041F08001B24A1160AF48008800F01000BB
:1027800090BB1046006848F60F710840114608607B
:10279000FFF73AFFAA4909684BF6BF7201EA020047
:1027A000A849098801F4805109B180F48050A549F5
:1027B000098801F4005109B180F40050A249098848
:1027C00001F0100109B180F010009F49098801F063
:1027D000200109B180F0200081B241F4004141F0B4
:1027E0008001974A116008BDFFE79548006880B2F4
:1027F0000090BDF8000000F40060B0B3904800689D
:10280000C0F30E0048F68F7108408D490860FFF74D
:1028100083FE8B4909684BF6BF7201EA02008949C1
:10282000098801F4805109B180F4805085490988F4
:1028300000E056E001F4005109B180F400508249F3
:10284000098801F0100109B180F010007E49098863
:1028500001F0200109B180F0200081B241F4004173
:1028600041F08001764A1160BDE7FFE7BDF8000046
:1028700000F40040002878D071480068C0F30E00D2
:1028800048F68F7108406E490860FFF7EEFE6C490C
:1028900009684BF6BF7201EA02006A49098801F42F
:1028A000805109B180F480506649098801F40051D3
:1028B00009B180F400506449098801F0100109B1A0
:1028C00080F010006049098801F0200109B180F012
:1028D000200081B241F4004141F08001584A11606A
:1028E00081E756480078594901EB8000D0F8000C88
:1028F00080B20090BDF8000000F40040C0B14F4825
:10290000007801EB8000D0F8000CC0F30E0048F610
:102910008F710840494909784C4A02EB8101C1F89E
:10292000000C46490978491E494A52F8210080475F
:10293000BDF8000000F08000B8B14048007843497D
:1029400001EB8000D0F8000C48F60F7108403B49BD
:1029500009783E4A02EB8101C1F8000C3749097839
:10296000491E3C4A52F821008047354844300068EF
:1029700080B23149088000F4004000287FF4D2AED4
:1029800000BF30E710B500244AE047F6FF702C493D
:10299000443108602848008800F00F00274908707B
:1029A00008460078294901EB8000D0F8000C84B279
:1029B00004F40040C8B12148007801EB8000D0F851
:1029C000000CC0F30E0048F68F7108401B490978CF
:1029D0001E4A02EB8101C1F8000C18490978491E12
:1029E0001B4A52F8210080471AE004F08000B8B179
:1029F00012480078154901EB8000D0F8000C48F629
:102A00000F7108400D490978104A02EB8101C1F8A5
:102A1000000C0A490978491E0E4A52F821008047E5
:102A200007484430006880B20349088000F4004041
:102A30000028AAD110BD00001800002000010020CD
:102A4000005C0040140100201601002000500040EE
:102A5000380000201C000020F0B5144604F1010CE1
:102A60004FEA6C07DFF848C00CEB41033D460AE033
:102A70000678401C90F800C046EA0C2223F8022B8E
:102A80009B1C401C6D1E002DF2D1F0BDF0B5561CF4
:102A90007510074E06EB41042B4605E034F8047B25
:102AA00020F8017B401C5B1E002BF7D1F0BD00001D
:102AB00000600040FA4908607047F948006880B239
:102AC0007047F749091D08607047F548001D006808
:102AD00080B27047F2480830006880B27047F04911
:102AE0000C3108607047EE480C30006880B27047C7
:102AF0004FF6F8710140EA4A103211607047E84819
:102B00001030006880B27047E64B03EB8002C2F8D9
:102B1000001C70470146E34A02EB8100D0F8000C2C
:102B200080B2704710B5DF4B03EB8002D2F8002C67
:102B300048F68F131A400A43DA4C04EB8003C3F8BB
:102B4000002C10BD0146D74A02EB8100D0F8000CE2
:102B500000F4C060704730B5D24C04EB8003D3F86A
:102B6000003C48F6BF7403EA040201F010030BB105
:102B700082F0100201F020030BB182F0200242F437
:102B8000004343F08003C74D05EB8004C4F8003CCC
:102B900030BD30B5C34C04EB8003D3F8003C4BF69A
:102BA0008F7403EA040201F480530BB182F4805263
:102BB00001F400530BB182F4005242F4004343F09D
:102BC0008003B84D05EB8004C4F8003C30BD30B53F
:102BD00003460C461846FFF79DFF0546012C07D11A
:102BE00025F48050AF4A02EB8301C1F8000C08E0E5
:102BF000022C06D125F01000AA4A02EB8301C1F88D
:102C0000000C30BD0146A74A02EB8100D0F8000C51
:102C100000F0300070470146A24A02EB8100D0F874
:102C2000000C00F44050704710B59E4B03EB80023F
:102C3000D2F8002C48F6BF7302EA030181F01001BC
:102C400081F0200141F4004242F08002954C04EBF7
:102C50008003C3F8002C10BD10B5924B03EB80022B
:102C6000D2F8002C4BF68F7302EA030181F48051F5
:102C700081F4005141F4004242F08002894C04EB9F
:102C80008003C3F8002C10BD864A02EB8001D1F806
:102C9000001C41F4807148F68F72114048F28002A6
:102CA0001143804B03EB8002C2F8001C70477D4A41
:102CB00002EB8001D1F8001C48F68F62114048F207
:102CC00080021143774B03EB8002C2F8001C70476F
:102CD000744A02EB8001D1F8001C48F68F62114063
:102CE00048F2800211436F4B03EB8002C2F8001CD4
:102CF00070476C4A02EB8001D1F8001C41F48071EE
:102D000048F68F72114048F280021143654B03EB85
:102D10008002C2F8001C7047624A02EB8001D1F8C1
:102D2000001C41F4807148F68F72114048F2800215
:102D300011435C4B03EB8002C2F8001C7047594AF8
:102D400002EB8001D1F8001C48F68F62114048F276
:102D500080021143534B03EB8002C2F8001C704702
:102D60000146504A02EB8100D0F8000C00F0300020
:102D7000102801D1012070470020FCE70146494A94
:102D800002EB8100D0F8000C00F44050B0F5805FF9
:102D900001D1012070470020FCE7424A02EB80018C
:102DA000D1F8001CC1F30E0148F68F7211403D4B63
:102DB00003EB8002C2F8001C70473A4A02EB800124
:102DC000D1F8001C48F60F721140364B03EB80021D
:102DD000C2F8001C7047334A02EB8001D1F8001C96
:102DE00048F68F7211404CF2800211432D4B03EBD9
:102DF0008002C2F8001C70472A4A02EB8001D1F819
:102E0000001C48F68F72114048F2C0021143254B56
:102E100003EB8002C2F8001C7047224A02EB8001DB
:102E2000D1F8001C01F4804171B102EB8001D1F8AE
:102E3000001C48F68F7211404CF280021143194B6E
:102E400003EB8002C2F8001C7047164A02EB8001B7
:102E5000D1F8001C01F0400171B102EB8001D1F802
:102E6000001C48F68F72114048F2C00211430D4B0E
:102E700003EB8002C2F8001C704710B5094B03EB4E
:102E80008002D2F8002C48F68F731A4048F2800373
:102E90001A430A43034C04EB8003C3F8002C10BD13
:102EA000405C0040005000400146FC4A02EB8100BB
:102EB000D0F8000C00F00F00704710B54A10520017
:102EC000F74B1B689BB203EBC003F64C44F813208E
:102ED00010BD10B54A105300F14A126892B202EBCD
:102EE000C002121DEF4C44F8123010BD0146EC48F0
:102EF000006880B200EBC100EA4A32F8100080B2EC
:102F000070470146E648006880B200EBC100001D32
:102F1000E44A32F8100080B27047E14A126892B277
:102F200002EBC002921CDF4B43F8121070470246BE
:102F30003E290BDD481101F01F030BB9431E98B267
:102F40004FF4004343EA8023136007E0481001F088
:102F500001030BB1431C98B283021360704710B594
:102F60000246CF48006880B200EBC200801DCD4C05
:102F700004EB40033E290BDD481101F01F040CB99E
:102F8000441EA0B24FF4004444EA80241C6007E0D1
:102F9000481001F001040CB1441CA0B284021C6072
:102FA00010BD0146BE48006880B200EBC100801C25
:102FB000BC4A32F81000C0F3090070470146B84817
:102FC000006880B200EBC100801DB64A32F81000E4
:102FD000C0F30900704730B54B105B00B04C24685B
:102FE000A4B204EBC004AF4D45F8143053105C009C
:102FF000AB4B1B689BB203EBC0031B1D45F8134092
:1030000030BD10B54A105200A54B1B689BB203EBB4
:10301000C003A44C44F8132010BD10B54A1053004F
:103020009F4A126892B202EBC002121D9D4C44F8F6
:10303000123010BD01469A48006880B200EBC10012
:10304000984A32F8100080B27047014694480068F0
:1030500080B200EBC100001D924A32F8100080B22D
:10306000704730B50B46012B1FD18D49096889B2D5
:1030700001EBC001891C8B4D05EB41043E2A0BDDA1
:10308000511102F01F050DB94D1EA9B24FF40045B4
:1030900045EA8125256007E0511002F001050DB1D8
:1030A0004D1CA9B28D0225600AE0022B08D17C4993
:1030B000096889B201EBC001891C7A4C44F81120DF
:1030C000012B1FD17649096889B201EBC001891D26
:1030D000744D05EB41043E2A0BDD511102F01F0532
:1030E0000DB94D1EA9B24FF4004545EA8125256072
:1030F00007E0511002F001050DB14D1CA9B28D027F
:1031000025600AE0022B08D16549096889B201EB04
:10311000C001891D634C44F8112030BD30B5034611
:1031200001291FD15E48006880B200EBC300801CFB
:103130005C4D05EB40043E2A0BDD501102F01F05EB
:103140000DB9451EA8B24FF4004545EA802525601B
:1031500007E0501002F001050DB1451CA8B2850230
:1031600025600AE0022908D14D48006880B200EBD2
:10317000C300801C4B4C44F8102030BD30B50346D2
:1031800001291FD14648006880B200EBC300801DB2
:10319000444D05EB40043E2A0BDD501102F01F05A3
:1031A0000DB9451EA8B24FF4004545EA80252560BB
:1031B00007E0501002F001050DB1451CA8B28502D0
:1031C00025600AE0022908D13548006880B200EB8A
:1031D000C300801D334C44F8102030BD01463048F8
:1031E000006880B200EBC100801C2E4A32F810004B
:1031F000C0F30900704701462948006880B200EB1F
:10320000C100801D274A32F81000C0F30900704742
:1032100001462348006880B200EBC100801D214AAE
:1032200032F8100000F47C4008B1012070471C48BF
:10323000006880B200EBC100801C1A4A32F810000E
:10324000C0F3090008B10220F0E70020EEE710B556
:10325000012910D1114B03EB8002D2F8002C48F663
:103260008F731A4048F2C0031A430C4C04EB8003DE
:10327000C3F8002C11E002290FD1084B03EB8002A8
:10328000D2F8002C48F68F731A404CF280031A4390
:10329000024C04EB8003C3F8002C10BD005000402A
:1032A000505C004000600040024641EA0220704746
:1032B0000146CAB20B1243EA0220704700201D49A2
:1032C00008604FF43F401C490880084600881949AF
:1032D000091F0860002070472DE9F04104460E46A2
:1032E000154604F07F00FFF701FE0746AAB23946F3
:1032F0003046FFF7B1FBA9B204F07F00FFF70DFEE7
:103300000020BDE8F0812DE9F04104460E4600257D
:1033100004F07F00FFF752FE054604F07F00FFF740
:10332000F0FD07462A4639463046FFF7AFFB2846F0
:10333000BDE8F081445C00400E0100200CB5002087
:10334000019000906C48006840F480306A49086041
:1033500000BF6948006800F4003000900198401CEC
:103360000190009818B90198B0F5A06FF1D16248AA
:10337000006800F4003010B10120009001E000204E
:1033800000900098012843D15C48006840F010008C
:103390005A4908600846006820F0030008600846A3
:1033A000006840F002000860534840685249486095
:1033B0000846406848600846406840F480604860BD
:1033C0000846406820F47C1048600846406840F495
:1033D000E81048600846006840F08070086000BF50
:1033E0004548006800F000700028F9D04248406865
:1033F00020F00300404948600846406840F0020061
:10340000486000BF3C48406800F00C000828F9D133
:103410000CBD10B5FFF792FF10BD10B5364800681F
:1034200040F00100344908600846406834490840CB
:103430003149486008460068324908402E49086012
:103440000846006820F4802008600846406820F4A0
:10345000FE0048604FF41F008860FFF7DAFF4FF06E
:1034600000602949086010BD10B50021002000222D
:10347000214B5B6803F00C0121B1042906D0082917
:1034800028D107E0214B224C236027E01F4B204C22
:10349000236023E0184B5B6803F47010164B5B68E5
:1034A00003F48032022303EB904022B9194B4343CB
:1034B000174C23600DE0104B5B6803F4003323B11D
:1034C000144B4343124C236003E0104B4343104C16
:1034D000236003E00D4B0E4C236000BF00BF064B82
:1034E0005B68C3F303130C4CE15C094B1B68CB40D6
:1034F000074C236010BD0000001002400020024075
:103500000000FFF8FFFFF6FE08ED00E000127A0071
:103510001801002000093D001C01002009488047D7
:1035200009480047FEE7FEE7FEE7FEE7FEE7FEE7A5
:10353000FEE7FEE7FEE7FEE704480549054A064BBD
:10354000704700001B340008ED000008280200202E
:103550002808002028040020280400207047704715
:103560007047754600F02CF8AE4605006946534694
:1035700020F00700854618B020B5FFF7DDFFBDE855
:1035800020404FF000064FF000074FF000084FF0CA
:10359000000B21F00701AC46ACE8C009ACE8C0095B
:1035A000ACE8C009ACE8C0098D46704710B50446C8
:1035B000AFF300802046BDE81040FCF7FEBD0000E0
:1035C00000487047C801002001491820ABBEFEE743
:1035D00026000200704712010002FF00004010C5E3
:1035E00011B203020102000109022000010100C022
:1035F000320904000002FF0000000705010240003C
:10360000000705810240000004030904260343006B
:103610002D0053004B00590020004D00690063004D
:1036200072006F00730079007300740065006D0014
:103630007300440343002D0053004B005900200049
:1036400043004B004C0069006E006B002D004C00E5
:1036500069007400650020004600690072006D007A
:10366000770061007200650020004C006F0061006F
:103670006400650072000000983600080000002019
:103680002C01000028010008143700082C0100203C
:10369000FC0600008401000841021701134D0A0CCA
:1036A0001408B126040A19451C5113020113510BC9
:1036B0001B086B0413250C1B0827041A29041A2F56
:1036C000041A71041A35041A43041A510441324091
:1036D000293C1A05100916581A1D1C13D635330833
:1036E000121AE80832201308363308041A0C08327C
:1036F000261A3208F24459E02D0102030404480856
:1037000006070809020406A701192BA24A577939AE
:043710002935000057
:04000005080000ED02
:00000001FF

View File

@ -0,0 +1,557 @@
:100000000215C2AA22A9231218D322021A2090E6AE
:10001000B9E0243D600624037014C32290E74074C5
:10002000AAF0E490E68AF090E68B04F0C322D32293
:10003000D322320210FA7F0212222390E6BAE0F5B0
:1000400019223202110090E50DE030E402C322D300
:1000500022D322021100AF35AE34AD33AC32786F0B
:10006000121888E53604786EF6E5362401F553E477
:1000700033F552E52E30E609E654FCF65353FC8086
:100080000EE52E30E509786EE654FEF65353FE7801
:100090006E16AA26A9271218D3852B82852A83E4F7
:1000A000FF1218D7AF35AE34AD33AC3278881218A2
:1000B00088852B82852A837F011218D7AF35AE340D
:1000C000AD33AC32788C121888E5287003020257E1
:1000D0007AF879007EF87F0074F8F59D7400F59E3B
:1000E00090E67C7468F0E4F0786EE6F02468F554ED
:1000F0000812186F8F358E348D338C32853182859E
:100100003083E4FF1218D7E52E547F64057051D375
:10011000E5539400E5529400500302022F85478274
:10012000854683E4FD7F071218D77F0F121DA58532
:100130002B82852A837F011218D790E67CE535F063
:100140002554F554854782854683E4FD7F041218C3
:10015000D77F0F121DA5E55315537002155280AFBE
:10016000E52E547F6425705ED3E5539400E55294E8
:1001700000500302022F854782854683E4FD7F08F5
:100180001218D77F0F121DA5852B82852A837F0128
:100190001218D790E67CE535F0E534F0E5352554C6
:1001A000F5542534F5548547828546837D017F04C7
:1001B0001218D77F0F121DA574FE2553F55374FF37
:1001C0003552F55280A2D3E5539400E55294004095
:1001D0005E854782854683E4FD7F091218D77F0F2D
:1001E000121DA5852B82852A837F011218D790E6E0
:1001F0007CE535F0E534F0E533F0E532F0E5352522
:1002000054F5542534F5542533F5542532F55485E9
:1002100047828546837D037F041218D77F0F121D06
:10022000A574FC2553F55374FF3552F55280979011
:10023000E67CE554F07416F0786EE6FD7C0024064A
:10024000FDE43390E698F0000000AF05EF90E699EA
:10025000F0000000020377786F12186F8F358E342C
:100260008D338C32853182853083E4FF1218D7E5D7
:100270002E547F6404704DD3E5539400E5529400EE
:10028000500302037790E67BE0F5358531828530B7
:10029000837F011218D7854782854683E4FD7F0A54
:1002A0001218D77F0F121DA5854782854683E4FD6E
:1002B0007F041218D77F0F121DA5E5531553700246
:1002C000155280B3E52E547F64247054D3E55394C3
:1002D00000E5529400500302037790E67BE0F53589
:1002E000E0F5348531828530837F011218D7854748
:1002F00082854683E4FD7F0B1218D77F0F121DA560
:100300008547828546837D017F041218D77F0F12AF
:100310001DA574FE2553F55374FF3552F55280AC7C
:10032000D3E5539400E5529400404C90E67BE0F511
:1003300035E0F534E0F533E0F53285318285308300
:100340007F011218D7854782854683E4FD7F0C1212
:1003500018D77F0F121DA58547828546837D037FB1
:10036000041218D77F0F121DA574FC2553F5537482
:10037000FF3552F55280A9788C12186F8F358E3464
:100380008D338C328531828530837F011218D77886
:100390008812186F8F358E348D338C32853182857B
:1003A0003083E4FF1218D7AA4CA94D1218D322AEFD
:1003B00051C291C290D290EE5480FDC413131354D5
:1003C00001FDC291C290D290C291C290D290D291BE
:1003D000C290D290D291C290D2907B01EEA2D0E492
:1003E000332BFBEEA2E09291C290D290A2E19291C7
:1003F000C290D290A2E29291C290D290A2E3929146
:10040000C290D290A2E49291C290D290A2E5929131
:10041000C290D290A2E69291C290D290A2E792911D
:10042000C290D290EB139291C290D290D291C2908E
:10043000D290D291C290D290C291C290D290ED242B
:10044000FF9291C290D290D291C290D290D291C29A
:1004500090D290D291C290D290ED70030204E0D27B
:100460009653B3FDC290D2907F04C290D290A291D5
:1004700092E0C290D290A29192E1C290D290A291C9
:1004800092E2C290D290A29192E3C290D290A291B5
:1004900092E4C290D290A29192E5C290D290A291A1
:1004A00092E6C290D290A29192E7FE74312FF8A604
:1004B00006DFB7E52DC394085005853532800DE57C
:1004C0002DC394105006853533853432C290D290B6
:1004D000C290D290C29643B302D291C290D29022DF
:1004E0007B01E52DC39408500C853235E4F534F5D5
:1004F00033F5328017E52DC394105010E55130E0EC
:100500000B853335853234E4F533F5327F047431AD
:100510002FF8E6FEA2D0E4332BFBEE139291C290AB
:10052000D290EEA2E19291C290D290A2E29291C2B8
:1005300090D290A2E39291C290D290A2E49291C202
:1005400090D290A2E59291C290D290A2E69291C2EE
:1005500090D290339291C290D290DFB2EB139291ED
:10056000C290D290D291C290D290D291C290D290A9
:1005700022787312186F8F358E348D338C327883D6
:10058000A632E532540FFFBF010E7521FF7522031D
:100590007523AF1221E8800C7521FF75220C75239D
:1005A000D312213B7883E654F0FFBF20387545FF16
:1005B00075461A75478B7542FF75430F7544107564
:1005C00025FF75261E752782754BFF754C1D754DD1
:1005D0005A7529FF752A1F752B8E752FFF75301CD4
:1005E00075316D8071BF10387545FF7546197547B7
:1005F000477542FF75430D7544F67525FF75261E38
:10060000752739754BFF754C1D754D0F7529FF7595
:100610002A1F752B4F752FFF75301C75311B8036C7
:100620007545FF7546147547007542FF754314758F
:1006300044007525FF7526207527FF754BFF754C07
:1006400021754D1D7529FF752A1C752BBF752FFF50
:1006500075301775315BE53430E20C7883E6540F62
:10066000FFBF0103122211E53430E11220E00FC276
:1006700094787F12186F121F0FD294020706E53488
:1006800020E11130E00EC295787B12186F121F0F17
:10069000D2958072E53430E16D30E06AC294C29543
:1006A000787B12186F787F12187BD312185E402C5B
:1006B000787B12186F121F0FD295787B12187BC0AF
:1006C00000787F12186FD000C3EF9BFFEE9AFEED0B
:1006D00099FDEC98FC121F0FD294802A787F121893
:1006E0006F121F0FD294787F12187BC000787B1294
:1006F000186FD000C3EF9BFFEE9AFEED99FDEC98CA
:10070000FC121F0FD2955334F8AF35AE34AD33AC75
:1007100032787312188822E5362401F553E433F554
:1007200052755118752D1FAA22A9231218D375517D
:100730001974F92518F51874FF3517F517E55345A1
:100740005270030208A6E518AE177802CEC313CE86
:1007500013D8F9F5558E547802C333CE33CED8F979
:10076000FFC3E5189FF557E5179EF556C3E5559568
:1007700053E55495524003020878C3E5539555F567
:1007800053E5529554F552D3E5559400E554940041
:10079000402090E67BE0F535E0F534E0F533E0F518
:1007A00032AA22A9231218D3E55515557002155403
:1007B00080D5D3E5579400E5569400400690E67B3B
:1007C000E0F535D3E5579401E5569400400690E6F0
:1007D0007BE0F534D3E5579402E55694004006904B
:1007E000E67BE0F53390E6917480F0000000E5AA26
:1007F00030E0030080F890E690E0FE90E691E07C27
:10080000002400F518EC3EF5177AF079007EF07FB1
:100810000074F0F59A7400F59BD3E5579400E55603
:100820009400500302073DE5579402E556940050AA
:100830000690E67BE0F534C3E5579403E556940053
:10084000500690E67BE0F53390E67BE0F532AA2295
:10085000A9231218D3E55315537002155274FC25C1
:1008600018F51874FF3517F517E5572518F518E52D
:10087000563517F51702073DD3E5539400E552941A
:1008800000500302073D90E67BE0F535E0F534E0EB
:10089000F533E0F532AA22A9231218D3E5531553F4
:1008A0007002155280D2227AF079007EF07F0074B7
:1008B000F0F59A7400F59B90E690E0FE90E691E0EA
:1008C0007C002400F518EC3EF51790E67BE06468A8
:1008D00060037F002290E67BE0F52E5480F52CE546
:1008E0002E547F1218AD091100094B01099002091D
:1008F000AA0309BB0409D505096306097E0709F2A5
:100900000C09BB2409D52509BB4409D54500000ABB
:100910000CE4F52890E67BE0F551E0F551E0F52D8B
:100920002401FFE433FEEF7803CEC313CE13D8F9CE
:10093000FFEFD39400400E90E67BE0FE74312FF879
:10094000A6061F80EC755202020A11752801752C4B
:100950000190E67BE0F551E0F551E0F52D7552028E
:10096000020A11E4F52890E67BE0F551E0F535E068
:10097000F534E0F533E0F532755201020A117528BD
:1009800001752C0190E67BE0F551755201020A11C8
:10099000E4F52890E67BE0F524E0F535E0F534E079
:1009A000F533E0F5327552038067752801752C0127
:1009B00090E67BE0F5247552038056E4F52890E636
:1009C0007BE0F535E0F534E0F533E0F532E0F5367F
:1009D000755204803C752801E4F52C90E67BE0F527
:1009E00035E0F534E0F533E0F532E0F536755204E4
:1009F000801FE4F52890E67BE0F535E0F534E0F57E
:100A000033E0F532E0F5367552058005E4F52CF556
:100A100052AF52227E127F008E0A8F0B7512127512
:100A2000131275081275091C75101275113C751496
:100A30001275155C90E680E030E70E85080C85099C
:100A40000D85100E85110F800C85100C85110D85FC
:100A5000080E85090FEE54E07003020B73755A00FF
:100A6000755B807E127F008E5C8F5DC374B09FFFCC
:100A700074129ECF2402CF3400FEE48F598E58F5B5
:100A800057F556F555F554F553F552AF59AE58ADE7
:100A900057AC56AB55AA54A953A852C312185E506E
:100AA0002AE55B2555F582E55A3554F58374CDF07A
:100AB000E4FAF9F8E5552401F555EA3554F554E919
:100AC0003553F553E83552F55280C0E4F555F554E9
:100AD000F553F552AF59AE58AD57AC56AB55AA5475
:100AE000A953A852C312185E5037E55D2555F5820B
:100AF000E55C3554F583E0FFE55B2555F582E55A65
:100B00003554F583EFF0E4FAF9F8E5552401F5558D
:100B1000EA3554F554E93553F553E83552F552802A
:100B2000B3855A0A855B0B74002480FF741234FF6E
:100B3000FEC3E5139FF513E5129EF512C3E50D9F65
:100B4000F50DE50C9EF50CC3E50F9FF50FE50E9E28
:100B5000F50EC3E5099FF509E5089EF508C3E51103
:100B60009FF511E5109EF510C3E5159FF515E514E9
:100B70009EF51422AF35AE34AD33AC327884121802
:100B800088AA26A9271218D3E5287003020C26E5A7
:100B90002454E0701EE524541FFF852B82852A8390
:100BA0001218D7AF35AE34AD33AC32788412188812
:100BB000020CBEE52454E0FF6480600DEF64A06089
:100BC00008EF64C06003020CBE852B82852A83E493
:100BD000FF1218D7AF35AE34AD33AC327888121867
:100BE00088854482854383AD247F021218D77F1FF6
:100BF000121DA5852B82852A83E4FF1218D7AF35F5
:100C0000AE34AD33AC327884121888788812186FFD
:100C10008F358E348D338C32853182853083E4FF7D
:100C20001218D7020CBEE52454E0701D7884121807
:100C30006F8F358E348D338C32E524541FFF853110
:100C4000828530831218D78075E52454E0FF6480D4
:100C5000600AEF64A06005EF64C07062852B828536
:100C60002A83E4FF1218D7AF35AE34AD33AC3278F7
:100C700088121888788412186F8F358E348D338CD3
:100C800032853182853083E4FF1218D7854482850E
:100C90004383AD247F031218D77F1F121DA57877D9
:100CA00012186F121F0F788812186F8F358E348DBF
:100CB000338C32853182853083E4FF1218D7AA4CF9
:100CC000A94D1218D3788412186F8F358E348D3356
:100CD0008C3222D291D290C290D291D290C290C244
:100CE00091D290C290C291E551D290C290A2E0926E
:100CF00092D290C290A2E19292D290C290A2E2923D
:100D000092D290C290A2E39292D290C290A2E49228
:100D100092D290C290A2E59292D290C290A2E69214
:100D200092D290C290A2E79292D291D290C290D2E7
:100D300091D290C290D291D290C290C291D290C2E0
:100D400090C291E52D240113C313C313FDEDD39479
:100D500000406F74312DF8E6D290C290A2E09292DA
:100D6000A29392E0D290C290A2E19292A29392E1D9
:100D7000D290C290A2E29292A29392E2D290C290BA
:100D8000A2E39292A29392E3D290C290A2E49292B2
:100D9000A29392E4D290C290A2E59292A29392E59D
:100DA000D290C290A2E69292A29392E6D290C29082
:100DB000A2E79292A29392E7FF74312DF8A6071D45
:100DC000808BE52D2401FFE433FEEF7803CEA2E70C
:100DD00013CE13D8F8FDEDD3940040031D80F7D255
:100DE00091D290C290D291D290C290C291D290C230
:100DF00090D290C29022ED541FFEEF14B40C00402C
:100E000003020F06900E1275F003A4C58325F0C5EA
:100E10008373020E36020E44020E78020EAF020FEA
:100E200006020F06020EBA020EC6020ED3020EE032
:100E3000020EEC020EF9EE4420F5357534488E337F
:100E40007532C422ED54E0FFBFA00F753520753414
:100E500060EE4420F5337532C022BFC00F753520D7
:100E6000753460EE44E0F5337532C1227535207576
:100E700034608E337532C022ED54E0FFBFA00FEE18
:100E80004420F5357534647533207532C022BFC0F7
:100E90000FEE4420F5357534647533E07532C122A8
:100EA000EE4420F535753464E4F5337532C0228E96
:100EB00035E4F534F5337532A022E4F535F53475B3
:100EC00033207532D822E4F535753410753320752A
:100ED00032D822E4F5357534207533207532D822A6
:100EE000E4F535F5347533207532DC22E4F53575DB
:100EF00034107533207532DC22E4F53575342075F5
:100F000033207532DC22E4F535F534F533F5322241
:100F1000ED541FFEEF14B40C004003021020900F9C
:100F20002C75F003A4C58325F0C58373020F50020E
:100F30000F5E020F92020FC9021020021020020F52
:100F4000D4020FE0020FED020FFA02100602101396
:100F5000EE4420F5357534488E337532C422ED5495
:100F6000E0FFBFA00F753520753460EE4420F533E7
:100F70007532C022BFC00F753520753460EE44E075
:100F8000F5337532C1227535207534608E33753274
:100F9000C022ED54E0FFBFA00FEE4420F5357534BC
:100FA000647533207532C022BFC00FEE4420F53582
:100FB0007534647533E07532C122EE4420F5357521
:100FC0003464E4F5337532C0228E35E4F534F533FC
:100FD0007532E422E4F535F5347533207532D822C4
:100FE000E4F5357534107533207532D822E4F535C3
:100FF0007534207533207532D822E4F535F5347513
:1010000033207532DC22E4F53575341075332075E4
:1010100032DC22E4F5357534207533207532DC225C
:10102000E4F535F534F533F532227AF879007EF8B7
:101030007F0074F8F59D7400F59E90E67C7468F06E
:10104000E4F07D68E52E547F14604A24FC700302AE
:1010500010F924FE601224E270030210F924E070FB
:10106000030210F92442707890E67CE535F02DFDFE
:10107000E534F02DFDE533F02DFDE532F02DFDF0EA
:101080007416F0E490E698F000000090E699740879
:10109000F00000002290E67CE52DF02DFDE52D24EA
:1010A00001FFE433FEEF7803CEC313CE13D8F9FF6C
:1010B000FEEED39400400E74312EF8E690E67CF0FC
:1010C0002DFD1E80EC90E67CEDF07416F0E490E6C9
:1010D00098F0000000EF240590E699F0000000224F
:1010E00090E67CEDF07416F0E490E698F0000000D5
:1010F00090E6997404F00000002253D8EF32D32216
:10110000022174000221D2000221BC0002218C00C5
:1011100002204300021FCD00020032000200420004
:101120000211FE000211FF0002227F000222800055
:101130000222810002228200022283000222840015
:10114000022285000200420002228600022287005D
:10115000022288000222890002228A0002228B00D9
:1011600002228C0002004200020042000200420003
:1011700002228D0002228E0002228F0002229000A5
:101180000222910002229200022293000222940085
:101190000222950002229600022297000222980065
:1011A0000222990002229A0002229B0002229C0045
:1011B00002229D0002229E008E528F5390E600E094
:1011C00054187012E5532401FFE43552C313F5524D
:1011D000EF13F553801590E600E05418FFBF100B95
:1011E000E55325E0F553E55233F552E5531553AE7B
:1011F00052700215524E6005121ECB80EE22323222
:1012000012010002FF00004010C510B102010102EE
:1012100000010A060002FF00004001000902200050
:10122000010100800F0904000002FF000000070513
:1012300002020002000705860200020009022000E7
:1012400001010080320904000002FF0000000705D0
:101250000202400000070586024000000403090462
:10126000260343002D0053004B00590020004D0081
:101270006900630072006F007300790073007400EE
:1012800065006D0073002A0343002D0053004B00DE
:101290005900200043004B004C0069006E006B00B9
:1012A0002D004C00690074006500200056003100DC
:1012B0000000C291C290D290C291C290D290D291BD
:1012C000C290D290D291C290D290D291C290D2903C
:1012D0007F01E52DC39408500C853235E4F534F5D3
:1012E00033F5328012E52DC39410500B85333585CC
:1012F0003234E4F533F5327E0474312EF8E6FDA283
:10130000D0E4332FFFED139291C290D290EDA2E181
:101310009291C290D290A2E29291C290D290A2E316
:101320009291C290D290A2E49291C290D290A2E502
:101330009291C290D290A2E69291C290D2903392B2
:1013400091C290D290DEB2EF139291C290D290D21D
:1013500091C290D290D291C290D29022D291D2904A
:10136000C290C291D290C290C291E52D240113C3C4
:1013700013C313FFEFD39400406F74312FF8E6D2FC
:1013800090C290A2E09292A29392E0D290C290A2D8
:10139000E19292A29392E1D290C290A2E29292A2A2
:1013A0009392E2D290C290A2E39292A29392E3D25D
:1013B00090C290A2E49292A29392E4D290C290A2A0
:1013C000E59292A29392E5D290C290A2E69292A266
:1013D0009392E6D290C290A2E79292A29392E7FEF5
:1013E00074312FF8A6061F808BD291D290C290D272
:1013F00091D290C290C291D290C290D290C29022CB
:10140000ED541FFEEF14B40C00400302149D901421
:101410001C75F003A4C58325F0C583730214400234
:10142000144B02145A02146902149D02149D0214F2
:101430007302147A02148102148802148F02149623
:10144000EEC454F04EF53375321222EEC454F0F56A
:1014500033EEC4540F4410F53222EEC454F0F53389
:10146000EEC4540F4418F53222EEC454F0F533752F
:10147000322022E4F5337532A122E4F5337532C10E
:1014800022E4F53375328122E4F5337532B122E47A
:10149000F5337532D122E4F53375329122E4F53318
:1014A000F5322290E6B8E0546024E0605924E06010
:1014B000652440706F90E6B9E014601E24FE601F42
:1014C00024FD602024FE6021146023146025146034
:1014D00027240B702812164E8051121533804C129F
:1014E00018D980471216D68042122247803D12003A
:1014F0003680381222588033122278802E90E6A04F
:10150000E04401F0802590E6B9E0FF800090E6A07D
:10151000E04401F0801512000E501090E6A0E04467
:1015200001F0800790E6A0E04401F090E6A0E044DE
:1015300080F02290E6B8E0541F24FE60162402706A
:101540007990E6BAE0B40103C2002290E6A0E0443C
:1015500001F02290E6BAE0705990E6BCE0FF547EBC
:10156000FD7C00EFD3948040067E007F0180047EE6
:10157000007F00EE4CFEEF4D24B2F58274223EF562
:1015800083E493FF3395E0FEEF24A1FFEE34E68F72
:1015900082F583E054FEF090E6BCE0FF5480FE1339
:1015A0001313541FFEEF540F2E90E683F0E04420F7
:1015B000F02290E6A0E04401F02290E6A0E0440191
:1015C000F022787FE4F6D8FD75818F0216090219A2
:1015D000B5E493A3F8E493A34003F68001F208DF97
:1015E000F48029E493A3F85407240CC8C333C454EB
:1015F0000F4420C8834004F456800146F6DFE4809F
:101600000B01020408102040809021A4E47E019385
:1016100060BCA3FF543F30E509541FFEE493A36070
:10162000010ECF54C025E060A840B8E493A3FAE4CB
:1016300093A3F8E493A3C8C582C8CAC583CAF0A31C
:10164000C8C582C8CAC583CADFE9DEE780BE90E6A6
:10165000B8E0541F14601D14602324027065A200BA
:10166000E433FF25E0FFA202E4334F90E740F0E4CB
:10167000A3F08056E490E740F0A3F0804D90E6BCE4
:10168000E0FF547EFD7C00EFD3948040067E007F17
:101690000180047E007F00EE4CFEEF4D24B2F58207
:1016A00074223EF583E493FF3395E0FEEF24A1FF1F
:1016B000EE34E68F82F583E0540190E740F0E4A336
:1016C000F0800790E6A0E04401F0E490E68AF09014
:1016D000E68B7402F02290E6BBE024FE601B1460EF
:1016E0004C24FD602114603824067067E50A90E6FA
:1016F000B3F0E50B90E6B4F022E50C90E6B3F0E52C
:101700000D90E6B4F022120046500DE51290E6B3BB
:10171000F0E51390E6B4F02290E6A0E04401F02258
:10172000E50E90E6B3F0E50F90E6B4F02290E6BA4D
:10173000E0FF1220D4AA06A9077B01EA494B600BFF
:10174000EE90E6B3F0EF90E6B4F02290E6A0E0442D
:1017500001F02290E6A0E04401F022AB07752D7F56
:1017600075514B85354185344085333F85323E7810
:101770006612186F8F3D8E3C8D3B8C3A7862121842
:101780006F8F398E388D378C36EBC454F04BF5356E
:10179000753412753207753380AA22A9231218D323
:1017A000752D7F75510B85354185344085333F85D7
:1017B000323E786612186F8F3D8E3C8D3B8C3A78A6
:1017C0006212186F8F398E388D378C36E4F535F507
:1017D00034753206753380AA22A9231218D322AF9A
:1017E00051C291C290D290C291C290D290C291C285
:1017F00090D290D291C290D290D291C290D2907E4B
:1018000001EFA2D0E4332EFEEFA2E09291C290D27B
:1018100090A2E19291C290D290A2E29291C290D213
:1018200090A2E39291C290D290A2E49291C290D2FF
:1018300090A2E59291C290D290A2E69291C290D2EB
:1018400090A2E79291C290D290EE139291C290D260
:1018500090D291C290D290D291C290D29022EB9F1E
:10186000F5F0EA9E42F0E99D42F0E89C45F022E660
:10187000FC08E6FD08E6FE08E6FF22E6FB08E6F9BE
:1018800008E6FA08E6CBF822ECF608EDF608EEF6E4
:1018900008EFF622D083D082E493F608740193F621
:1018A00008740293F608740393F6740473D083D01B
:1018B00082F8E4937012740193700DA3A393F874EB
:1018C0000193F5828883E4737402936860EFA3A3A5
:1018D000A380DF8A838982E47390E6B8E0541F24F2
:1018E000FE601D2402705890E6BAE0FFB40103D2F6
:1018F0000022EFB40202222290E6A0E04401F0228E
:1019000090E6BCE0FF547EFD7C00EFD3948040065F
:101910007E007F0180047E007F00EE4CFEEF4D24B0
:10192000B2F58274223EF583E493FF3395E0FEEF37
:1019300024A1FFEE34E68F82F583E04401F022908B
:10194000E6A0E04401F022ED541FFEEF24FCB409B0
:1019500000505C90196175F003A4C58325F0C58320
:10196000730219910219AF0219AF02199A0219A153
:101970000219A802198A02198302197C753340756D
:1019800032582275334075325422753340753250C7
:1019900022EE25E0F5337532202275334075324052
:1019A000227533407532442275334075324822E443
:1019B000F535F53422C203C200C202C201121B5F18
:1019C000120A14D2E843D82090E668E04408F09068
:1019D000E65CE0443DF0D2AF90E680E054F7F0538F
:1019E0008EF8C203D2043001051214A3C2013003E1
:1019F000291200515024C203121EFB20001690E64B
:101A000082E030E704E020E1EF90E682E030E60497
:101A1000E020E0E41220A81210FE121BBE80C722B4
:101A2000C0E0C0F0C083C082C0D075D000C000C08C
:101A300001C002C003C004C005C006C007E4FFFE29
:101A4000FDFCAB1DAA1CA91BA81AD312185E401ED0
:101A5000AF1DAE1CAD1BAC1A74FF2FF51DEE34FF8D
:101A6000F51CED34FFF51BEC34FFF51A8002C28C37
:101A7000D007D006D005D004D003D002D001D000CA
:101A8000D0D0D082D083D0F0D0E032ED541FFEEF22
:101A900024FCB409005059901AA575F003A4C5831D
:101AA00025F0C58373021AD5021AF0021AF0021A41
:101AB000DB021AE2021AE9021ACE021AC7021AC09F
:101AC0007533207532B0227533207532A8227533F4
:101AD000207532A0228E3375322022753320753264
:101AE000802275332075328822753320753290221A
:101AF000E4F535F53422D291D290C290D291D290B1
:101B0000C290C291D290C290C291E551D290C2903F
:101B1000A2E09292D290C290A2E19292D290C29010
:101B2000A2E29292D290C290A2E39292D290C290FC
:101B3000A2E49292D290C290A2E59292D290C290E8
:101B4000A2E69292D290C290A2E79292D291D290C3
:101B5000C290D291D290C290C291D290C290229063
:101B6000E600E054E74410F090E61074A0F090E630
:101B700011F000000090E61274AAF0000000E4905A
:101B8000E613F000000090E61474E2F0000000E4B8
:101B900090E615F000000000000090E6917480F0DF
:101BA000000000F0000000E490E68DF000000075F9
:101BB000AF0712226912200A7F0212222322E5AA0D
:101BC00020E0397F041222351208A775F003EFA434
:101BD00024A0F582E5F03422F583E493740193FAAE
:101BE000740293F91218D3E52C600312102A90E6C0
:101BF000917480F0000000E4FF12223520840E78FA
:101C00001EE670031221FE781E76018004E4781E21
:101C1000F62085063085FD120571228F567551110B
:101C2000752D1FAA22A9231218D3755115752D0FD2
:101C3000753207753380AA22A9231218D37551541F
:101C4000752D1FE5564420F5357534488556337596
:101C500032C4AA22A9231218D3755115752D0F75F8
:101C60003206753380AA22A9231218D3228F567503
:101C70005111752D1FAA22A9231218D3755115755C
:101C80002D0F753207753380AA22A9231218D37538
:101C90005154752D1FE5564420F535753448855649
:101CA000337532C4AA22A9231218D3755115752D84
:101CB0000F753206753380AA22A9231218D322ABDE
:101CC00007752D7F75514B786612186F8F3D8E3CCE
:101CD0008D3B8C3A786212186F8F398E388D378C25
:101CE00036EBC454F04BF535753412753206753346
:101CF00080AA22A9231218D375518BAA22A92312D4
:101D000018D3854135854034853F33853E32227571
:101D10005112752D1F786612186F8F358E348D33E2
:101D20008C32AA22A9231218D3755113752D1F784E
:101D30006212186F8F358E348D338C32AA22A9230C
:101D40001218D3755115752D0F785EE6F53208E639
:101D5000F533AA22A9231218D322755112752D1F0B
:101D6000786612186F8F358E348D338C32AA22A983
:101D7000231218D3755113752D1F786212186F8FA7
:101D8000358E348D338C32AA22A9231218D3755183
:101D900015752D0F785EE6F53208E6F533AA22A90F
:101DA000231218D3228F557883E654F07034752DA2
:101DB0007F75514B853234853335753206753380E6
:101DC000786212186F8F398E388D378C367866129C
:101DD000186F8F3D8E3C8D3B8C3AAA22A923121896
:101DE000D32275515485552DAA22A9231218D32226
:101DF000E528601DE55125E025E02473F812186FF1
:101E00008F558E548D538C528F358E348D338C324A
:101E100022853555853454853353853252AF55AEBE
:101E200054AD53AC52E55125E025E02473F8121867
:101E300088E551700312057122755192752D1FAA04
:101E400022A9231218D3AF35AE34AD33AC32786645
:101E5000121888755193752D1FAA22A9231218D321
:101E6000AF35AE34AD33AC32786212188875519507
:101E7000752D0FAA22A9231218D3785EA63208A6C0
:101E80003322755192752D1FAA22A9231218D3AFA0
:101E900035AE34AD33AC327866121888755193750F
:101EA0002D1FAA22A9231218D3AF35AE34AD33ACFF
:101EB000327862121888755195752D0FAA22A923C0
:101EC0001218D3785EA63208A633227400F58690E5
:101ED000FDA57C05A3E582458370F92290E6807418
:101EE0000AF07400F58690E8777C05A3E5824583C7
:101EF00070F9DCF790E6807402F02290E682E0440C
:101F0000C0F090E681F04387010000000000228FBE
:101F1000598E588D578C56E4FFFEFDFCAB59AA58DC
:101F2000A957A856D312185E4024AE58AD57AC56E8
:101F300085591D8E1C8D1B8C1AD28CE4FFFEFDFC76
:101F4000AB1DAA1CA91BA81AD312185E50ED228F34
:101F500056755115752D0F753206753380AA22A955
:101F6000231218D3755154752D1FE5564420F535AD
:101F70007534488556337532C4AA22A9231218D362
:101F8000755191752D1FAA22A9231218D3228F569D
:101F9000755115752D0F753206753380AA22A92348
:101FA0001218D3755154752D1FE5564420F535751B
:101FB00034488556337532C4AA22A9231218D37522
:101FC0005191752D1FAA22A9231218D322C0E0C057
:101FD00083C08290E680E030E72085080C85090DFB
:101FE000850D82850C83A37402F085100E85110F78
:101FF000850F82850E83A37407F05391EF90E65D01
:102000007420F0D082D083D0E03275B20F7F0112FD
:102010002223E4FF12223578731218942100000065
:10202000787712189400000064787B1218940000EE
:10203000000A787F1218940000000F120571D294E4
:10204000D29522C0E0C083C08285100C85110D8519
:102050000D82850C83A37402F085080E85090F8517
:102060000F82850E83A37407F05391EF90E65D74A1
:1020700010F0D082D083D0E03230050990E680E0C5
:10208000440AF0800790E680E04408F07FDC7E059B
:102090001211B890E65D74FFF090E65FF05391EF97
:1020A00090E680E054F7F02290E682E030E004E031
:1020B00020E60B90E682E030E119E030E71590E68B
:1020C00080E04401F07F147E001211B890E680E0B9
:1020D00054FEF022A907AE14AF158F828E83A3E0C1
:1020E00064037017AD0119ED7001228F828E83E0B9
:1020F0007C002FFDEC3EFEAF0580DFE4FEFF227585
:10210000518B752D7FAA22A9231218D37F10743109
:102110002FF8E6FE745D2FF8A606DFF22275510B4C
:10212000752D7F7F10745E2FF8E6FE74322FF8A6AF
:1021300006DFF2AA22A9231218D32275B3F7C29799
:10214000C296C290D291D295D2927F64D290C29020
:10215000DFFAC291D290C29022E4FFFED291D290D7
:10216000C2900FBF00010EEF64064E70EFC291D215
:1021700090C29022C0E0C083C082D2015391EF9000
:10218000E65D7401F0D082D083D0E032C0E0C0833D
:10219000C082D2035391EF90E65D7408F0D082D0F4
:1021A00083D0E032011E01C1041073000000000062
:1021B000000000000000000000000000C0E0C0833C
:1021C000C0825391EF90E65D7404F0D082D083D04A
:1021D000E032C0E0C083C0825391EF90E65D7402AC
:1021E000F0D082D083D0E03275B3F3C297C296C2EA
:1021F00090D291D2957F64C290D290DFFA22E4F51A
:10220000287524CD753533F534F533F532120B745A
:102210002275B3F3C290D291C2967F64C290D290DD
:10222000DFFA22BF0104C2808002D280BF0203C253
:102230008122D28122BF0304C2828002D282BF04E3
:1022400003C28322D2832290E740E519F0E490E6AE
:102250008AF090E68B04F02290E740E516F0E490D7
:10226000E68AF090E68B04F022758AFF758CFF53A6
:1022700089F0438902D2A92290E6BAE0F51622320B
:10228000323232323232323232323232323232322E
:10229000323232323232323232323232323232222E
:1022A000FF229FFF1DF0FF0003FF0B74FF0056FF8E
:0C22B000071700010202030304040505E7
:00000001FF

View File

@ -0,0 +1,295 @@
:03004300020800B0
:03005300020800A0
:10080000020F0200020F4800020F3200020F1A000E
:10081000020DD900020D9C000207FF00020FD70055
:10082000020FD800020FD900020FDA00020FDB001E
:10083000020FDC00020FDD00020FDE00020FDF00FE
:10084000020FE000020FD700020FE100020FE200EA
:10085000020FE300020FE400020FE500020FE600C2
:10086000020FE700020FD700020FD700020FD700D8
:10087000020FE800020FE900020FEA00020FEB008E
:10088000020FEC00020FED00020FEE00020FEF006E
:10089000020FF000020FF100020FF200020FF3004E
:1008A000020FF400020FF500020FF600020FF7002E
:0808B000020FF800020FF9002D
:10030000E4F513F512F511F510C203C200C202C2E2
:10031000011205C27E017F008E238F24752B01758B
:100320002C14752101752220752901752A50752D0F
:1003300001752E8090E680E030E70E85212585222C
:1003400026852927852A28800C852925852A268522
:100350002127852228EE54E0700302046B751400F7
:100360007515807E017F008E168F17C374CC9FFF9A
:1003700074019ECF2402CF3400FEE48F0F8E0EF561
:100380000DF50CF50BF50AF509F508AF0FAE0EAD3E
:100390000DAC0CAB0BAA0AA909A808C3120F805018
:1003A00026E515250BF582E514350AF58374CDF0A5
:1003B000E50B2401F50BE4350AF50AE43509F509E6
:1003C000E43508F50880C4E4F50BF50AF509F508ED
:1003D000AF0FAE0EAD0DAC0CAB0BAA0AA909A80865
:1003E000C3120F805033E517250BF582E516350A49
:1003F000F583E0FFE515250BF582E514350AF58355
:10040000EFF0E50B2401F50BE4350AF50AE43509B4
:10041000F509E43508F50880B7851423851524749B
:10042000002480FF740134FFFEC3E52C9FF52CE50A
:100430002B9EF52BC3E5269FF526E5259EF525C3C6
:10044000E5289FF528E5279EF527C3E5229FF5229D
:10045000E5219EF521C3E52A9FF52AE5299EF52988
:10046000C3E52E9FF52EE52D9EF52DD2E843D8202D
:1004700090E668E04409F090E65CE0443DF0D2AFDD
:1004800090E680E020E105D205120E0F90E680E0B4
:1004900054F7F0538EF8C203300105120A35C20139
:1004A000300329120FD35024C203120EC3200016AA
:1004B00090E682E030E704E020E1EF90E682E03071
:1004C000E604E020E0E4120E6C120FD51204D18095
:0104D000C764
:100A350090E6B8E0546024E0605024E0604E244025
:100A4500705190E6B9E014601E24FE601F24FD601D
:100A55002024FE6021146023146025146027240BD4
:100A650070311209448033120AA7802E120B0E80B2
:100A750029120B738024120F5E801F120D5C801AE1
:100A8500120F6F80151207F8801080071209C250E7
:100A950009800090E6A0E04401F090E6A0E04480E3
:020AA500F0223D
:03003300020FCFEA
:040FCF0053D8EF32D2
:0A0FB8000001020203030404050512
:02073F00C104F3
:1005C20090E6007412F000000090E60B7403F00055
:1005D200000012068300000090E6D27401F00000D1
:1005E2000090E6E204F000000090E61074A0F00033
:1005F200000090E611F000000090E61274A2F000F4
:10060200000090E61474E2F000000090E6047480AA
:10061200F00000007402F00000007404F00000001A
:100622007406F00000007408F0000000E4F000001E
:100632000000000090E618F000000090E61AF000BA
:10064200000090E619F000000090E61BF0000000A8
:1006520090E6D27402F000000090E6E214F000008E
:100662000090E6497482F0000000F000000075AFCF
:1006720007E4F51CF51D120F9143B5C0C2B7D2B6FF
:010682002255
:1004D100E5BA20E11490E780E0FF120E3E00000033
:1004E10090E68D7480F0000000E51AD39400400F6F
:1004F10000000090E68FE51AF0000000E4F51AE52F
:10050100AA20E060E5BB30E71100000090E64974E5
:1005110002F0000000E490E604F090E6F4E020E050
:1005210006C2B7D2B680F3D2B7C2B6E5AB20E1348A
:1005310000000090E6ABE090E6D0F000000090E60D
:10054100ACE090E6D1F0000000120CDA000000E40B
:10055100F5BB000000E5BB20E706C2B7D2B680F5C7
:10056100D2B7C2B6D3E51D9400E51C94004051E515
:10057100AA30E04CE5BB30E747E5AC30E142000092
:1005810000E51C90E6D0F0000000AF1D90E6D1EF31
:10059100F0000000120D1B00000075BB06000000FA
:1005A100E5BB20E706C2B7D2B680F500000090E6B1
:1005B100487406F0000000E4F51CF51DD2B7C2B680
:0105C1002217
:100CDA00901A90E090E6C6F0901A91E090E6C7F07C
:100CEA00901A92E090E6C8F0901A93E090E6C9F064
:100CFA00901A94E090E6CAF0901A95E090E6CBF04C
:100D0A00901A96E090E6CCF0901A97E090E6CDF033
:010D1A0022B6
:100D1B00901A87E090E6C6F0901A88E090E6C7F04C
:100D2B00901A89E090E6C8F0901A8AE090E6C9F034
:100D3B00901A8BE090E6CAF0901A8CE090E6CBF01C
:100D4B00901A8DE090E6CCF0901A8EE090E6CDF004
:010D5B002275
:020FD300D32227
:020FD500D32225
:100B730090E6BBE024FE601814603324FD601B1470
:100B8300602224067046E52390E6B3F0E52480371F
:100B9300E52590E6B3F0E526802DE52B90E6B3F04E
:100BA300E52C8023E52790E6B3F0E528801990E64D
:100BB300BAE0FF120E98AA06A9077B01EA494B6027
:100BC3000BEE90E6B3F0EF90E6B4F02290E6A0E0EF
:030BD3004401F0EA
:010BD60022FC
:100D5C0090E680E030E71800000090E6247402F082
:100D6C00000000E490E625F0000000D2048016009C
:100D7C000000E490E624F000000090E6257440F0BA
:100D8C00000000C20490E6BAE0F51ED2B7C2B6224B
:100F5E0090E740E51EF0E490E68AF090E68B04F010
:010F6E002260
:0707F80090E6BAE0F51B22B8
:100F6F0090E740E51BF0E490E68AF090E68B04F002
:010F7F00224F
:1009440090E6B8E0541F14601514601B2402705B19
:10095400A200E43325E0FFA202E4334F8044E49094
:10096400E740F0A3F0804B90E6BCE0FF547EFD7CB2
:1009740000EFD394807E0040047F0180027F00EE6C
:100984004CFEEF4D24B8F582740F3EF583E493FFDB
:100994003395E0FEEF24A1FFEE34E68F82F583E089
:1009A400540190E740F0E4A3F0800790E6A0E0440F
:0E09B40001F0E490E68AF090E68B7402F022E7
:100AA70090E6B8E0541F24FE60102402705190E6CF
:100AB700BAE0B40103C20022804590E6BAE0703D77
:100AC70090E6BCE0FF540FFE7C00547E24B8F5820C
:100AD700EC340FF583E493FD3395E0FCED24A1FDA1
:100AE700EC34E68D82F583E054FEF0EF5480131367
:100AF70013541F2E90E683F0E04420F022800090EC
:070B0700E6A0E04401F0222A
:100B0E0090E6B8E0541F24FE60162402704F90E663
:100B1E00BAE0FFB40103D20022EFB4020122803DFD
:100B2E0090E6BCE0FF547EFD7C00EFD394807E0007
:100B3E0040047F0180027F00EE4CFEEF4D24B8F59D
:100B4E0082740F3EF583E493FF3395E0FEEF24A10C
:100B5E00FFEE34E68F82F583E04401F02290E6A0AA
:050B6E00E04401F0224B
:1009C20090E6B9E0244F601714602214602924F3E2
:1009D200604B24FD603524137055120EE8805212CC
:1009E2000C38E490E68AF090E68BF0804490E6BA08
:1009F200E0FF120FA0803A120FC990E740EFF0E437
:100A020090E68AF090E68B04F0802690E74074AA84
:100A1200F0E490E68AF090E68B04F0C32290E6BB05
:100A2200E0FE90E6BAE0FDEEF51CEDF51D8002D386
:030A320022C322BA
:100F0200C0E0C083C082D2015391EF90E65D7401CC
:080F1200F0D082D083D0E03260
:100F3200C0E0C083C0825391EF90E65D7404F0D0AC
:060F420082D083D0E032F2
:100F4800C0E0C083C0825391EF90E65D7402F0D098
:060F580082D083D0E032DC
:100DD900C0E0C083C082852925852A26852682858B
:100DE9002583A37402F085212785222885288285F9
:100DF9002783A37407F05391EF90E65D7410F0D048
:060E090082D083D0E0322C
:100F1A00C0E0C083C082D2035391EF90E65D7408AB
:080F2A00F0D082D083D0E03248
:100D9C00C0E0C083C08290E680E030E7208521254A
:100DAC00852226852682852583A37402F085292732
:100DBC00852A28852882852783A37407F05391EF11
:0D0DCC0090E65D7420F0D082D083D0E0323C
:0107FF0032C7
:010FD70032E7
:010FD80032E6
:010FD90032E5
:010FDA0032E4
:010FDB0032E3
:010FDC0032E2
:010FDD0032E1
:010FDE0032E0
:010FDF0032DF
:010FE00032DE
:010FE10032DD
:010FE20032DC
:010FE30032DB
:010FE40032DA
:010FE50032D9
:010FE60032D8
:010FE70032D7
:010FE80032D6
:010FE90032D5
:010FEA0032D4
:010FEB0032D3
:010FEC0032D2
:010FED0032D1
:010FEE0032D0
:010FEF0032CF
:010FF00032CE
:010FF10032CD
:010FF20032CC
:010FF30032CB
:010FF40032CA
:010FF50032C9
:010FF60032C8
:010FF70032C7
:010FF80032C6
:010FF90032C5
:1001000012010002FF00004010C500B2000201020F
:020110000001EC
:0A0114000A060002FF00004001008F
:1001200009022E00010100800F0904000004FF00F5
:1001300000000705010240000007058102400000A1
:0E014000070502020002000705860200020009
:1001500009022E0001010080320904000004FF00A2
:100160000000070501024000000705810240000071
:0E01700007050202400000070586024000005D
:1001800004030904260343002D0053004B005900CB
:1001900020004D006900630072006F007300790059
:1001A0007300740065006D007300220343002D008E
:1001B00053004B005900200043004B004C006900E5
:0E01C0006E006B002000500072006F00000007
:1007410060801A00010A010138010107000102005D
:100751000100000000040604040404000009000074
:100761002D00003F013901010101010700030202CF
:10077100020202000000000000000000002D000045
:100781000000003F0101010101010107000000001B
:100791000000000000000000000000000000000058
:1007A1000000003F010101010101010700000000FB
:1007B1000000000000000000000000000000000038
:1007C1000000003F60241A870000000000000000C4
:1007D1000081360100040303020100000000000053
:1007E100000000000000000000000000471A80E047
:0607F100000000EEE40030
:1006830090E60174EEF090E6F574FFF0901A80E0C6
:1006930090E6F3F0901A81E090E6C3F0901A82E0BE
:1006A30090E6C1F0901A83E090E6C2F0901A85E0DC
:1006B30090E6C0F0901A86E090E6F4F075AF077408
:1006C3001AF59A7400F59B759DE4E4F59EFF90E698
:1006D3007BE090E67CF00FBF80F490E67174FFF04E
:1006E300F5B490E672E04480F043B680000000E485
:1006F30090E6C4F000000090E6C5F0901A87E09001
:10070300E6C6F0901A88E090E6C7F0901A89E09068
:10071300E6C8F0901A8AE090E6C9F0901A8BE09050
:10072300E6CAF0901A8CE090E6CBF0901A8DE09038
:0B073300E6CCF0901A8EE090E6CDF0CE
:01073E002298
:0F0F910053B5C043B51BC2B0C2B1D2B3D2B42264
:100EE800C2B37F147E00120C94D2B3800320B509DC
:0A0EF8007F017E00120C9480F422AA
:100C380074E7F59D7440F59E90E68BE0FFAE071FC4
:100C4800EE604890E67CE0F5F0A2F792B0D2B1C22F
:100C5800B1A2F692B0D2B1C2B1A2F592B0D2B1C2ED
:100C6800B1A2F492B0D2B1C2B1A2F392B0D2B1C2E1
:100C7800B1A2F292B0D2B1C2B1A2F192B0D2B1C2D5
:0B0C8800B1A2F092B0D2B1C2B180B2B4
:010C9300223E
:0C0FA000EF24FF92B47F017E00020C944D
:050FC900A2B2E433FFB9
:010FCE002200
:070FC200EF24FFB392B422FB
:0C0FAC00A2B2E43390E7C0F0751A0122F5
:100BD700AD07AC06EAF59DE9F59ED3ED9400EC94DC
:100BE70000404D90E67CE0F5F0A2F792B0D2B1C29A
:100BF700B1A2F692B0D2B1C2B1A2F592B0D2B1C24F
:100C0700B1A2F492B0D2B1C2B1A2F392B0D2B1C242
:100C1700B1A2F292B0D2B1C2B1A2F192B0D2B1C236
:100C2700B1A2F092B0D2B1C2B1ED1D70AD1C80AAD5
:010C3700229A
:100E3E00EF24BE600D14601A14601F2403701E028E
:100E4E000EE890E781E0FF7E007B017AE77984026D
:0D0E5E000BD790E783E0FF020FC2120FAC2C
:010E6B002264
:100E6C0090E682E030E004E020E60B90E682E03091
:100E7C00E119E030E71590E680E04401F07F147E44
:0C0E8C0000120C9490E680E054FEF0226E
:100E0F0030050990E680E0440AF0800790E680E024
:100E1F004408F07FDC7E05120C9490E65D74FFF0C1
:0F0E2F0090E65FF05391EF90E680E054F7F022E9
:100C94008E188F1990E600E054187012E51924019B
:100CA400FFE43518C313F518EF13F519801590E612
:100CB40000E05418FFBF100BE51925E0F519E518FD
:100CC40033F518E5191519AE18700215184E60059C
:060CD400120ED780EE2293
:020E9800A907A8
:100E9A00AE2DAF2E8F828E83A3E064037017AD014F
:100EAA0019ED7001228F828E83E07C002FFDEC3ECB
:080EBA00FEAF0580DFE4FEFF3E
:010EC200220D
:100EC30090E682E044C0F090E681F04387010000A1
:040ED30000000022F9
:100ED7007400F58690FDA57C05A3E582458370F92E
:010EE70022E8
:030000000208B83B
:0C08B800787FE4F6D8FD75812E0208FF61
:100F8000EB9FF5F0EA9E42F0E99D42F0E89C45F0C7
:010F9000223E
:1008C400020300E493A3F8E493A34003F68001F247
:1008D40008DFF48029E493A3F85407240CC8C33335
:1008E400C4540F4420C8834004F456800146F6DF04
:1008F400E4800B010204081020408090073FE47E4E
:10090400019360BCA3FF543F30E509541FFEE493F8
:10091400A360010ECF54C025E060A840B8E493A3BF
:10092400FAE493A3F8E493A3C8C582C8CAC583CAEA
:10093400F0A3C8C582C8CAC583CADFE9DEE780BEA2
:0107F7000001
:00000001FF

View File

@ -0,0 +1,192 @@
:100000000205F290E6BAE0F50F223202075BC0E08B
:10001000C083C082D2015391EF90E65D7401F0D0AD
:1000200082D083D0E032E4F5B243B278C284D28584
:10003000D2832202004F90E50DE0D330E401C322C9
:10004000D32232020400EF6003C28322D283225300
:10005000D8EF32020400E5BA20E11490E780E0FF17
:10006000120A5700000090E68D7480F0000000E551
:100070000ED39400400F00000090E68FE50EF000D4
:100080000000E4F50EE5AA20E02CE490E691F000F3
:10009000000090E6ABE090E6D0F000000090E6AC07
:1000A000E090E6D1F0000000E4F5BB000000E5BB05
:1000B00030E7FB000000D3E5119400E510940050F8
:1000C00003020178E5AA20E003020178E4751B32FF
:1000D000F51AF519F518D28CE5BB20E713E4FFFEFD
:1000E000FDFCAB1BAA1AA919A818D3120BA750E83C
:1000F000C28CE4FFFEFDFCAB1BAA1AA919A818C309
:10010000120BA77002806DE5AC20E067E51090E669
:10011000D0F000000090E6D1E511F000000075BBC2
:1001200006000000E4751B32F51AF519F518D28C9B
:10013000E5BB20E713E4FFFEFDFCAB1BAA1AA919DF
:10014000A818D3120BA750E8C28CE4FFFEFDFCAB4D
:100150001BAA1AA919A818C3120BA7700DC2837F76
:1001600001FE120951D283E4800A90E6487406F039
:10017000000000E4F510F5112290E6B8E0541F14D9
:10018000601514601B2402705BA200E43325E0FFBD
:10019000A202E4334F8044E490E740F0A3F0804BA8
:1001A00090E6BCE0FF547EFD7C00EFD394807E009F
:1001B00040047F0180027F00EE4CFEEF4D24DDF510
:1001C00082740B3EF583E493FF3395E0FEEF24A1A8
:1001D000FFEE34E68F82F583E0540190E740F0E4CF
:1001E000A3F0800790E6A0E04401F0E490E68AF0F6
:1001F00090E68B7402F022D3223232323232323223
:1002000012010002FF00004010C500B10100010210
:1002100000010A06000200000040010009022E0051
:1002200001010080320904000004FF0000000705FE
:10023000010240000007058102400000070502029C
:100240000002000705860200020009022E000101DB
:100250000080320904000004FF00000007050102CD
:10026000400000070581024000000705020240002F
:10027000000705860240000004030904260343002A
:100280002D0053004B00590020004D006900630011
:1002900072006F00730079007300740065006D00D8
:1002A0007300200343002D0053004B005900200031
:1002B00043004B004C0069006E006B0020005600AC
:1002C00031000000C1056080E000810101BF010133
:1002D00001070100000302020200070607070707E3
:1002E0000703090000000000003F8101BF01010178
:1002F00001070302010000000000030103030303E0
:100300000303000000000000003F81010101BF0164
:1003100001070100000205000000070607070707A4
:100320000703090000000000003F81013F010101B7
:10033000010703020500000000000301030303039B
:100340000303000000000000003F6024E08700007D
:10035000000000000000000000000000000000009D
:10036000000000000000000000000000000000008D
:10037000000047E080A0100003EE4E00008E138FB7
:1003800014EAF59DE9F59ED3E5149400E513940075
:10039000406890E67CE0F5F0A2F79286D2841209DC
:1003A0000DC284A2F69286D28412090DC284A2F5EF
:1003B0009286D28412090DC284A2F49286D284124B
:1003C000090DC284A2F39286D28412090DC284A2BE
:1003D000F29286D28412090DC284A2F19286D2844E
:1003E00012090DC284A2F09286D28412090DC28431
:1003F000E514151470911513808D22323232323289
:1004000002000E00020B4900020B3300020B030036
:10041000020A21000209E40002000A000200420070
:100420000201F9000201FA000201FB000201FC00D6
:100430000201FD000201FE000201FF000203FB00B9
:100440000203FC00020042000203FD000203FE0062
:100450000203FF00020BC700020BC800020BC90019
:10046000020BCA00020042000200420002004200E9
:10047000020BCB00020BCC00020BCD00020BCE0016
:10048000020BCF00020BD000020BD100020BD200F6
:10049000020BD300020BD400020BD500020BD600D6
:1004A000020BD700020BD800020BD900020BDA00B6
:1004B000020BDB00020BDC0090E60174E2F090E638
:1004C000F574FFF090E080E090E6F3F090E081E0DA
:1004D00090E6C3F090E082E090E6C1F090E083E027
:1004E00090E6C2F090E085E090E6C0F090E086E013
:1004F00090E6F4F074E0F59A7400F59B759DE4E4E1
:10050000F59EFF90E67BE090E67CF00FBF80F40064
:100510000000E490E6C4F000000090E6C5F090E032
:1005200087E090E6C6F090E088E090E6C7F090E0C3
:1005300089E090E6C8F090E08AE090E6C9F090E0AB
:100540008BE090E6CAF090E08CE090E6CBF090E093
:100550008DE090E6CCF090E08EE090E6CDF0229039
:10056000E600E054E74410F090E61074A0F00000BC
:100570000090E611F000000090E61274A2F0000076
:1005800000E490E613F000000090E61474E2F0003E
:100590000000E490E615F000000090E6047480F09E
:1005A0000000007482F0000000F0000000E4F000A1
:1005B000000090E618F000000090E619F00000003E
:1005C00090E61AF000000090E61BF000000090E6B4
:1005D000917480F0000000F000000090E68DF000C3
:1005E000000075AF071204B8120BB8120026E4F52C
:1005F0000E22787FE4F6D8FD7581200206390207C5
:10060000C6E493A3F8E493A34003F68001F208DF65
:10061000F48029E493A3F85407240CC8C333C454CA
:100620000F4420C8834004F456800146F6DFE4807E
:100630000B01020408102040809002C4E47E019364
:1006400060BCA3FF543F30E509541FFEE493A36050
:10065000010ECF54C025E060A840B8E493A3FAE4AB
:1006600093A3F8E493A3C8C582C8CAC583CAF0A3FC
:10067000C8C582C8CAC583CADFE9DEE780BE90E686
:10068000B8E0546024E0605024E0604E2440705193
:1006900090E6B9E014601E24FE601F24FD60202453
:1006A000FE6021146023146025146027240B703130
:1006B0001201798033120830802E12089780291297
:1006C00006F08024120B85801F120B73801A120B08
:1006D000968015120003801080071209A55009802A
:1006E0000090E6A0E04401F090E6A0E04480F02213
:1006F00090E6BBE024FE601814603824FD601B14F3
:1007000060272406704D740290E6B3F07400803CBC
:10071000E50890E6B3F0E5098032120036503474F3
:100720000290E6B3F074128023E50A90E6B3F0E598
:100730000B801990E6BAE0FF120AB1AA06A9077B5E
:1007400001EA494B600BEE90E6B3F0EF90E6B4F0AF
:1007500022800090E6A0E04401F022C0E0C0F0C09A
:1007600083C082C0D075D000C000C001C002C003E9
:10077000C004C005C006C007E4FFFEFDFCAB1BAA19
:100780001AA919A818D3120BA7401EAF1BAE1AAD99
:1007900019AC18EF24FFF51BEE34FFF51AED34FF0A
:1007A000F519EC34FFF5188002C28CD007D006D0C2
:1007B00005D004D003D002D001D000D0D0D082D058
:1007C00083D0F0D0E032C204C200C202C2011205DE
:1007D0005F120ADCD2E843D82090E668E04408F0D3
:1007E00090E65CE0443DF0D2AF90E680E054F7F054
:1007F000538EF8C204D20530010512067EC20130C4
:1008000004291200405024C20412093D2000169011
:10081000E682E030E704E020E1EF90E682E030E6B7
:1008200004E020E0E4120A851201F712005680C7A6
:1008300090E6B8E0541F24FE60102402705190E648
:10084000BAE0B40103C20022804590E6BAE0703DF0
:1008500090E6BCE0FF540FFE7C00547E24DDF58260
:10086000EC340BF583E493FD3395E0FCED24A1FD1E
:10087000EC34E68D82F583E054FEF0EF54801313E0
:1008800013541F2E90E683F0E04420F02280009065
:10089000E6A0E04401F02290E6B8E0541F24FE6098
:1008A000162402704F90E6BAE0FFB40103D2002292
:1008B000EFB4020122803D90E6BCE0FF547EFD7C57
:1008C00000EFD394807E0040047F0180027F00EE21
:1008D0004CFEEF4D24DDF582740B3EF583E493FF6F
:1008E0003395E0FEEF24A1FFEE34E68F82F583E03E
:1008F0004401F02290E6A0E04401F0227400F58665
:1009000090FDA57C05A3E582458370F9227400F56E
:100910008690FFFD7C05A3E582458370F92290E671
:1009200080740AF07400F58690E8777C05A3E58270
:10093000458370F9DCF790E6807402F02290E6823D
:10094000E044C0F090E681F0438701000000000021
:10095000228E138F1490E600E0FF530718EF7012F9
:10096000E5142401FFE43513C313F513EF13F51455
:10097000800EBF100BE51425E0F514E51333F513D5
:10098000858615858216858317E5141514AE1370B8
:100990000215134E60051208FC80EE85168285173D
:1009A000838515862290E6B9E0243D6023240370F8
:1009B0003190E6BBE0751000F511E511751100F5F9
:1009C0001090E6BAE04211E47F01FE120951C32201
:1009D00090E74074AAF0E490E68AF090E68B04F089
:1009E000C322D322C0E0C083C08290E680E030E71B
:1009F0002075080275091C850982850883A3740285
:100A0000F0750A02750B4A850B82850A83A3740769
:100A1000F05391EF90E65D7420F0D082D083D0E067
:100A200032C0E0C083C08275080275094A85098218
:100A3000850883A37402F0750A02750B1C850B826E
:100A4000850A83A37407F05391EF90E65D7410F06C
:100A5000D082D083D0E032EF24BE600D14601A142F
:100A6000601F2403701E020B1B90E781E0FF7E00D5
:100A70007B017AE7798402037D90E783E0FF02003F
:100A800046120B5F2290E682E030E004E020E60BA5
:100A900090E682E030E119E030E71590E680E0442E
:100AA00001F07F147E0012095190E680E054FEF0C0
:100AB00022AC0CAD0D8D828C83A3E064037019AE63
:100AC000071FEE7005AF05AE04228D828C83E07A9D
:100AD000002DFDEA3CFC80DDE4FEFF22750C027572
:100AE0000D7890E680E030E70D75080275091C75F9
:100AF0000A02750B4A2275080275094A750A0275C1
:100B00000B1C22C0E0C083C082D2045391EF90E658
:100B10005D7408F0D082D083D0E032C2857F147E2D
:100B200000120951D2852087097F017E00120951E8
:100B300080F422C0E0C083C0825391EF90E65D74E0
:100B400004F0D082D083D0E032C0E0C083C08253B2
:100B500091EF90E65D7402F0D082D083D0E0323025
:100B6000800890E7C07401F08005E490E7C0F0755C
:100B70000E012290E6BAE0F512E4F510F51190E6C8
:100B8000617403F02290E740E512F0E490E68AF009
:100B900090E68B04F02290E740E50FF0E490E68ABF
:100BA000F090E68B04F022EB9FF5F0EA9E42F0E92C
:100BB0009D42F0E89C45F022758AC0758C6353898C
:100BC000F0438901D2A92232323232323232323209
:100BD0003232323232323232323232323200010288
:070BE00002030304040505F4
:00000001FF

View File

@ -0,0 +1,165 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r16" bitsize="32" regnum="16" group="gpr"/>
<reg name="r17" bitsize="32" regnum="17" group="gpr"/>
<reg name="r18" bitsize="32" regnum="18" group="gpr"/>
<reg name="r19" bitsize="32" regnum="19" group="gpr"/>
<reg name="r20" bitsize="32" regnum="20" group="gpr"/>
<reg name="r21" bitsize="32" regnum="21" group="gpr"/>
<reg name="r22" bitsize="32" regnum="22" group="gpr"/>
<reg name="r23" bitsize="32" regnum="23" group="gpr"/>
<reg name="r24" bitsize="32" regnum="24" group="gpr"/>
<reg name="r25" bitsize="32" regnum="25" group="gpr"/>
<reg name="r26" bitsize="32" regnum="26" group="gpr"/>
<reg name="r27" bitsize="32" regnum="27" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="r29" bitsize="32" regnum="29" group="gpr"/>
<reg name="r30" bitsize="32" regnum="30" group="gpr"/>
<reg name="r31" bitsize="32" regnum="31" group="gpr"/>
<reg name="hi" bitsize="32" regnum="36"/>
<reg name="lo" bitsize="32" regnum="37"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="AF[1]" start="1" end="1" type="int8"/>
<field name="FE[4]" start="4" end="4" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TE[12]" start="12" end="12" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="fpsr" bitsize="32" regnum="92" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="fpc" bitsize="32" regnum="94" group="cr"/>
<reg name="ss0" bitsize="32" regnum="95" group="cr"/>
<reg name="ss1" bitsize="32" regnum="96" group="cr"/>
<reg name="ss2" bitsize="32" regnum="97" group="cr"/>
<reg name="ss3" bitsize="32" regnum="98" group="cr"/>
<reg name="ss4" bitsize="32" regnum="99" group="cr"/>
<reg name="gcr" bitsize="32" regnum="100" group="cr"/>
<reg name="gsr" bitsize="32" regnum="101" group="cr"/>
<reg name="cr13" bitsize="32" regnum="102" group="cr"/>
<reg name="cr14" bitsize="32" regnum="103" group="cr"/>
<reg name="cr15" bitsize="32" regnum="104" group="cr"/>
<reg name="cr16" bitsize="32" regnum="105" group="cr"/>
<reg name="cr17" bitsize="32" regnum="106" group="cr"/>
<reg name="cr18" bitsize="32" regnum="107" group="cr"/>
<reg name="cr19" bitsize="32" regnum="108" group="cr"/>
<reg name="cr20" bitsize="32" regnum="109" group="cr"/>
<reg name="cr21" bitsize="32" regnum="110" group="cr"/>
<reg name="cr22" bitsize="32" regnum="111" group="cr"/>
<reg name="cr23" bitsize="32" regnum="112" group="cr"/>
<reg name="cr24" bitsize="32" regnum="113" group="cr"/>
<reg name="cr25" bitsize="32" regnum="114" group="cr"/>
<reg name="cr26" bitsize="32" regnum="115" group="cr"/>
<reg name="cr27" bitsize="32" regnum="116" group="cr"/>
<reg name="cr28" bitsize="32" regnum="117" group="cr"/>
<reg name="cr29" bitsize="32" regnum="118" group="cr"/>
<reg name="cr30" bitsize="32" regnum="119" group="cr"/>
<reg name="cr31" bitsize="32" regnum="120" group="cr"/>
</feature>
<feature name="org.gnu.csky.abiv2.fvcr">
<!--usp cr_bank1-->
<reg name="usp" bitsize="32" regnum="127"/>
</feature>
<feature name="org.gnu.csky.abiv2.mmu">
<flags id="ckcpu_mir" size="4">
<field name="Index[9:0]" start="0" end="9" type="int16"/>
<field name="TF[30]" start="30" end="30" type="int8"/>
<field name="P[31]" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mel" size="4">
<field name="V[1]" start="1" end="1" type="int8"/>
<field name="D[2]" start="2" end="2" type="int8"/>
<field name="C[3]" start="3" end="3" type="int8"/>
<field name="SEC[4]" start="4" end="4" type="int8"/>
<field name="SO[5]" start="5" end="5" type="int8"/>
<field name="B[6]" start="6" end="6" type="int8"/>
<field name="PFN[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_meh" size="4">
<field name="ASID[7:0]" start="0" end="7" type="int8"/>
<field name="VPN[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_mpr" size="4">
<field name="PageMask[24:13]" start="13" end="24" type="int16"/>
</flags>
<flags id="ckcpu_mcir" size="4">
<field name="ASID[7:0]" start="0" end="7" type="int8"/>
<field name="TLBINV_ALL[26]" start="26" end="26" type="int8"/>
<field name="TLBINV[27]" start="27" end="27" type="int8"/>
<field name="TLBWR[28]" start="28" end="28" type="int8"/>
<field name="TLBWI[29]" start="29" end="29" type="int8"/>
<field name="TLBR[30]" start="30" end="30" type="int8"/>
<field name="TLBP[31]" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mpgd" size="4">
<field name="HRE[0]" start="0" end="0" type="int8"/>
<field name="PBA[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_msa" size="4">
<field name="V[1]" start="1" end="1" type="int8"/>
<field name="D[2]" start="2" end="2" type="int8"/>
<field name="C[3]" start="3" end="3" type="int8"/>
<field name="SEC[4]" start="4" end="4" type="int8"/>
<field name="SO[5]" start="5" end="5" type="int8"/>
<field name="B[6]" start="6" end="6" type="int8"/>
<field name="BA[31:29]" start="29" end="31" type="int8"/>
</flags>
<reg name="mir" bitsize="32" regnum="128" group="mmu" type="ckcpu_mir"/>
<reg name="mel0" bitsize="32" regnum="129" group="mmu" type="ckcpu_mel"/>
<reg name="mel1" bitsize="32" regnum="130" group="mmu" type="ckcpu_mel"/>
<reg name="meh" bitsize="32" regnum="131" group="mmu" type="ckcpu_meh"/>
<reg name="mpr" bitsize="32" regnum="132" group="mmu" type="ckcpu_mpr"/>
<reg name="mcir" bitsize="32" regnum="133" group="mmu" type="ckcpu_mcir"/>
<reg name="mpgd" bitsize="32" regnum="134" group="mmu" type="ckcpu_mpgd"/>
<reg name="msa0" bitsize="32" regnum="135" group="mmu" type="ckcpu_msa"/>
<reg name="msa1" bitsize="32" regnum="136" group="mmu" type="ckcpu_msa"/>
</feature>
<feature name="org.gnu.csky.abiv2.bank1">
<!-- ECC Information -->
<reg name="errlc" bitsize="32" regnum="195" group="bank1"/>
<reg name="erraddr" bitsize="32" regnum="196" group="bank1"/>
<reg name="errsts" bitsize="32" regnum="197" group="bank1"/>
<reg name="errinj" bitsize="32" regnum="198" group="bank1"/>
<!-- -->
<reg name="cp1cr16" bitsize="32" regnum="205" group="bank1"/>
<reg name="cp1cr17" bitsize="32" regnum="206" group="bank1"/>
<reg name="cp1cr18" bitsize="32" regnum="207" group="bank1"/>
<reg name="cp1cr19" bitsize="32" regnum="208" group="bank1"/>
<reg name="cp1cr20" bitsize="32" regnum="209" group="bank1"/>
<!-- Debug Regs -->
<reg name="cindex" bitsize="32" regnum="215" group="bank1"/>
<reg name="cdata0" bitsize="32" regnum="216" group="bank1"/>
<reg name="cdata1" bitsize="32" regnum="217" group="bank1"/>
<reg name="cdata2" bitsize="32" regnum="218" group="bank1"/>
<reg name="cins" bitsize="32" regnum="220" group="bank1"/>
</feature>
</target>

View File

@ -0,0 +1,192 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r16" bitsize="32" regnum="16" group="gpr"/>
<reg name="r17" bitsize="32" regnum="17" group="gpr"/>
<reg name="r18" bitsize="32" regnum="18" group="gpr"/>
<reg name="r19" bitsize="32" regnum="19" group="gpr"/>
<reg name="r20" bitsize="32" regnum="20" group="gpr"/>
<reg name="r21" bitsize="32" regnum="21" group="gpr"/>
<reg name="r22" bitsize="32" regnum="22" group="gpr"/>
<reg name="r23" bitsize="32" regnum="23" group="gpr"/>
<reg name="r24" bitsize="32" regnum="24" group="gpr"/>
<reg name="r25" bitsize="32" regnum="25" group="gpr"/>
<reg name="r26" bitsize="32" regnum="26" group="gpr"/>
<reg name="r27" bitsize="32" regnum="27" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="r29" bitsize="32" regnum="29" group="gpr"/>
<reg name="r30" bitsize="32" regnum="30" group="gpr"/>
<reg name="r31" bitsize="32" regnum="31" group="gpr"/>
<reg name="hi" bitsize="32" regnum="36"/>
<reg name="lo" bitsize="32" regnum="37"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.fpu">
<union id="float64_union">
<field name="double64" type="ieee_double"/>
<field name="float32" type="ieee_single"/>
<field name="uint64" type="uint64"/>
</union>
<!--float register-->
<reg name="fr0" bitsize="64" regnum="40" type="float64_union" group="fpu"/>
<reg name="fr1" bitsize="64" regnum="41" type="float64_union" group="fpu"/>
<reg name="fr2" bitsize="64" regnum="42" type="float64_union" group="fpu"/>
<reg name="fr3" bitsize="64" regnum="43" type="float64_union" group="fpu"/>
<reg name="fr4" bitsize="64" regnum="44" type="float64_union" group="fpu"/>
<reg name="fr5" bitsize="64" regnum="45" type="float64_union" group="fpu"/>
<reg name="fr6" bitsize="64" regnum="46" type="float64_union" group="fpu"/>
<reg name="fr7" bitsize="64" regnum="47" type="float64_union" group="fpu"/>
<reg name="fr8" bitsize="64" regnum="48" type="float64_union" group="fpu"/>
<reg name="fr9" bitsize="64" regnum="49" type="float64_union" group="fpu"/>
<reg name="fr10" bitsize="64" regnum="50" type="float64_union" group="fpu"/>
<reg name="fr11" bitsize="64" regnum="51" type="float64_union" group="fpu"/>
<reg name="fr12" bitsize="64" regnum="52" type="float64_union" group="fpu"/>
<reg name="fr13" bitsize="64" regnum="53" type="float64_union" group="fpu"/>
<reg name="fr14" bitsize="64" regnum="54" type="float64_union" group="fpu"/>
<reg name="fr15" bitsize="64" regnum="55" type="float64_union" group="fpu"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="AF[1]" start="1" end="1" type="int8"/>
<field name="FE[4]" start="4" end="4" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TE[12]" start="12" end="12" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="fpsr" bitsize="32" regnum="92" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="fpc" bitsize="32" regnum="94" group="cr"/>
<reg name="ss0" bitsize="32" regnum="95" group="cr"/>
<reg name="ss1" bitsize="32" regnum="96" group="cr"/>
<reg name="ss2" bitsize="32" regnum="97" group="cr"/>
<reg name="ss3" bitsize="32" regnum="98" group="cr"/>
<reg name="ss4" bitsize="32" regnum="99" group="cr"/>
<reg name="gcr" bitsize="32" regnum="100" group="cr"/>
<reg name="gsr" bitsize="32" regnum="101" group="cr"/>
<reg name="cr13" bitsize="32" regnum="102" group="cr"/>
<reg name="cr14" bitsize="32" regnum="103" group="cr"/>
<reg name="cr15" bitsize="32" regnum="104" group="cr"/>
<reg name="cr16" bitsize="32" regnum="105" group="cr"/>
<reg name="cr17" bitsize="32" regnum="106" group="cr"/>
<reg name="cr18" bitsize="32" regnum="107" group="cr"/>
<reg name="cr19" bitsize="32" regnum="108" group="cr"/>
<reg name="cr20" bitsize="32" regnum="109" group="cr"/>
<reg name="cr21" bitsize="32" regnum="110" group="cr"/>
<reg name="cr22" bitsize="32" regnum="111" group="cr"/>
<reg name="cr23" bitsize="32" regnum="112" group="cr"/>
<reg name="cr24" bitsize="32" regnum="113" group="cr"/>
<reg name="cr25" bitsize="32" regnum="114" group="cr"/>
<reg name="cr26" bitsize="32" regnum="115" group="cr"/>
<reg name="cr27" bitsize="32" regnum="116" group="cr"/>
<reg name="cr28" bitsize="32" regnum="117" group="cr"/>
<reg name="cr29" bitsize="32" regnum="118" group="cr"/>
<reg name="cr30" bitsize="32" regnum="119" group="cr"/>
<reg name="cr31" bitsize="32" regnum="120" group="cr"/>
</feature>
<feature name="org.gnu.csky.abiv2.fvcr">
<reg name="fcr" bitsize="32" regnum="121" group="fvcr"/>
<reg name="fid" bitsize="32" regnum="122" group="fvcr"/>
<reg name="fesr" bitsize="32" regnum="123" group="fvcr"/>
<!--usp cr_bank1-->
<reg name="usp" bitsize="32" regnum="127"/>
</feature>
<feature name="org.gnu.csky.abiv2.mmu">
<flags id="ckcpu_mir" size="4">
<field name="Index[9:0]" start="0" end="9" type="int16"/>
<field name="TF[30]" start="30" end="30" type="int8"/>
<field name="P[31]" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mel" size="4">
<field name="V[1]" start="1" end="1" type="int8"/>
<field name="D[2]" start="2" end="2" type="int8"/>
<field name="C[3]" start="3" end="3" type="int8"/>
<field name="SEC[4]" start="4" end="4" type="int8"/>
<field name="SO[5]" start="5" end="5" type="int8"/>
<field name="B[6]" start="6" end="6" type="int8"/>
<field name="PFN[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_meh" size="4">
<field name="ASID[7:0]" start="0" end="7" type="int8"/>
<field name="VPN[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_mpr" size="4">
<field name="PageMask[24:13]" start="13" end="24" type="int16"/>
</flags>
<flags id="ckcpu_mcir" size="4">
<field name="ASID[7:0]" start="0" end="7" type="int8"/>
<field name="TLBINV_ALL[26]" start="26" end="26" type="int8"/>
<field name="TLBINV[27]" start="27" end="27" type="int8"/>
<field name="TLBWR[28]" start="28" end="28" type="int8"/>
<field name="TLBWI[29]" start="29" end="29" type="int8"/>
<field name="TLBR[30]" start="30" end="30" type="int8"/>
<field name="TLBP[31]" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mpgd" size="4">
<field name="HRE[0]" start="0" end="0" type="int8"/>
<field name="PBA[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_msa" size="4">
<field name="V[1]" start="1" end="1" type="int8"/>
<field name="D[2]" start="2" end="2" type="int8"/>
<field name="C[3]" start="3" end="3" type="int8"/>
<field name="SEC[4]" start="4" end="4" type="int8"/>
<field name="SO[5]" start="5" end="5" type="int8"/>
<field name="B[6]" start="6" end="6" type="int8"/>
<field name="BA[31:29]" start="29" end="31" type="int8"/>
</flags>
<reg name="mir" bitsize="32" regnum="128" group="mmu" type="ckcpu_mir"/>
<reg name="mel0" bitsize="32" regnum="129" group="mmu" type="ckcpu_mel"/>
<reg name="mel1" bitsize="32" regnum="130" group="mmu" type="ckcpu_mel"/>
<reg name="meh" bitsize="32" regnum="131" group="mmu" type="ckcpu_meh"/>
<reg name="mpr" bitsize="32" regnum="132" group="mmu" type="ckcpu_mpr"/>
<reg name="mcir" bitsize="32" regnum="133" group="mmu" type="ckcpu_mcir"/>
<reg name="mpgd" bitsize="32" regnum="134" group="mmu" type="ckcpu_mpgd"/>
<reg name="msa0" bitsize="32" regnum="135" group="mmu" type="ckcpu_msa"/>
<reg name="msa1" bitsize="32" regnum="136" group="mmu" type="ckcpu_msa"/>
</feature>
<feature name="org.gnu.csky.abiv2.bank1">
<!-- ECC Information -->
<reg name="errlc" bitsize="32" regnum="195" group="bank1"/>
<reg name="erraddr" bitsize="32" regnum="196" group="bank1"/>
<reg name="errsts" bitsize="32" regnum="197" group="bank1"/>
<reg name="errinj" bitsize="32" regnum="198" group="bank1"/>
<!-- -->
<reg name="cp1cr16" bitsize="32" regnum="205" group="bank1"/>
<reg name="cp1cr17" bitsize="32" regnum="206" group="bank1"/>
<reg name="cp1cr18" bitsize="32" regnum="207" group="bank1"/>
<reg name="cp1cr19" bitsize="32" regnum="208" group="bank1"/>
<reg name="cp1cr20" bitsize="32" regnum="209" group="bank1"/>
<!-- Debug Regs -->
<reg name="cindex" bitsize="32" regnum="215" group="bank1"/>
<reg name="cdata0" bitsize="32" regnum="216" group="bank1"/>
<reg name="cdata1" bitsize="32" regnum="217" group="bank1"/>
<reg name="cdata2" bitsize="32" regnum="218" group="bank1"/>
<reg name="cins" bitsize="32" regnum="220" group="bank1"/>
</feature>
</target>

View File

@ -0,0 +1,180 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r16" bitsize="32" regnum="16" group="gpr"/>
<reg name="r17" bitsize="32" regnum="17" group="gpr"/>
<reg name="r18" bitsize="32" regnum="18" group="gpr"/>
<reg name="r19" bitsize="32" regnum="19" group="gpr"/>
<reg name="r20" bitsize="32" regnum="20" group="gpr"/>
<reg name="r21" bitsize="32" regnum="21" group="gpr"/>
<reg name="r22" bitsize="32" regnum="22" group="gpr"/>
<reg name="r23" bitsize="32" regnum="23" group="gpr"/>
<reg name="r24" bitsize="32" regnum="24" group="gpr"/>
<reg name="r25" bitsize="32" regnum="25" group="gpr"/>
<reg name="r26" bitsize="32" regnum="26" group="gpr"/>
<reg name="r27" bitsize="32" regnum="27" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="r29" bitsize="32" regnum="29" group="gpr"/>
<reg name="r30" bitsize="32" regnum="30" group="gpr"/>
<reg name="r31" bitsize="32" regnum="31" group="gpr"/>
<reg name="hi" bitsize="32" regnum="36"/>
<reg name="lo" bitsize="32" regnum="37"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.fpu">
<union id="float64_union">
<field name="double64" type="ieee_double"/>
<field name="float32" type="ieee_single"/>
<field name="uint64" type="uint64"/>
</union>
<!--float register-->
<reg name="fr0" bitsize="64" regnum="40" type="float64_union" group="fpu"/>
<reg name="fr1" bitsize="64" regnum="41" type="float64_union" group="fpu"/>
<reg name="fr2" bitsize="64" regnum="42" type="float64_union" group="fpu"/>
<reg name="fr3" bitsize="64" regnum="43" type="float64_union" group="fpu"/>
<reg name="fr4" bitsize="64" regnum="44" type="float64_union" group="fpu"/>
<reg name="fr5" bitsize="64" regnum="45" type="float64_union" group="fpu"/>
<reg name="fr6" bitsize="64" regnum="46" type="float64_union" group="fpu"/>
<reg name="fr7" bitsize="64" regnum="47" type="float64_union" group="fpu"/>
<reg name="fr8" bitsize="64" regnum="48" type="float64_union" group="fpu"/>
<reg name="fr9" bitsize="64" regnum="49" type="float64_union" group="fpu"/>
<reg name="fr10" bitsize="64" regnum="50" type="float64_union" group="fpu"/>
<reg name="fr11" bitsize="64" regnum="51" type="float64_union" group="fpu"/>
<reg name="fr12" bitsize="64" regnum="52" type="float64_union" group="fpu"/>
<reg name="fr13" bitsize="64" regnum="53" type="float64_union" group="fpu"/>
<reg name="fr14" bitsize="64" regnum="54" type="float64_union" group="fpu"/>
<reg name="fr15" bitsize="64" regnum="55" type="float64_union" group="fpu"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="AF[1]" start="1" end="1" type="int8"/>
<field name="FE[4]" start="4" end="4" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TE[12]" start="12" end="12" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="fpsr" bitsize="32" regnum="92" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="fpc" bitsize="32" regnum="94" group="cr"/>
<reg name="ss0" bitsize="32" regnum="95" group="cr"/>
<reg name="ss1" bitsize="32" regnum="96" group="cr"/>
<reg name="ss2" bitsize="32" regnum="97" group="cr"/>
<reg name="ss3" bitsize="32" regnum="98" group="cr"/>
<reg name="ss4" bitsize="32" regnum="99" group="cr"/>
<reg name="gcr" bitsize="32" regnum="100" group="cr"/>
<reg name="gsr" bitsize="32" regnum="101" group="cr"/>
<reg name="cr13" bitsize="32" regnum="102" group="cr"/>
<reg name="cr14" bitsize="32" regnum="103" group="cr"/>
<reg name="cr15" bitsize="32" regnum="104" group="cr"/>
<reg name="cr16" bitsize="32" regnum="105" group="cr"/>
<reg name="cr17" bitsize="32" regnum="106" group="cr"/>
<reg name="cr18" bitsize="32" regnum="107" group="cr"/>
<reg name="cr19" bitsize="32" regnum="108" group="cr"/>
<reg name="cr20" bitsize="32" regnum="109" group="cr"/>
<reg name="cr21" bitsize="32" regnum="110" group="cr"/>
<reg name="cr22" bitsize="32" regnum="111" group="cr"/>
<reg name="cr23" bitsize="32" regnum="112" group="cr"/>
<reg name="cr24" bitsize="32" regnum="113" group="cr"/>
<reg name="cr25" bitsize="32" regnum="114" group="cr"/>
<reg name="cr26" bitsize="32" regnum="115" group="cr"/>
<reg name="cr27" bitsize="32" regnum="116" group="cr"/>
<reg name="cr28" bitsize="32" regnum="117" group="cr"/>
<reg name="cr29" bitsize="32" regnum="118" group="cr"/>
<reg name="cr30" bitsize="32" regnum="119" group="cr"/>
<reg name="cr31" bitsize="32" regnum="120" group="cr"/>
</feature>
<feature name="org.gnu.csky.abiv2.fvcr">
<reg name="fcr" bitsize="32" regnum="121" group="fvcr"/>
<reg name="fid" bitsize="32" regnum="122" group="fvcr"/>
<reg name="fesr" bitsize="32" regnum="123" group="fvcr"/>
<!--usp cr_bank1-->
<reg name="usp" bitsize="32" regnum="127"/>
</feature>
<feature name="org.gnu.csky.abiv2.mmu">
<flags id="ckcpu_mir" size="4">
<field name="Index[9:0]" start="0" end="9" type="int16"/>
<field name="TF[30]" start="30" end="30" type="int8"/>
<field name="P[31]" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mel" size="4">
<field name="V[1]" start="1" end="1" type="int8"/>
<field name="D[2]" start="2" end="2" type="int8"/>
<field name="C[3]" start="3" end="3" type="int8"/>
<field name="SEC[4]" start="4" end="4" type="int8"/>
<field name="SO[5]" start="5" end="5" type="int8"/>
<field name="B[6]" start="6" end="6" type="int8"/>
<field name="PFN[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_meh" size="4">
<field name="ASID[7:0]" start="0" end="7" type="int8"/>
<field name="VPN[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_mpr" size="4">
<field name="PageMask[24:13]" start="13" end="24" type="int16"/>
</flags>
<flags id="ckcpu_mcir" size="4">
<field name="ASID[7:0]" start="0" end="7" type="int8"/>
<field name="TLBINV_ALL[26]" start="26" end="26" type="int8"/>
<field name="TLBINV[27]" start="27" end="27" type="int8"/>
<field name="TLBWR[28]" start="28" end="28" type="int8"/>
<field name="TLBWI[29]" start="29" end="29" type="int8"/>
<field name="TLBR[30]" start="30" end="30" type="int8"/>
<field name="TLBP[31]" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mpgd" size="4">
<field name="HRE[0]" start="0" end="0" type="int8"/>
<field name="PBA[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_msa" size="4">
<field name="V[1]" start="1" end="1" type="int8"/>
<field name="D[2]" start="2" end="2" type="int8"/>
<field name="C[3]" start="3" end="3" type="int8"/>
<field name="SEC[4]" start="4" end="4" type="int8"/>
<field name="SO[5]" start="5" end="5" type="int8"/>
<field name="B[6]" start="6" end="6" type="int8"/>
<field name="BA[31:29]" start="29" end="31" type="int8"/>
</flags>
<reg name="mir" bitsize="32" regnum="128" group="mmu" type="ckcpu_mir"/>
<reg name="mel0" bitsize="32" regnum="129" group="mmu" type="ckcpu_mel"/>
<reg name="mel1" bitsize="32" regnum="130" group="mmu" type="ckcpu_mel"/>
<reg name="meh" bitsize="32" regnum="131" group="mmu" type="ckcpu_meh"/>
<reg name="mpr" bitsize="32" regnum="132" group="mmu" type="ckcpu_mpr"/>
<reg name="mcir" bitsize="32" regnum="133" group="mmu" type="ckcpu_mcir"/>
<reg name="mpgd" bitsize="32" regnum="134" group="mmu" type="ckcpu_mpgd"/>
<reg name="msa0" bitsize="32" regnum="135" group="mmu" type="ckcpu_msa"/>
<reg name="msa1" bitsize="32" regnum="136" group="mmu" type="ckcpu_msa"/>
</feature>
<feature name="org.gnu.csky.abiv2.bank1">
<reg name="cp1cr16" bitsize="32" regnum="205" group="bank1"/>
<reg name="cp1cr17" bitsize="32" regnum="206" group="bank1"/>
<reg name="cp1cr18" bitsize="32" regnum="207" group="bank1"/>
<reg name="cp1cr19" bitsize="32" regnum="208" group="bank1"/>
<reg name="cp1cr20" bitsize="32" regnum="209" group="bank1"/>
</feature>
</target>

View File

@ -0,0 +1,239 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r16" bitsize="32" regnum="16" group="gpr"/>
<reg name="r17" bitsize="32" regnum="17" group="gpr"/>
<reg name="r18" bitsize="32" regnum="18" group="gpr"/>
<reg name="r19" bitsize="32" regnum="19" group="gpr"/>
<reg name="r20" bitsize="32" regnum="20" group="gpr"/>
<reg name="r21" bitsize="32" regnum="21" group="gpr"/>
<reg name="r22" bitsize="32" regnum="22" group="gpr"/>
<reg name="r23" bitsize="32" regnum="23" group="gpr"/>
<reg name="r24" bitsize="32" regnum="24" group="gpr"/>
<reg name="r25" bitsize="32" regnum="25" group="gpr"/>
<reg name="r26" bitsize="32" regnum="26" group="gpr"/>
<reg name="r27" bitsize="32" regnum="27" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="r29" bitsize="32" regnum="29" group="gpr"/>
<reg name="r30" bitsize="32" regnum="30" group="gpr"/>
<reg name="r31" bitsize="32" regnum="31" group="gpr"/>
<reg name="hi" bitsize="32" regnum="36"/>
<reg name="lo" bitsize="32" regnum="37"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.fpu">
<union id="float64_union">
<field name="double64" type="ieee_double"/>
<field name="float32" type="ieee_single"/>
<field name="uint64" type="uint64"/>
</union>
<!--float register-->
<reg name="fr0" bitsize="64" regnum="40" type="float64_union" group="fpu"/>
<reg name="fr1" bitsize="64" regnum="41" type="float64_union" group="fpu"/>
<reg name="fr2" bitsize="64" regnum="42" type="float64_union" group="fpu"/>
<reg name="fr3" bitsize="64" regnum="43" type="float64_union" group="fpu"/>
<reg name="fr4" bitsize="64" regnum="44" type="float64_union" group="fpu"/>
<reg name="fr5" bitsize="64" regnum="45" type="float64_union" group="fpu"/>
<reg name="fr6" bitsize="64" regnum="46" type="float64_union" group="fpu"/>
<reg name="fr7" bitsize="64" regnum="47" type="float64_union" group="fpu"/>
<reg name="fr8" bitsize="64" regnum="48" type="float64_union" group="fpu"/>
<reg name="fr9" bitsize="64" regnum="49" type="float64_union" group="fpu"/>
<reg name="fr10" bitsize="64" regnum="50" type="float64_union" group="fpu"/>
<reg name="fr11" bitsize="64" regnum="51" type="float64_union" group="fpu"/>
<reg name="fr12" bitsize="64" regnum="52" type="float64_union" group="fpu"/>
<reg name="fr13" bitsize="64" regnum="53" type="float64_union" group="fpu"/>
<reg name="fr14" bitsize="64" regnum="54" type="float64_union" group="fpu"/>
<reg name="fr15" bitsize="64" regnum="55" type="float64_union" group="fpu"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="AF[1]" start="1" end="1" type="int8"/>
<field name="FE[4]" start="4" end="4" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TE[12]" start="12" end="12" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="SP[29]" start="29" end="29" type="int8"/>
<field name="T[30]" start="30" end="30" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="fpsr" bitsize="32" regnum="92" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="fpc" bitsize="32" regnum="94" group="cr"/>
<reg name="ss0" bitsize="32" regnum="95" group="cr"/>
<reg name="ss1" bitsize="32" regnum="96" group="cr"/>
<reg name="ss2" bitsize="32" regnum="97" group="cr"/>
<reg name="ss3" bitsize="32" regnum="98" group="cr"/>
<reg name="ss4" bitsize="32" regnum="99" group="cr"/>
<reg name="gcr" bitsize="32" regnum="100" group="cr"/>
<reg name="gsr" bitsize="32" regnum="101" group="cr"/>
<reg name="cr13" bitsize="32" regnum="102" group="cr"/>
<reg name="cr14" bitsize="32" regnum="103" group="cr"/>
<reg name="cr15" bitsize="32" regnum="104" group="cr"/>
<reg name="cr16" bitsize="32" regnum="105" group="cr"/>
<reg name="cr17" bitsize="32" regnum="106" group="cr"/>
<reg name="cr18" bitsize="32" regnum="107" group="cr"/>
<reg name="cr19" bitsize="32" regnum="108" group="cr"/>
<reg name="cr20" bitsize="32" regnum="109" group="cr"/>
<reg name="cr21" bitsize="32" regnum="110" group="cr"/>
<reg name="cr22" bitsize="32" regnum="111" group="cr"/>
<reg name="cr23" bitsize="32" regnum="112" group="cr"/>
<reg name="cr24" bitsize="32" regnum="113" group="cr"/>
<reg name="cr25" bitsize="32" regnum="114" group="cr"/>
<reg name="cr26" bitsize="32" regnum="115" group="cr"/>
<reg name="cr27" bitsize="32" regnum="116" group="cr"/>
<reg name="cr28" bitsize="32" regnum="117" group="cr"/>
<reg name="cr29" bitsize="32" regnum="118" group="cr"/>
<reg name="cr30" bitsize="32" regnum="119" group="cr"/>
<reg name="cr31" bitsize="32" regnum="120" group="cr"/>
</feature>
<feature name="org.gnu.csky.abiv2.fvcr">
<reg name="fcr" bitsize="32" regnum="121" group="fvcr"/>
<reg name="fid" bitsize="32" regnum="122" group="fvcr"/>
<reg name="fesr" bitsize="32" regnum="123" group="fvcr"/>
<!--usp cr_bank1-->
<reg name="usp" bitsize="32" regnum="127"/>
</feature>
<feature name="org.gnu.csky.abiv2.mmu">
<flags id="ckcpu_mir" size="4">
<field name="Index[9:0]" start="0" end="9" type="int16"/>
<field name="TF[30]" start="30" end="30" type="int8"/>
<field name="P[31]" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mel" size="4">
<field name="V[1]" start="1" end="1" type="int8"/>
<field name="D[2]" start="2" end="2" type="int8"/>
<field name="C[3]" start="3" end="3" type="int8"/>
<field name="SEC[4]" start="4" end="4" type="int8"/>
<field name="SO[5]" start="5" end="5" type="int8"/>
<field name="B[6]" start="6" end="6" type="int8"/>
<field name="PFN[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_meh" size="4">
<field name="ASID[7:0]" start="0" end="7" type="int8"/>
<field name="VPN[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_mpr" size="4">
<field name="PageMask[24:13]" start="13" end="24" type="int16"/>
</flags>
<flags id="ckcpu_mcir" size="4">
<field name="ASID[7:0]" start="0" end="7" type="int8"/>
<field name="TLBINV_ALL[26]" start="26" end="26" type="int8"/>
<field name="TLBINV[27]" start="27" end="27" type="int8"/>
<field name="TLBWR[28]" start="28" end="28" type="int8"/>
<field name="TLBWI[29]" start="29" end="29" type="int8"/>
<field name="TLBR[30]" start="30" end="30" type="int8"/>
<field name="TLBP[31]" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mpgd" size="4">
<field name="HRE[0]" start="0" end="0" type="int8"/>
<field name="PBA[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_msa" size="4">
<field name="V[1]" start="1" end="1" type="int8"/>
<field name="D[2]" start="2" end="2" type="int8"/>
<field name="C[3]" start="3" end="3" type="int8"/>
<field name="SEC[4]" start="4" end="4" type="int8"/>
<field name="SO[5]" start="5" end="5" type="int8"/>
<field name="B[6]" start="6" end="6" type="int8"/>
<field name="BA[31:29]" start="29" end="31" type="int8"/>
</flags>
<reg name="mir" bitsize="32" regnum="128" group="mmu" type="ckcpu_mir"/>
<reg name="mel0" bitsize="32" regnum="129" group="mmu" type="ckcpu_mel"/>
<reg name="mel1" bitsize="32" regnum="130" group="mmu" type="ckcpu_mel"/>
<reg name="meh" bitsize="32" regnum="131" group="mmu" type="ckcpu_meh"/>
<reg name="mpr" bitsize="32" regnum="132" group="mmu" type="ckcpu_mpr"/>
<reg name="mcir" bitsize="32" regnum="133" group="mmu" type="ckcpu_mcir"/>
<reg name="mpgd" bitsize="32" regnum="134" group="mmu" type="ckcpu_mpgd"/>
<reg name="msa0" bitsize="32" regnum="135" group="mmu" type="ckcpu_msa"/>
<reg name="msa1" bitsize="32" regnum="136" group="mmu" type="ckcpu_msa"/>
</feature>
<feature name="org.gnu.csky.abiv2.bank1">
<reg name="cp1cr16" bitsize="32" regnum="205" group="bank1"/>
<reg name="cp1cr17" bitsize="32" regnum="206" group="bank1"/>
<reg name="cp1cr18" bitsize="32" regnum="207" group="bank1"/>
<reg name="cp1cr19" bitsize="32" regnum="208" group="bank1"/>
<reg name="cp1cr20" bitsize="32" regnum="209" group="bank1"/>
</feature>
<feature name="org.gnu.csky.abiv2.tee">
<reg name="ebr" bitsize="32" regnum="190" group="cr"/>
<reg name="dcr" bitsize="32" regnum="229" group="cr"/>
<reg name="t_wssr" bitsize="32" regnum="221" group="tee"/>
<reg name="t_wrcr" bitsize="32" regnum="222" group="tee"/>
<reg name="t_pcr" bitsize="32" regnum="230" group="tee"/>
</feature>
<feature name="org.gnu.csky.pseudo">
<!--cr tee vs ree-->
<reg name="t_psr" bitsize="32" regs="89" group="tee" type="int32" env="tee"/>
<reg name="t_vbr" bitsize="32" regs="90" group="tee" type="int32" env="tee"/>
<reg name="t_epsr" bitsize="32" regs="91" group="tee" type="int32" env="tee"/>
<reg name="t_fpsr" bitsize="32" regs="92" group="tee" type="int32" env="tee"/>
<reg name="t_fpc" bitsize="32" regs="94" group="tee" type="int32" env="tee"/>
<reg name="t_epc" bitsize="32" regs="93" group="tee" type="int32" env="tee"/>
<reg name="t_ebr" bitsize="32" regs="190" group="tee" type="int32" env="tee"/>
<reg name="t_dcr" bitsize="32" regs="229" group="tee" type="int32" env="tee"/>
<reg name="t_usp" bitsize="32" regs="127" group="tee" type="int32" env="tee"/>
<reg name="nt_psr" bitsize="32" regs="89" group="ree" type="int32" env="ree"/>
<reg name="nt_vbr" bitsize="32" regs="90" group="ree" type="int32" env="ree"/>
<reg name="nt_epsr" bitsize="32" regs="91" group="ree" type="int32" env="ree"/>
<reg name="nt_fpsr" bitsize="32" regs="92" group="ree" type="int32" env="ree"/>
<reg name="nt_fpc" bitsize="32" regs="94" group="ree" type="int32" env="ree"/>
<reg name="nt_epc" bitsize="32" regs="93" group="ree" type="int32" env="ree"/>
<reg name="nt_ebr" bitsize="32" regs="190" group="ree" type="int32" env="ree"/>
<reg name="nt_dcr" bitsize="32" regs="229" group="ree" type="int32" env="ree"/>
<reg name="nt_usp" bitsize="32" regs="127" group="ree" type="int32" env="ree"/>
<!--cache tee vs ree-->
<reg name="t_cfr" bitsize="32" regs="106" group="tee" type="int32" env="tee"/>
<reg name="t_ccr" bitsize="32" regs="107" group="tee" type="int32" env="tee"/>
<reg name="t_cir" bitsize="32" regs="111" group="tee" type="int32" env="tee"/>
<reg name="t_ccr2" bitsize="32" regs="112" group="tee" type="int32" env="tee"/>
<reg name="t_cfr2" bitsize="32" regs="113" group="tee" type="int32" env="tee"/>
<reg name="t_hint" bitsize="32" regs="120" group="tee" type="int32" env="tee"/>
<reg name="nt_cfr" bitsize="32" regs="106" group="ree" type="int32" env="ree"/>
<reg name="nt_ccr" bitsize="32" regs="107" group="ree" type="int32" env="ree"/>
<reg name="nt_cir" bitsize="32" regs="111" group="ree" type="int32" env="ree"/>
<reg name="nt_cfr2" bitsize="32" regs="113" group="ree" type="int32" env="ree"/>
<reg name="nt_hint" bitsize="32" regs="120" group="ree" type="int32" env="ree"/>
<!--mmu tee vs ree-->
<reg name="t_mir" bitsize="32" regs="128" group="tee" type="int32" env="tee"/>
<reg name="t_mel0" bitsize="32" regs="129" group="tee" type="int32" env="tee"/>
<reg name="t_mel1" bitsize="32" regs="130" group="tee" type="int32" env="tee"/>
<reg name="t_meh" bitsize="32" regs="131" group="tee" type="int32" env="tee"/>
<reg name="t_mpr" bitsize="32" regs="132" group="tee" type="int32" env="tee"/>
<reg name="t_mcir" bitsize="32" regs="133" group="tee" type="int32" env="tee"/>
<reg name="t_msa0" bitsize="32" regs="135" group="tee" type="int32" env="tee"/>
<reg name="t_msa1" bitsize="32" regs="136" group="tee" type="int32" env="tee"/>
<reg name="nt_mir" bitsize="32" regs="128" group="ree" type="int32" env="ree"/>
<reg name="nt_mel0" bitsize="32" regs="129" group="ree" type="int32" env="ree"/>
<reg name="nt_mel1" bitsize="32" regs="130" group="ree" type="int32" env="ree"/>
<reg name="nt_meh" bitsize="32" regs="131" group="ree" type="int32" env="ree"/>
<reg name="nt_mpr" bitsize="32" regs="132" group="ree" type="int32" env="ree"/>
<reg name="nt_mcir" bitsize="32" regs="133" group="ree" type="int32" env="ree"/>
<reg name="nt_msa0" bitsize="32" regs="135" group="ree" type="int32" env="ree"/>
<reg name="nt_msa1" bitsize="32" regs="136" group="ree" type="int32" env="ree"/>
</feature>
</target>

View File

@ -0,0 +1,271 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r16" bitsize="32" regnum="16" group="gpr"/>
<reg name="r17" bitsize="32" regnum="17" group="gpr"/>
<reg name="r18" bitsize="32" regnum="18" group="gpr"/>
<reg name="r19" bitsize="32" regnum="19" group="gpr"/>
<reg name="r20" bitsize="32" regnum="20" group="gpr"/>
<reg name="r21" bitsize="32" regnum="21" group="gpr"/>
<reg name="r22" bitsize="32" regnum="22" group="gpr"/>
<reg name="r23" bitsize="32" regnum="23" group="gpr"/>
<reg name="r24" bitsize="32" regnum="24" group="gpr"/>
<reg name="r25" bitsize="32" regnum="25" group="gpr"/>
<reg name="r26" bitsize="32" regnum="26" group="gpr"/>
<reg name="r27" bitsize="32" regnum="27" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="r29" bitsize="32" regnum="29" group="gpr"/>
<reg name="r30" bitsize="32" regnum="30" group="gpr"/>
<reg name="r31" bitsize="32" regnum="31" group="gpr"/>
<reg name="hi" bitsize="32" regnum="36"/>
<reg name="lo" bitsize="32" regnum="37"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.fpu">
<vector id="v4f" type="ieee_single" count="4"/>
<vector id="v2d" type="ieee_double" count="2"/>
<vector id="v16i8" type="int8" count="16"/>
<vector id="v8i16" type="int16" count="8"/>
<vector id="v4i32" type="int32" count="4"/>
<vector id="v2i64" type="int64" count="2"/>
<union id="vec128">
<field name="v4_float" type="v4f"/>
<field name="v2_double" type="v2d"/>
<field name="v16_int8" type="v16i8"/>
<field name="v8_int16" type="v8i16"/>
<field name="v4_int32" type="v4i32"/>
<field name="v2_int64" type="v2i64"/>
<field name="uint128" type="uint128"/>
</union>
<union id="float64_union">
<field name="double64" type="ieee_double"/>
<field name="float32" type="ieee_single"/>
<field name="uint64" type="uint64"/>
</union>
<!--float register-->
<reg name="fr0" bitsize="64" regnum="40" type="float64_union" group="fpu"/>
<reg name="fr1" bitsize="64" regnum="41" type="float64_union" group="fpu"/>
<reg name="fr2" bitsize="64" regnum="42" type="float64_union" group="fpu"/>
<reg name="fr3" bitsize="64" regnum="43" type="float64_union" group="fpu"/>
<reg name="fr4" bitsize="64" regnum="44" type="float64_union" group="fpu"/>
<reg name="fr5" bitsize="64" regnum="45" type="float64_union" group="fpu"/>
<reg name="fr6" bitsize="64" regnum="46" type="float64_union" group="fpu"/>
<reg name="fr7" bitsize="64" regnum="47" type="float64_union" group="fpu"/>
<reg name="fr8" bitsize="64" regnum="48" type="float64_union" group="fpu"/>
<reg name="fr9" bitsize="64" regnum="49" type="float64_union" group="fpu"/>
<reg name="fr10" bitsize="64" regnum="50" type="float64_union" group="fpu"/>
<reg name="fr11" bitsize="64" regnum="51" type="float64_union" group="fpu"/>
<reg name="fr12" bitsize="64" regnum="52" type="float64_union" group="fpu"/>
<reg name="fr13" bitsize="64" regnum="53" type="float64_union" group="fpu"/>
<reg name="fr14" bitsize="64" regnum="54" type="float64_union" group="fpu"/>
<reg name="fr15" bitsize="64" regnum="55" type="float64_union" group="fpu"/>
<!--vector register-->
<reg name="vr0" bitsize="128" regnum="56" type="vec128" group="vpu"/>
<reg name="vr1" bitsize="128" regnum="57" type="vec128" group="vpu"/>
<reg name="vr2" bitsize="128" regnum="58" type="vec128" group="vpu"/>
<reg name="vr3" bitsize="128" regnum="59" type="vec128" group="vpu"/>
<reg name="vr4" bitsize="128" regnum="60" type="vec128" group="vpu"/>
<reg name="vr5" bitsize="128" regnum="61" type="vec128" group="vpu"/>
<reg name="vr6" bitsize="128" regnum="62" type="vec128" group="vpu"/>
<reg name="vr7" bitsize="128" regnum="63" type="vec128" group="vpu"/>
<reg name="vr8" bitsize="128" regnum="64" type="vec128" group="vpu"/>
<reg name="vr9" bitsize="128" regnum="65" type="vec128" group="vpu"/>
<reg name="vr10" bitsize="128" regnum="66" type="vec128" group="vpu"/>
<reg name="vr11" bitsize="128" regnum="67" type="vec128" group="vpu"/>
<reg name="vr12" bitsize="128" regnum="68" type="vec128" group="vpu"/>
<reg name="vr13" bitsize="128" regnum="69" type="vec128" group="vpu"/>
<reg name="vr14" bitsize="128" regnum="70" type="vec128" group="vpu"/>
<reg name="vr15" bitsize="128" regnum="71" type="vec128" group="vpu"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="AF[1]" start="1" end="1" type="int8"/>
<field name="FE[4]" start="4" end="4" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TE[12]" start="12" end="12" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="SP[29]" start="29" end="29" type="int8"/>
<field name="T[30]" start="30" end="30" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="fpsr" bitsize="32" regnum="92" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="fpc" bitsize="32" regnum="94" group="cr"/>
<reg name="ss0" bitsize="32" regnum="95" group="cr"/>
<reg name="ss1" bitsize="32" regnum="96" group="cr"/>
<reg name="ss2" bitsize="32" regnum="97" group="cr"/>
<reg name="ss3" bitsize="32" regnum="98" group="cr"/>
<reg name="ss4" bitsize="32" regnum="99" group="cr"/>
<reg name="gcr" bitsize="32" regnum="100" group="cr"/>
<reg name="gsr" bitsize="32" regnum="101" group="cr"/>
<reg name="cr13" bitsize="32" regnum="102" group="cr"/>
<reg name="cr14" bitsize="32" regnum="103" group="cr"/>
<reg name="cr15" bitsize="32" regnum="104" group="cr"/>
<reg name="cr16" bitsize="32" regnum="105" group="cr"/>
<reg name="cr17" bitsize="32" regnum="106" group="cr"/>
<reg name="cr18" bitsize="32" regnum="107" group="cr"/>
<reg name="cr19" bitsize="32" regnum="108" group="cr"/>
<reg name="cr20" bitsize="32" regnum="109" group="cr"/>
<reg name="cr21" bitsize="32" regnum="110" group="cr"/>
<reg name="cr22" bitsize="32" regnum="111" group="cr"/>
<reg name="cr23" bitsize="32" regnum="112" group="cr"/>
<reg name="cr24" bitsize="32" regnum="113" group="cr"/>
<reg name="cr25" bitsize="32" regnum="114" group="cr"/>
<reg name="cr26" bitsize="32" regnum="115" group="cr"/>
<reg name="cr27" bitsize="32" regnum="116" group="cr"/>
<reg name="cr28" bitsize="32" regnum="117" group="cr"/>
<reg name="cr29" bitsize="32" regnum="118" group="cr"/>
<reg name="cr30" bitsize="32" regnum="119" group="cr"/>
<reg name="cr31" bitsize="32" regnum="120" group="cr"/>
</feature>
<feature name="org.gnu.csky.abiv2.fvcr">
<reg name="fcr" bitsize="32" regnum="121" group="fvcr"/>
<reg name="fid" bitsize="32" regnum="122" group="fvcr"/>
<reg name="fesr" bitsize="32" regnum="123" group="fvcr"/>
<!--usp cr_bank1-->
<reg name="usp" bitsize="32" regnum="127"/>
</feature>
<feature name="org.gnu.csky.abiv2.mmu">
<flags id="ckcpu_mir" size="4">
<field name="Index[9:0]" start="0" end="9" type="int16"/>
<field name="TF[30]" start="30" end="30" type="int8"/>
<field name="P[31]" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mel" size="4">
<field name="V[1]" start="1" end="1" type="int8"/>
<field name="D[2]" start="2" end="2" type="int8"/>
<field name="C[3]" start="3" end="3" type="int8"/>
<field name="SEC[4]" start="4" end="4" type="int8"/>
<field name="SO[5]" start="5" end="5" type="int8"/>
<field name="B[6]" start="6" end="6" type="int8"/>
<field name="PFN[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_meh" size="4">
<field name="ASID[7:0]" start="0" end="7" type="int8"/>
<field name="VPN[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_mpr" size="4">
<field name="PageMask[24:13]" start="13" end="24" type="int16"/>
</flags>
<flags id="ckcpu_mcir" size="4">
<field name="ASID[7:0]" start="0" end="7" type="int8"/>
<field name="TLBINV_ALL[26]" start="26" end="26" type="int8"/>
<field name="TLBINV[27]" start="27" end="27" type="int8"/>
<field name="TLBWR[28]" start="28" end="28" type="int8"/>
<field name="TLBWI[29]" start="29" end="29" type="int8"/>
<field name="TLBR[30]" start="30" end="30" type="int8"/>
<field name="TLBP[31]" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mpgd" size="4">
<field name="HRE[0]" start="0" end="0" type="int8"/>
<field name="PBA[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_msa" size="4">
<field name="V[1]" start="1" end="1" type="int8"/>
<field name="D[2]" start="2" end="2" type="int8"/>
<field name="C[3]" start="3" end="3" type="int8"/>
<field name="SEC[4]" start="4" end="4" type="int8"/>
<field name="SO[5]" start="5" end="5" type="int8"/>
<field name="B[6]" start="6" end="6" type="int8"/>
<field name="BA[31:29]" start="29" end="31" type="int8"/>
</flags>
<reg name="mir" bitsize="32" regnum="128" group="mmu" type="ckcpu_mir"/>
<reg name="mel0" bitsize="32" regnum="129" group="mmu" type="ckcpu_mel"/>
<reg name="mel1" bitsize="32" regnum="130" group="mmu" type="ckcpu_mel"/>
<reg name="meh" bitsize="32" regnum="131" group="mmu" type="ckcpu_meh"/>
<reg name="mpr" bitsize="32" regnum="132" group="mmu" type="ckcpu_mpr"/>
<reg name="mcir" bitsize="32" regnum="133" group="mmu" type="ckcpu_mcir"/>
<reg name="mpgd" bitsize="32" regnum="134" group="mmu" type="ckcpu_mpgd"/>
<reg name="msa0" bitsize="32" regnum="135" group="mmu" type="ckcpu_msa"/>
<reg name="msa1" bitsize="32" regnum="136" group="mmu" type="ckcpu_msa"/>
</feature>
<feature name="org.gnu.csky.abiv2.bank1">
<reg name="cp1cr16" bitsize="32" regnum="205" group="bank1"/>
<reg name="cp1cr17" bitsize="32" regnum="206" group="bank1"/>
<reg name="cp1cr18" bitsize="32" regnum="207" group="bank1"/>
<reg name="cp1cr19" bitsize="32" regnum="208" group="bank1"/>
<reg name="cp1cr20" bitsize="32" regnum="209" group="bank1"/>
</feature>
<feature name="org.gnu.csky.abiv2.tee">
<reg name="ebr" bitsize="32" regnum="190" group="cr"/>
<reg name="dcr" bitsize="32" regnum="229" group="cr"/>
<reg name="t_wssr" bitsize="32" regnum="221" group="tee"/>
<reg name="t_wrcr" bitsize="32" regnum="222" group="tee"/>
<reg name="t_pcr" bitsize="32" regnum="230" group="tee"/>
</feature>
<feature name="org.gnu.csky.pseudo">
<!--cr tee vs ree-->
<reg name="t_psr" bitsize="32" regs="89" group="tee" type="int32" env="tee"/>
<reg name="t_vbr" bitsize="32" regs="90" group="tee" type="int32" env="tee"/>
<reg name="t_epsr" bitsize="32" regs="91" group="tee" type="int32" env="tee"/>
<reg name="t_fpsr" bitsize="32" regs="92" group="tee" type="int32" env="tee"/>
<reg name="t_fpc" bitsize="32" regs="94" group="tee" type="int32" env="tee"/>
<reg name="t_epc" bitsize="32" regs="93" group="tee" type="int32" env="tee"/>
<reg name="t_ebr" bitsize="32" regs="190" group="tee" type="int32" env="tee"/>
<reg name="t_dcr" bitsize="32" regs="229" group="tee" type="int32" env="tee"/>
<reg name="t_usp" bitsize="32" regs="127" group="tee" type="int32" env="tee"/>
<reg name="nt_psr" bitsize="32" regs="89" group="ree" type="int32" env="ree"/>
<reg name="nt_vbr" bitsize="32" regs="90" group="ree" type="int32" env="ree"/>
<reg name="nt_epsr" bitsize="32" regs="91" group="ree" type="int32" env="ree"/>
<reg name="nt_fpsr" bitsize="32" regs="92" group="ree" type="int32" env="ree"/>
<reg name="nt_fpc" bitsize="32" regs="94" group="ree" type="int32" env="ree"/>
<reg name="nt_epc" bitsize="32" regs="93" group="ree" type="int32" env="ree"/>
<reg name="nt_ebr" bitsize="32" regs="190" group="ree" type="int32" env="ree"/>
<reg name="nt_dcr" bitsize="32" regs="229" group="ree" type="int32" env="ree"/>
<reg name="nt_usp" bitsize="32" regs="127" group="ree" type="int32" env="ree"/>
<!--cache tee vs ree-->
<reg name="t_cfr" bitsize="32" regs="106" group="tee" type="int32" env="tee"/>
<reg name="t_ccr" bitsize="32" regs="107" group="tee" type="int32" env="tee"/>
<reg name="t_cir" bitsize="32" regs="111" group="tee" type="int32" env="tee"/>
<reg name="t_ccr2" bitsize="32" regs="112" group="tee" type="int32" env="tee"/>
<reg name="t_cfr2" bitsize="32" regs="113" group="tee" type="int32" env="tee"/>
<reg name="t_hint" bitsize="32" regs="120" group="tee" type="int32" env="tee"/>
<reg name="nt_cfr" bitsize="32" regs="106" group="ree" type="int32" env="ree"/>
<reg name="nt_ccr" bitsize="32" regs="107" group="ree" type="int32" env="ree"/>
<reg name="nt_cir" bitsize="32" regs="111" group="ree" type="int32" env="ree"/>
<reg name="nt_cfr2" bitsize="32" regs="113" group="ree" type="int32" env="ree"/>
<reg name="nt_hint" bitsize="32" regs="120" group="ree" type="int32" env="ree"/>
<!--mmu tee vs ree-->
<reg name="t_mir" bitsize="32" regs="128" group="tee" type="int32" env="tee"/>
<reg name="t_mel0" bitsize="32" regs="129" group="tee" type="int32" env="tee"/>
<reg name="t_mel1" bitsize="32" regs="130" group="tee" type="int32" env="tee"/>
<reg name="t_meh" bitsize="32" regs="131" group="tee" type="int32" env="tee"/>
<reg name="t_mpr" bitsize="32" regs="132" group="tee" type="int32" env="tee"/>
<reg name="t_mcir" bitsize="32" regs="133" group="tee" type="int32" env="tee"/>
<reg name="t_msa0" bitsize="32" regs="135" group="tee" type="int32" env="tee"/>
<reg name="t_msa1" bitsize="32" regs="136" group="tee" type="int32" env="tee"/>
<reg name="nt_mir" bitsize="32" regs="128" group="ree" type="int32" env="ree"/>
<reg name="nt_mel0" bitsize="32" regs="129" group="ree" type="int32" env="ree"/>
<reg name="nt_mel1" bitsize="32" regs="130" group="ree" type="int32" env="ree"/>
<reg name="nt_meh" bitsize="32" regs="131" group="ree" type="int32" env="ree"/>
<reg name="nt_mpr" bitsize="32" regs="132" group="ree" type="int32" env="ree"/>
<reg name="nt_mcir" bitsize="32" regs="133" group="ree" type="int32" env="ree"/>
<reg name="nt_msa0" bitsize="32" regs="135" group="ree" type="int32" env="ree"/>
<reg name="nt_msa1" bitsize="32" regs="136" group="ree" type="int32" env="ree"/>
</feature>
</target>

View File

@ -0,0 +1,214 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r16" bitsize="32" regnum="16" group="gpr"/>
<reg name="r17" bitsize="32" regnum="17" group="gpr"/>
<reg name="r18" bitsize="32" regnum="18" group="gpr"/>
<reg name="r19" bitsize="32" regnum="19" group="gpr"/>
<reg name="r20" bitsize="32" regnum="20" group="gpr"/>
<reg name="r21" bitsize="32" regnum="21" group="gpr"/>
<reg name="r22" bitsize="32" regnum="22" group="gpr"/>
<reg name="r23" bitsize="32" regnum="23" group="gpr"/>
<reg name="r24" bitsize="32" regnum="24" group="gpr"/>
<reg name="r25" bitsize="32" regnum="25" group="gpr"/>
<reg name="r26" bitsize="32" regnum="26" group="gpr"/>
<reg name="r27" bitsize="32" regnum="27" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="r29" bitsize="32" regnum="29" group="gpr"/>
<reg name="r30" bitsize="32" regnum="30" group="gpr"/>
<reg name="r31" bitsize="32" regnum="31" group="gpr"/>
<reg name="hi" bitsize="32" regnum="36"/>
<reg name="lo" bitsize="32" regnum="37"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.fpu">
<vector id="v4f" type="ieee_single" count="4"/>
<vector id="v2d" type="ieee_double" count="2"/>
<vector id="v16i8" type="int8" count="16"/>
<vector id="v8i16" type="int16" count="8"/>
<vector id="v4i32" type="int32" count="4"/>
<vector id="v2i64" type="int64" count="2"/>
<union id="vec128">
<field name="v4_float" type="v4f"/>
<field name="v2_double" type="v2d"/>
<field name="v16_int8" type="v16i8"/>
<field name="v8_int16" type="v8i16"/>
<field name="v4_int32" type="v4i32"/>
<field name="v2_int64" type="v2i64"/>
<field name="uint128" type="uint128"/>
</union>
<union id="float64_union">
<union id="float64_union">
<field name="double64" type="ieee_double"/>
<field name="float32" type="ieee_single"/>
<field name="uint64" type="uint64"/>
</union>
</union>
<!--float register-->
<reg name="fr0" bitsize="64" regnum="40" type="float64_union" group="fpu"/>
<reg name="fr1" bitsize="64" regnum="41" type="float64_union" group="fpu"/>
<reg name="fr2" bitsize="64" regnum="42" type="float64_union" group="fpu"/>
<reg name="fr3" bitsize="64" regnum="43" type="float64_union" group="fpu"/>
<reg name="fr4" bitsize="64" regnum="44" type="float64_union" group="fpu"/>
<reg name="fr5" bitsize="64" regnum="45" type="float64_union" group="fpu"/>
<reg name="fr6" bitsize="64" regnum="46" type="float64_union" group="fpu"/>
<reg name="fr7" bitsize="64" regnum="47" type="float64_union" group="fpu"/>
<reg name="fr8" bitsize="64" regnum="48" type="float64_union" group="fpu"/>
<reg name="fr9" bitsize="64" regnum="49" type="float64_union" group="fpu"/>
<reg name="fr10" bitsize="64" regnum="50" type="float64_union" group="fpu"/>
<reg name="fr11" bitsize="64" regnum="51" type="float64_union" group="fpu"/>
<reg name="fr12" bitsize="64" regnum="52" type="float64_union" group="fpu"/>
<reg name="fr13" bitsize="64" regnum="53" type="float64_union" group="fpu"/>
<reg name="fr14" bitsize="64" regnum="54" type="float64_union" group="fpu"/>
<reg name="fr15" bitsize="64" regnum="55" type="float64_union" group="fpu"/>
<!--vector register-->
<reg name="vr0" bitsize="128" regnum="56" type="vec128" group="vpu"/>
<reg name="vr1" bitsize="128" regnum="57" type="vec128" group="vpu"/>
<reg name="vr2" bitsize="128" regnum="58" type="vec128" group="vpu"/>
<reg name="vr3" bitsize="128" regnum="59" type="vec128" group="vpu"/>
<reg name="vr4" bitsize="128" regnum="60" type="vec128" group="vpu"/>
<reg name="vr5" bitsize="128" regnum="61" type="vec128" group="vpu"/>
<reg name="vr6" bitsize="128" regnum="62" type="vec128" group="vpu"/>
<reg name="vr7" bitsize="128" regnum="63" type="vec128" group="vpu"/>
<reg name="vr8" bitsize="128" regnum="64" type="vec128" group="vpu"/>
<reg name="vr9" bitsize="128" regnum="65" type="vec128" group="vpu"/>
<reg name="vr10" bitsize="128" regnum="66" type="vec128" group="vpu"/>
<reg name="vr11" bitsize="128" regnum="67" type="vec128" group="vpu"/>
<reg name="vr12" bitsize="128" regnum="68" type="vec128" group="vpu"/>
<reg name="vr13" bitsize="128" regnum="69" type="vec128" group="vpu"/>
<reg name="vr14" bitsize="128" regnum="70" type="vec128" group="vpu"/>
<reg name="vr15" bitsize="128" regnum="71" type="vec128" group="vpu"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="AF[1]" start="1" end="1" type="int8"/>
<field name="FE[4]" start="4" end="4" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TE[12]" start="12" end="12" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="fpsr" bitsize="32" regnum="92" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="fpc" bitsize="32" regnum="94" group="cr"/>
<reg name="ss0" bitsize="32" regnum="95" group="cr"/>
<reg name="ss1" bitsize="32" regnum="96" group="cr"/>
<reg name="ss2" bitsize="32" regnum="97" group="cr"/>
<reg name="ss3" bitsize="32" regnum="98" group="cr"/>
<reg name="ss4" bitsize="32" regnum="99" group="cr"/>
<reg name="gcr" bitsize="32" regnum="100" group="cr"/>
<reg name="gsr" bitsize="32" regnum="101" group="cr"/>
<reg name="cr13" bitsize="32" regnum="102" group="cr"/>
<reg name="cr14" bitsize="32" regnum="103" group="cr"/>
<reg name="cr15" bitsize="32" regnum="104" group="cr"/>
<reg name="cr16" bitsize="32" regnum="105" group="cr"/>
<reg name="cr17" bitsize="32" regnum="106" group="cr"/>
<reg name="cr18" bitsize="32" regnum="107" group="cr"/>
<reg name="cr19" bitsize="32" regnum="108" group="cr"/>
<reg name="cr20" bitsize="32" regnum="109" group="cr"/>
<reg name="cr21" bitsize="32" regnum="110" group="cr"/>
<reg name="cr22" bitsize="32" regnum="111" group="cr"/>
<reg name="cr23" bitsize="32" regnum="112" group="cr"/>
<reg name="cr24" bitsize="32" regnum="113" group="cr"/>
<reg name="cr25" bitsize="32" regnum="114" group="cr"/>
<reg name="cr26" bitsize="32" regnum="115" group="cr"/>
<reg name="cr27" bitsize="32" regnum="116" group="cr"/>
<reg name="cr28" bitsize="32" regnum="117" group="cr"/>
<reg name="cr29" bitsize="32" regnum="118" group="cr"/>
<reg name="cr30" bitsize="32" regnum="119" group="cr"/>
<reg name="cr31" bitsize="32" regnum="120" group="cr"/>
</feature>
<feature name="org.gnu.csky.abiv2.fvcr">
<reg name="fcr" bitsize="32" regnum="121" group="fvcr"/>
<reg name="fid" bitsize="32" regnum="122" group="fvcr"/>
<reg name="fesr" bitsize="32" regnum="123" group="fvcr"/>
<!--usp cr_bank1-->
<reg name="usp" bitsize="32" regnum="127"/>
</feature>
<feature name="org.gnu.csky.abiv2.mmu">
<flags id="ckcpu_mir" size="4">
<field name="Index[9:0]" start="0" end="9" type="int16"/>
<field name="TF[30]" start="30" end="30" type="int8"/>
<field name="P[31]" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mel" size="4">
<field name="V[1]" start="1" end="1" type="int8"/>
<field name="D[2]" start="2" end="2" type="int8"/>
<field name="C[3]" start="3" end="3" type="int8"/>
<field name="SEC[4]" start="4" end="4" type="int8"/>
<field name="SO[5]" start="5" end="5" type="int8"/>
<field name="B[6]" start="6" end="6" type="int8"/>
<field name="PFN[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_meh" size="4">
<field name="ASID[7:0]" start="0" end="7" type="int8"/>
<field name="VPN[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_mpr" size="4">
<field name="PageMask[24:13]" start="13" end="24" type="int16"/>
</flags>
<flags id="ckcpu_mcir" size="4">
<field name="ASID[7:0]" start="0" end="7" type="int8"/>
<field name="TLBINV_ALL[26]" start="26" end="26" type="int8"/>
<field name="TLBINV[27]" start="27" end="27" type="int8"/>
<field name="TLBWR[28]" start="28" end="28" type="int8"/>
<field name="TLBWI[29]" start="29" end="29" type="int8"/>
<field name="TLBR[30]" start="30" end="30" type="int8"/>
<field name="TLBP[31]" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mpgd" size="4">
<field name="HRE[0]" start="0" end="0" type="int8"/>
<field name="PBA[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_msa" size="4">
<field name="V[1]" start="1" end="1" type="int8"/>
<field name="D[2]" start="2" end="2" type="int8"/>
<field name="C[3]" start="3" end="3" type="int8"/>
<field name="SEC[4]" start="4" end="4" type="int8"/>
<field name="SO[5]" start="5" end="5" type="int8"/>
<field name="B[6]" start="6" end="6" type="int8"/>
<field name="BA[31:29]" start="29" end="31" type="int8"/>
</flags>
<reg name="mir" bitsize="32" regnum="128" group="mmu" type="ckcpu_mir"/>
<reg name="mel0" bitsize="32" regnum="129" group="mmu" type="ckcpu_mel"/>
<reg name="mel1" bitsize="32" regnum="130" group="mmu" type="ckcpu_mel"/>
<reg name="meh" bitsize="32" regnum="131" group="mmu" type="ckcpu_meh"/>
<reg name="mpr" bitsize="32" regnum="132" group="mmu" type="ckcpu_mpr"/>
<reg name="mcir" bitsize="32" regnum="133" group="mmu" type="ckcpu_mcir"/>
<reg name="mpgd" bitsize="32" regnum="134" group="mmu" type="ckcpu_mpgd"/>
<reg name="msa0" bitsize="32" regnum="135" group="mmu" type="ckcpu_msa"/>
<reg name="msa1" bitsize="32" regnum="136" group="mmu" type="ckcpu_msa"/>
</feature>
<feature name="org.gnu.csky.abiv2.bank1">
<reg name="cp1cr16" bitsize="32" regnum="205" group="bank1"/>
<reg name="cp1cr17" bitsize="32" regnum="206" group="bank1"/>
<reg name="cp1cr18" bitsize="32" regnum="207" group="bank1"/>
<reg name="cp1cr19" bitsize="32" regnum="208" group="bank1"/>
<reg name="cp1cr20" bitsize="32" regnum="209" group="bank1"/>
</feature>
</target>

View File

@ -0,0 +1,179 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r16" bitsize="32" regnum="16" group="gpr"/>
<reg name="r17" bitsize="32" regnum="17" group="gpr"/>
<reg name="r18" bitsize="32" regnum="18" group="gpr"/>
<reg name="r19" bitsize="32" regnum="19" group="gpr"/>
<reg name="r20" bitsize="32" regnum="20" group="gpr"/>
<reg name="r21" bitsize="32" regnum="21" group="gpr"/>
<reg name="r22" bitsize="32" regnum="22" group="gpr"/>
<reg name="r23" bitsize="32" regnum="23" group="gpr"/>
<reg name="r24" bitsize="32" regnum="24" group="gpr"/>
<reg name="r25" bitsize="32" regnum="25" group="gpr"/>
<reg name="r26" bitsize="32" regnum="26" group="gpr"/>
<reg name="r27" bitsize="32" regnum="27" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="r29" bitsize="32" regnum="29" group="gpr"/>
<reg name="r30" bitsize="32" regnum="30" group="gpr"/>
<reg name="r31" bitsize="32" regnum="31" group="gpr"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.fpu">
<union id="float64_union">
<field name="double64" type="ieee_double"/>
<field name="float32" type="ieee_single"/>
<field name="uint64" type="uint64"/>
</union>
<!--float register-->
<reg name="fr0" bitsize="64" regnum="40" type="float64_union" group="fpu"/>
<reg name="fr1" bitsize="64" regnum="41" type="float64_union" group="fpu"/>
<reg name="fr2" bitsize="64" regnum="42" type="float64_union" group="fpu"/>
<reg name="fr3" bitsize="64" regnum="43" type="float64_union" group="fpu"/>
<reg name="fr4" bitsize="64" regnum="44" type="float64_union" group="fpu"/>
<reg name="fr5" bitsize="64" regnum="45" type="float64_union" group="fpu"/>
<reg name="fr6" bitsize="64" regnum="46" type="float64_union" group="fpu"/>
<reg name="fr7" bitsize="64" regnum="47" type="float64_union" group="fpu"/>
<reg name="fr8" bitsize="64" regnum="48" type="float64_union" group="fpu"/>
<reg name="fr9" bitsize="64" regnum="49" type="float64_union" group="fpu"/>
<reg name="fr10" bitsize="64" regnum="50" type="float64_union" group="fpu"/>
<reg name="fr11" bitsize="64" regnum="51" type="float64_union" group="fpu"/>
<reg name="fr12" bitsize="64" regnum="52" type="float64_union" group="fpu"/>
<reg name="fr13" bitsize="64" regnum="53" type="float64_union" group="fpu"/>
<reg name="fr14" bitsize="64" regnum="54" type="float64_union" group="fpu"/>
<reg name="fr15" bitsize="64" regnum="55" type="float64_union" group="fpu"/>
<reg name="fr16" bitsize="64" regnum="1172" type="float64_union" group="fpu"/>
<reg name="fr17" bitsize="64" regnum="1173" type="float64_union" group="fpu"/>
<reg name="fr18" bitsize="64" regnum="1174" type="float64_union" group="fpu"/>
<reg name="fr19" bitsize="64" regnum="1175" type="float64_union" group="fpu"/>
<reg name="fr20" bitsize="64" regnum="1176" type="float64_union" group="fpu"/>
<reg name="fr21" bitsize="64" regnum="1177" type="float64_union" group="fpu"/>
<reg name="fr22" bitsize="64" regnum="1178" type="float64_union" group="fpu"/>
<reg name="fr23" bitsize="64" regnum="1179" type="float64_union" group="fpu"/>
<reg name="fr24" bitsize="64" regnum="1180" type="float64_union" group="fpu"/>
<reg name="fr25" bitsize="64" regnum="1181" type="float64_union" group="fpu"/>
<reg name="fr26" bitsize="64" regnum="1182" type="float64_union" group="fpu"/>
<reg name="fr27" bitsize="64" regnum="1183" type="float64_union" group="fpu"/>
<reg name="fr28" bitsize="64" regnum="1184" type="float64_union" group="fpu"/>
<reg name="fr29" bitsize="64" regnum="1185" type="float64_union" group="fpu"/>
<reg name="fr30" bitsize="64" regnum="1186" type="float64_union" group="fpu"/>
<reg name="fr31" bitsize="64" regnum="1187" type="float64_union" group="fpu"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="AF[1]" start="1" end="1" type="int8"/>
<field name="FE[4]" start="4" end="4" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TE[12]" start="12" end="12" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="fpsr" bitsize="32" regnum="92" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="fpc" bitsize="32" regnum="94" group="cr"/>
<reg name="gcr" bitsize="32" regnum="100" group="cr"/>
<reg name="gsr" bitsize="32" regnum="101" group="cr"/>
<reg name="cr13" bitsize="32" regnum="102" group="cr"/>
<reg name="cr17" bitsize="32" regnum="106" group="cr"/>
<reg name="cr18" bitsize="32" regnum="107" group="cr"/>
<reg name="cr23" bitsize="32" regnum="112" group="cr"/>
<reg name="cr25" bitsize="32" regnum="114" group="cr"/>
<reg name="cr28" bitsize="32" regnum="117" group="cr"/>
<reg name="cr29" bitsize="32" regnum="118" group="cr"/>
<reg name="cr30" bitsize="32" regnum="119" group="cr"/>
<reg name="cr31" bitsize="32" regnum="120" group="cr"/>
</feature>
<feature name="org.gnu.csky.abiv2.fvcr">
<reg name="fcr" bitsize="32" regnum="121" group="fvcr"/>
<reg name="fid" bitsize="32" regnum="122" group="fvcr"/>
<reg name="fesr" bitsize="32" regnum="123" group="fvcr"/>
<!--usp cr_bank1-->
<reg name="usp" bitsize="32" regnum="127"/>
</feature>
<feature name="org.gnu.csky.abiv2.mmu">
<flags id="ckcpu_mir" size="4">
<field name="Index[9:0]" start="0" end="9" type="int16"/>
<field name="TF[30]" start="30" end="30" type="int8"/>
<field name="P[31]" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mel" size="4">
<field name="V[1]" start="1" end="1" type="int8"/>
<field name="D[2]" start="2" end="2" type="int8"/>
<field name="C[3]" start="3" end="3" type="int8"/>
<field name="SEC[4]" start="4" end="4" type="int8"/>
<field name="SO[5]" start="5" end="5" type="int8"/>
<field name="B[6]" start="6" end="6" type="int8"/>
<field name="PFN[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_meh" size="4">
<field name="ASID[7:0]" start="0" end="7" type="int8"/>
<field name="VPN[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_mpr" size="4">
<field name="PageMask[24:13]" start="13" end="24" type="int16"/>
</flags>
<flags id="ckcpu_mcir" size="4">
<field name="ASID[7:0]" start="0" end="7" type="int8"/>
<field name="TLBINV_ALL[26]" start="26" end="26" type="int8"/>
<field name="TLBINV[27]" start="27" end="27" type="int8"/>
<field name="TLBWR[28]" start="28" end="28" type="int8"/>
<field name="TLBWI[29]" start="29" end="29" type="int8"/>
<field name="TLBR[30]" start="30" end="30" type="int8"/>
<field name="TLBP[31]" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mpgd" size="4">
<field name="HRE[0]" start="0" end="0" type="int8"/>
<field name="PBA[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_msa" size="4">
<field name="V[1]" start="1" end="1" type="int8"/>
<field name="D[2]" start="2" end="2" type="int8"/>
<field name="C[3]" start="3" end="3" type="int8"/>
<field name="SEC[4]" start="4" end="4" type="int8"/>
<field name="SO[5]" start="5" end="5" type="int8"/>
<field name="B[6]" start="6" end="6" type="int8"/>
<field name="BA[31:29]" start="29" end="31" type="int8"/>
</flags>
<reg name="mir" bitsize="32" regnum="128" group="mmu" type="ckcpu_mir"/>
<reg name="mel0" bitsize="32" regnum="129" group="mmu" type="ckcpu_mel"/>
<reg name="mel1" bitsize="32" regnum="130" group="mmu" type="ckcpu_mel"/>
<reg name="meh" bitsize="32" regnum="131" group="mmu" type="ckcpu_meh"/>
<reg name="mpr" bitsize="32" regnum="132" group="mmu" type="ckcpu_mpr"/>
<reg name="mcir" bitsize="32" regnum="133" group="mmu" type="ckcpu_mcir"/>
<reg name="mpgd" bitsize="32" regnum="134" group="mmu" type="ckcpu_mpgd"/>
<reg name="msa0" bitsize="32" regnum="135" group="mmu" type="ckcpu_msa"/>
<reg name="msa1" bitsize="32" regnum="136" group="mmu" type="ckcpu_msa"/>
</feature>
<feature name="org.gnu.csky.abiv2.bank1">
<reg name="cp1cr16" bitsize="32" regnum="205" group="bank1"/>
<reg name="cp1cr17" bitsize="32" regnum="206" group="bank1"/>
<reg name="cp1cr18" bitsize="32" regnum="207" group="bank1"/>
<reg name="cp1cr19" bitsize="32" regnum="208" group="bank1"/>
<reg name="cp1cr20" bitsize="32" regnum="209" group="bank1"/>
</feature>
</target>

View File

@ -0,0 +1,211 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r16" bitsize="32" regnum="16" group="gpr"/>
<reg name="r17" bitsize="32" regnum="17" group="gpr"/>
<reg name="r18" bitsize="32" regnum="18" group="gpr"/>
<reg name="r19" bitsize="32" regnum="19" group="gpr"/>
<reg name="r20" bitsize="32" regnum="20" group="gpr"/>
<reg name="r21" bitsize="32" regnum="21" group="gpr"/>
<reg name="r22" bitsize="32" regnum="22" group="gpr"/>
<reg name="r23" bitsize="32" regnum="23" group="gpr"/>
<reg name="r24" bitsize="32" regnum="24" group="gpr"/>
<reg name="r25" bitsize="32" regnum="25" group="gpr"/>
<reg name="r26" bitsize="32" regnum="26" group="gpr"/>
<reg name="r27" bitsize="32" regnum="27" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="r29" bitsize="32" regnum="29" group="gpr"/>
<reg name="r30" bitsize="32" regnum="30" group="gpr"/>
<reg name="r31" bitsize="32" regnum="31" group="gpr"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.fpu">
<vector id="v4f" type="ieee_single" count="4"/>
<vector id="v2d" type="ieee_double" count="2"/>
<vector id="v16i8" type="int8" count="16"/>
<vector id="v8i16" type="int16" count="8"/>
<vector id="v4i32" type="int32" count="4"/>
<vector id="v2i64" type="int64" count="2"/>
<union id="vec128">
<field name="v4_float" type="v4f"/>
<field name="v2_double" type="v2d"/>
<field name="v16_int8" type="v16i8"/>
<field name="v8_int16" type="v8i16"/>
<field name="v4_int32" type="v4i32"/>
<field name="v2_int64" type="v2i64"/>
<field name="uint128" type="uint128"/>
</union>
<union id="float64_union">
<field name="double64" type="ieee_double"/>
<field name="float32" type="ieee_single"/>
<field name="uint64" type="uint64"/>
</union>
<!--float register-->
<reg name="fr0" bitsize="64" regnum="40" type="float64_union" group="fpu"/>
<reg name="fr1" bitsize="64" regnum="41" type="float64_union" group="fpu"/>
<reg name="fr2" bitsize="64" regnum="42" type="float64_union" group="fpu"/>
<reg name="fr3" bitsize="64" regnum="43" type="float64_union" group="fpu"/>
<reg name="fr4" bitsize="64" regnum="44" type="float64_union" group="fpu"/>
<reg name="fr5" bitsize="64" regnum="45" type="float64_union" group="fpu"/>
<reg name="fr6" bitsize="64" regnum="46" type="float64_union" group="fpu"/>
<reg name="fr7" bitsize="64" regnum="47" type="float64_union" group="fpu"/>
<reg name="fr8" bitsize="64" regnum="48" type="float64_union" group="fpu"/>
<reg name="fr9" bitsize="64" regnum="49" type="float64_union" group="fpu"/>
<reg name="fr10" bitsize="64" regnum="50" type="float64_union" group="fpu"/>
<reg name="fr11" bitsize="64" regnum="51" type="float64_union" group="fpu"/>
<reg name="fr12" bitsize="64" regnum="52" type="float64_union" group="fpu"/>
<reg name="fr13" bitsize="64" regnum="53" type="float64_union" group="fpu"/>
<reg name="fr14" bitsize="64" regnum="54" type="float64_union" group="fpu"/>
<reg name="fr15" bitsize="64" regnum="55" type="float64_union" group="fpu"/>
<reg name="fr16" bitsize="64" regnum="1172" type="float64_union" group="fpu"/>
<reg name="fr17" bitsize="64" regnum="1173" type="float64_union" group="fpu"/>
<reg name="fr18" bitsize="64" regnum="1174" type="float64_union" group="fpu"/>
<reg name="fr19" bitsize="64" regnum="1175" type="float64_union" group="fpu"/>
<reg name="fr20" bitsize="64" regnum="1176" type="float64_union" group="fpu"/>
<reg name="fr21" bitsize="64" regnum="1177" type="float64_union" group="fpu"/>
<reg name="fr22" bitsize="64" regnum="1178" type="float64_union" group="fpu"/>
<reg name="fr23" bitsize="64" regnum="1179" type="float64_union" group="fpu"/>
<reg name="fr24" bitsize="64" regnum="1180" type="float64_union" group="fpu"/>
<reg name="fr25" bitsize="64" regnum="1181" type="float64_union" group="fpu"/>
<reg name="fr26" bitsize="64" regnum="1182" type="float64_union" group="fpu"/>
<reg name="fr27" bitsize="64" regnum="1183" type="float64_union" group="fpu"/>
<reg name="fr28" bitsize="64" regnum="1184" type="float64_union" group="fpu"/>
<reg name="fr29" bitsize="64" regnum="1185" type="float64_union" group="fpu"/>
<reg name="fr30" bitsize="64" regnum="1186" type="float64_union" group="fpu"/>
<reg name="fr31" bitsize="64" regnum="1187" type="float64_union" group="fpu"/>
<!--vector register-->
<reg name="vr0" bitsize="128" regnum="56" type="vec128" group="vpu"/>
<reg name="vr1" bitsize="128" regnum="57" type="vec128" group="vpu"/>
<reg name="vr2" bitsize="128" regnum="58" type="vec128" group="vpu"/>
<reg name="vr3" bitsize="128" regnum="59" type="vec128" group="vpu"/>
<reg name="vr4" bitsize="128" regnum="60" type="vec128" group="vpu"/>
<reg name="vr5" bitsize="128" regnum="61" type="vec128" group="vpu"/>
<reg name="vr6" bitsize="128" regnum="62" type="vec128" group="vpu"/>
<reg name="vr7" bitsize="128" regnum="63" type="vec128" group="vpu"/>
<reg name="vr8" bitsize="128" regnum="64" type="vec128" group="vpu"/>
<reg name="vr9" bitsize="128" regnum="65" type="vec128" group="vpu"/>
<reg name="vr10" bitsize="128" regnum="66" type="vec128" group="vpu"/>
<reg name="vr11" bitsize="128" regnum="67" type="vec128" group="vpu"/>
<reg name="vr12" bitsize="128" regnum="68" type="vec128" group="vpu"/>
<reg name="vr13" bitsize="128" regnum="69" type="vec128" group="vpu"/>
<reg name="vr14" bitsize="128" regnum="70" type="vec128" group="vpu"/>
<reg name="vr15" bitsize="128" regnum="71" type="vec128" group="vpu"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="AF[1]" start="1" end="1" type="int8"/>
<field name="FE[4]" start="4" end="4" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TE[12]" start="12" end="12" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="fpsr" bitsize="32" regnum="92" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="fpc" bitsize="32" regnum="94" group="cr"/>
<reg name="gcr" bitsize="32" regnum="100" group="cr"/>
<reg name="gsr" bitsize="32" regnum="101" group="cr"/>
<reg name="cr13" bitsize="32" regnum="102" group="cr"/>
<reg name="cr17" bitsize="32" regnum="106" group="cr"/>
<reg name="cr18" bitsize="32" regnum="107" group="cr"/>
<reg name="cr23" bitsize="32" regnum="112" group="cr"/>
<reg name="cr25" bitsize="32" regnum="114" group="cr"/>
<reg name="cr28" bitsize="32" regnum="117" group="cr"/>
<reg name="cr29" bitsize="32" regnum="118" group="cr"/>
<reg name="cr30" bitsize="32" regnum="119" group="cr"/>
<reg name="cr31" bitsize="32" regnum="120" group="cr"/>
</feature>
<feature name="org.gnu.csky.abiv2.fvcr">
<reg name="fcr" bitsize="32" regnum="121" group="fvcr"/>
<reg name="fid" bitsize="32" regnum="122" group="fvcr"/>
<reg name="fesr" bitsize="32" regnum="123" group="fvcr"/>
<!--usp cr_bank1-->
<reg name="usp" bitsize="32" regnum="127"/>
</feature>
<feature name="org.gnu.csky.abiv2.mmu">
<flags id="ckcpu_mir" size="4">
<field name="Index[9:0]" start="0" end="9" type="int16"/>
<field name="TF[30]" start="30" end="30" type="int8"/>
<field name="P[31]" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mel" size="4">
<field name="V[1]" start="1" end="1" type="int8"/>
<field name="D[2]" start="2" end="2" type="int8"/>
<field name="C[3]" start="3" end="3" type="int8"/>
<field name="SEC[4]" start="4" end="4" type="int8"/>
<field name="SO[5]" start="5" end="5" type="int8"/>
<field name="B[6]" start="6" end="6" type="int8"/>
<field name="PFN[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_meh" size="4">
<field name="ASID[7:0]" start="0" end="7" type="int8"/>
<field name="VPN[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_mpr" size="4">
<field name="PageMask[24:13]" start="13" end="24" type="int16"/>
</flags>
<flags id="ckcpu_mcir" size="4">
<field name="ASID[7:0]" start="0" end="7" type="int8"/>
<field name="TLBINV_ALL[26]" start="26" end="26" type="int8"/>
<field name="TLBINV[27]" start="27" end="27" type="int8"/>
<field name="TLBWR[28]" start="28" end="28" type="int8"/>
<field name="TLBWI[29]" start="29" end="29" type="int8"/>
<field name="TLBR[30]" start="30" end="30" type="int8"/>
<field name="TLBP[31]" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mpgd" size="4">
<field name="HRE[0]" start="0" end="0" type="int8"/>
<field name="PBA[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_msa" size="4">
<field name="V[1]" start="1" end="1" type="int8"/>
<field name="D[2]" start="2" end="2" type="int8"/>
<field name="C[3]" start="3" end="3" type="int8"/>
<field name="SEC[4]" start="4" end="4" type="int8"/>
<field name="SO[5]" start="5" end="5" type="int8"/>
<field name="B[6]" start="6" end="6" type="int8"/>
<field name="BA[31:29]" start="29" end="31" type="int8"/>
</flags>
<reg name="mir" bitsize="32" regnum="128" group="mmu" type="ckcpu_mir"/>
<reg name="mel0" bitsize="32" regnum="129" group="mmu" type="ckcpu_mel"/>
<reg name="mel1" bitsize="32" regnum="130" group="mmu" type="ckcpu_mel"/>
<reg name="meh" bitsize="32" regnum="131" group="mmu" type="ckcpu_meh"/>
<reg name="mpr" bitsize="32" regnum="132" group="mmu" type="ckcpu_mpr"/>
<reg name="mcir" bitsize="32" regnum="133" group="mmu" type="ckcpu_mcir"/>
<reg name="mpgd" bitsize="32" regnum="134" group="mmu" type="ckcpu_mpgd"/>
<reg name="msa0" bitsize="32" regnum="135" group="mmu" type="ckcpu_msa"/>
<reg name="msa1" bitsize="32" regnum="136" group="mmu" type="ckcpu_msa"/>
</feature>
<feature name="org.gnu.csky.abiv2.bank1">
<reg name="cp1cr16" bitsize="32" regnum="205" group="bank1"/>
<reg name="cp1cr17" bitsize="32" regnum="206" group="bank1"/>
<reg name="cp1cr18" bitsize="32" regnum="207" group="bank1"/>
<reg name="cp1cr19" bitsize="32" regnum="208" group="bank1"/>
<reg name="cp1cr20" bitsize="32" regnum="209" group="bank1"/>
</feature>
</target>

View File

@ -0,0 +1,156 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv1.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="hi" bitsize="32" regnum="20"/>
<reg name="lo" bitsize="32" regnum="21"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv1.fpu">
<reg name="cp1gr0" bitsize="32" regnum="24" group="fpu"/>
<reg name="cp1gr1" bitsize="32" regnum="25" group="fpu"/>
<reg name="cp1gr2" bitsize="32" regnum="26" group="fpu"/>
<reg name="cp1gr3" bitsize="32" regnum="27" group="fpu"/>
<reg name="cp1gr4" bitsize="32" regnum="28" group="fpu"/>
<reg name="cp1gr5" bitsize="32" regnum="29" group="fpu"/>
<reg name="cp1gr6" bitsize="32" regnum="30" group="fpu"/>
<reg name="cp1gr7" bitsize="32" regnum="31" group="fpu"/>
<reg name="cp1gr8" bitsize="32" regnum="32" group="fpu"/>
<reg name="cp1gr9" bitsize="32" regnum="33" group="fpu"/>
<reg name="cp1gr10" bitsize="32" regnum="34" group="fpu"/>
<reg name="cp1gr11" bitsize="32" regnum="35" group="fpu"/>
<reg name="cp1gr12" bitsize="32" regnum="36" group="fpu"/>
<reg name="cp1gr13" bitsize="32" regnum="37" group="fpu"/>
<reg name="cp1gr14" bitsize="32" regnum="38" group="fpu"/>
<reg name="cp1gr15" bitsize="32" regnum="39" group="fpu"/>
<reg name="cp1gr16" bitsize="32" regnum="40" group="fpu"/>
<reg name="cp1gr17" bitsize="32" regnum="41" group="fpu"/>
<reg name="cp1gr18" bitsize="32" regnum="42" group="fpu"/>
<reg name="cp1gr19" bitsize="32" regnum="43" group="fpu"/>
<reg name="cp1gr20" bitsize="32" regnum="44" group="fpu"/>
<reg name="cp1gr21" bitsize="32" regnum="45" group="fpu"/>
<reg name="cp1gr22" bitsize="32" regnum="46" group="fpu"/>
<reg name="cp1gr23" bitsize="32" regnum="47" group="fpu"/>
<reg name="cp1gr24" bitsize="32" regnum="48" group="fpu"/>
<reg name="cp1gr25" bitsize="32" regnum="49" group="fpu"/>
<reg name="cp1gr26" bitsize="32" regnum="50" group="fpu"/>
<reg name="cp1gr27" bitsize="32" regnum="51" group="fpu"/>
<reg name="cp1gr28" bitsize="32" regnum="52" group="fpu"/>
<reg name="cp1gr29" bitsize="32" regnum="53" group="fpu"/>
<reg name="cp1gr30" bitsize="32" regnum="54" group="fpu"/>
<reg name="cp1gr31" bitsize="32" regnum="55" group="fpu"/>
</feature>
<feature name="org.gnu.csky.abiv1.gar">
<reg name="ar0" bitsize="32" regnum="73" group="gar"/>
<reg name="ar1" bitsize="32" regnum="74" group="gar"/>
<reg name="ar2" bitsize="32" regnum="75" group="gar"/>
<reg name="ar3" bitsize="32" regnum="76" group="gar"/>
<reg name="ar4" bitsize="32" regnum="77" group="gar"/>
<reg name="ar5" bitsize="32" regnum="78" group="gar"/>
<reg name="ar6" bitsize="32" regnum="79" group="gar"/>
<reg name="ar7" bitsize="32" regnum="80" group="gar"/>
<reg name="ar8" bitsize="32" regnum="81" group="gar"/>
<reg name="ar9" bitsize="32" regnum="82" group="gar"/>
<reg name="ar10" bitsize="32" regnum="83" group="gar"/>
<reg name="ar11" bitsize="32" regnum="84" group="gar"/>
<reg name="ar12" bitsize="32" regnum="85" group="gar"/>
<reg name="ar13" bitsize="32" regnum="86" group="gar"/>
<reg name="ar14" bitsize="32" regnum="87" group="gar"/>
<reg name="ar15" bitsize="32" regnum="88" group="gar"/>
</feature>
<feature name="org.gnu.csky.abiv1.cr">
<flags id="ckcpu_psr" size="4">
<field name="C" start="0" end="0" type="int8"/>
<field name="AF" start="1" end="1" type="int8"/>
<field name="FE" start="4" end="4" type="int8"/>
<field name="IE" start="6" end="6" type="int8"/>
<field name="IC" start="7" end="7" type="int8"/>
<field name="EE" start="8" end="8" type="int8"/>
<field name="MM" start="9" end="9" type="int8"/>
<field name="TE" start="12" end="12" type="int8"/>
<field name="TP" start="13" end="13" type="int8"/>
<field name="TM[1:0]" start="14" end="15" type="int8"/>
<field name="VEC[7:0]" start="16" end="23" type="int8"/>
<field name="CPID[3:0]" start="24" end="27" type="int8"/>
<field name="S" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="fpsr" bitsize="32" regnum="92" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="fpc" bitsize="32" regnum="94" group="cr"/>
<reg name="ss0" bitsize="32" regnum="95" group="cr"/>
<reg name="ss1" bitsize="32" regnum="96" group="cr"/>
<reg name="ss2" bitsize="32" regnum="97" group="cr"/>
<reg name="ss3" bitsize="32" regnum="98" group="cr"/>
<reg name="ss4" bitsize="32" regnum="99" group="cr"/>
<reg name="gcr" bitsize="32" regnum="100" group="cr"/>
<reg name="gsr" bitsize="32" regnum="101" group="cr"/>
<reg name="cr13" bitsize="32" regnum="102" group="cr"/>
<reg name="cr14" bitsize="32" regnum="103" group="cr"/>
<reg name="cr15" bitsize="32" regnum="104" group="cr"/>
<reg name="cr16" bitsize="32" regnum="105" group="cr"/>
<reg name="cr17" bitsize="32" regnum="106" group="cr"/>
<reg name="cr18" bitsize="32" regnum="107" group="cr"/>
<reg name="cr19" bitsize="32" regnum="108" group="cr"/>
<reg name="cr20" bitsize="32" regnum="109" group="cr"/>
<reg name="cr21" bitsize="32" regnum="110" group="cr"/>
<reg name="cr22" bitsize="32" regnum="111" group="cr"/>
<reg name="cr23" bitsize="32" regnum="112" group="cr"/>
<reg name="cr24" bitsize="32" regnum="113" group="cr"/>
<reg name="cr25" bitsize="32" regnum="114" group="cr"/>
<reg name="cr26" bitsize="32" regnum="115" group="cr"/>
<reg name="cr27" bitsize="32" regnum="116" group="cr"/>
<reg name="cr28" bitsize="32" regnum="117" group="cr"/>
<reg name="cr29" bitsize="32" regnum="118" group="cr"/>
<reg name="cr30" bitsize="32" regnum="119" group="cr"/>
</feature>
<feature name="org.gnu.csky.abiv1.fcr">
<reg name="cp1cr0" bitsize="32" regnum="121" group="fcr"/>
<reg name="cp1cr1" bitsize="32" regnum="122" group="fcr"/>
<reg name="cp1cr2" bitsize="32" regnum="123" group="fcr"/>
<reg name="cp1cr3" bitsize="32" regnum="124" group="fcr"/>
<reg name="cp1cr4" bitsize="32" regnum="125" group="fcr"/>
<reg name="cp1cr5" bitsize="32" regnum="126" group="fcr"/>
<reg name="cp1cr6" bitsize="32" regnum="127" group="fcr"/>
</feature>
<feature name="org.gnu.csky.abiv1.mmu">
<reg name="cp15cr0" bitsize="32" regnum="128" group="mmu"/>
<reg name="cp15cr1" bitsize="32" regnum="129" group="mmu"/>
<reg name="cp15cr2" bitsize="32" regnum="130" group="mmu"/>
<reg name="cp15cr3" bitsize="32" regnum="131" group="mmu"/>
<reg name="cp15cr4" bitsize="32" regnum="132" group="mmu"/>
<reg name="cp15cr5" bitsize="32" regnum="133" group="mmu"/>
<reg name="cp15cr6" bitsize="32" regnum="134" group="mmu"/>
<reg name="cp15cr7" bitsize="32" regnum="135" group="mmu"/>
<reg name="cp15cr8" bitsize="32" regnum="136" group="mmu"/>
<reg name="cp15cr9" bitsize="32" regnum="137" group="mmu"/>
<reg name="cp15cr10" bitsize="32" regnum="138" group="mmu"/>
<reg name="cp15cr11" bitsize="32" regnum="139" group="mmu"/>
<reg name="cp15cr12" bitsize="32" regnum="140" group="mmu"/>
<reg name="cp15cr13" bitsize="32" regnum="141" group="mmu"/>
<reg name="cp15cr14" bitsize="32" regnum="142" group="mmu"/>
<reg name="cp15cr15" bitsize="32" regnum="143" group="mmu"/>
<reg name="cp15cr16" bitsize="32" regnum="144" group="mmu"/>
<reg name="cp15cr29" bitsize="32" regnum="145" group="mmu"/>
<reg name="cp15cr30" bitsize="32" regnum="146" group="mmu"/>
<reg name="cp15cr31" bitsize="32" regnum="147" group="mmu"/>
</feature>
</target>

View File

@ -0,0 +1,44 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="gcr" bitsize="32" regnum="100" group="cr"/>
<reg name="gsr" bitsize="32" regnum="101" group="cr"/>
<reg name="cpuid" bitsize="32" regnum="102" group="cr"/>
<reg name="ccr" bitsize="32" regnum="107" group="cr"/>
<reg name="capr" bitsize="32" regnum="108" group="cr"/>
<reg name="pacr" bitsize="32" regnum="109" group="cr"/>
<reg name="prsr" bitsize="32" regnum="110" group="cr"/>
<reg name="chr" bitsize="32" regnum="120" group="cr"/>
<!-- usp <14, 1> -->
<reg name="usp" bitsize="32" regnum="127"/>
</feature>
</target>

View File

@ -0,0 +1,70 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="AF[1]" start="1" end="1" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="SV[25]" start="25" end="25" type="int8"/>
<field name="SD[26]" start="26" end="26" type="int8"/>
<field name="SC[27]" start="27" end="27" type="int8"/>
<field name="HS[28]" start="28" end="28" type="int8"/>
<field name="SP[29]" start="29" end="29" type="int8"/>
<field name="T[30]" start="30" end="30" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="ss4" bitsize="32" regnum="99" group="cr"/>
<reg name="gcr" bitsize="32" regnum="100" group="cr"/>
<reg name="gsr" bitsize="32" regnum="101" group="cr"/>
<reg name="cpuid" bitsize="32" regnum="102" group="cr"/>
<reg name="ccr" bitsize="32" regnum="107" group="cr"/>
<reg name="capr" bitsize="32" regnum="108" group="cr"/>
<reg name="pacr" bitsize="32" regnum="109" group="cr"/>
<reg name="prsr" bitsize="32" regnum="110" group="cr"/>
<reg name="chr" bitsize="32" regnum="120" group="cr"/>
</feature>
<feature name="org.gnu.csky.abiv2.tee">
<reg name="nt_usp" bitsize="32" regnum="127" group="ree"/>
<reg name="ebr" bitsize="32" regnum="190" group="cr"/>
<reg name="dcr" bitsize="32" regnum="229" group="cr"/>
<reg name="t_usp" bitsize="32" regnum="228" group="tee"/>
<reg name="t_pcr" bitsize="32" regnum="230" group="tee"/>
</feature>
<feature name="org.gnu.csky.pseudo">
<reg name="t_psr" bitsize="32" regs="89" group="tee" type="int32" env="tee"/>
<reg name="t_vbr" bitsize="32" regs="90" group="tee" type="int32" env="tee"/>
<reg name="t_epsr" bitsize="32" regs="91" group="tee" type="int32" env="tee"/>
<reg name="t_epc" bitsize="32" regs="93" group="tee" type="int32" env="tee"/>
<reg name="t_ebr" bitsize="32" regs="190" group="tee" type="int32" env="tee"/>
<reg name="nt_psr" bitsize="32" regs="89" group="ree" type="int32" env="ree"/>
<reg name="nt_vbr" bitsize="32" regs="90" group="ree" type="int32" env="ree"/>
<reg name="nt_epsr" bitsize="32" regs="91" group="ree" type="int32" env="ree"/>
<reg name="nt_epc" bitsize="32" regs="93" group="ree" type="int32" env="ree"/>
<reg name="nt_ebr" bitsize="32" regs="190" group="ree" type="int32" env="ree"/>
</feature>
</target>

View File

@ -0,0 +1,49 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="BM[2]" start="2" end="2" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="gcr" bitsize="32" regnum="100" group="cr"/>
<reg name="gsr" bitsize="32" regnum="101" group="cr"/>
<reg name="cpuid" bitsize="32" regnum="102" group="cr"/>
<reg name="ccr" bitsize="32" regnum="107" group="cr"/>
<reg name="capr" bitsize="32" regnum="108" group="cr"/>
<reg name="pacr" bitsize="32" regnum="109" group="cr"/>
<reg name="prsr" bitsize="32" regnum="110" group="cr"/>
<reg name="chr" bitsize="32" regnum="120" group="cr"/>
<reg name="usp" bitsize="32" regnum="127"/>
<reg name="int_sp" bitsize="32" regnum="204"/>
</feature>
</target>

View File

@ -0,0 +1,53 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r23" bitsize="32" regnum="23" group="gpr"/>
<reg name="r24" bitsize="32" regnum="24" group="gpr"/>
<reg name="r25" bitsize="32" regnum="25" group="gpr"/>
<reg name="r30" bitsize="32" regnum="30" group="gpr"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="BM[2]" start="2" end="2" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="gcr" bitsize="32" regnum="100" group="cr"/>
<reg name="gsr" bitsize="32" regnum="101" group="cr"/>
<reg name="cpuid" bitsize="32" regnum="102" group="cr"/>
<reg name="ccr" bitsize="32" regnum="107" group="cr"/>
<reg name="capr" bitsize="32" regnum="108" group="cr"/>
<reg name="pacr" bitsize="32" regnum="109" group="cr"/>
<reg name="prsr" bitsize="32" regnum="110" group="cr"/>
<reg name="chr" bitsize="32" regnum="120" group="cr"/>
<reg name="usp" bitsize="32" regnum="127"/>
<reg name="int_sp" bitsize="32" regnum="204"/>
</feature>
</target>

View File

@ -0,0 +1,78 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r23" bitsize="32" regnum="23" group="gpr"/>
<reg name="r24" bitsize="32" regnum="24" group="gpr"/>
<reg name="r25" bitsize="32" regnum="25" group="gpr"/>
<reg name="r30" bitsize="32" regnum="30" group="gpr"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="AF[1]" start="1" end="1" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="SV[25]" start="25" end="25" type="int8"/>
<field name="SD[26]" start="26" end="26" type="int8"/>
<field name="SC[27]" start="27" end="27" type="int8"/>
<field name="HS[28]" start="28" end="28" type="int8"/>
<field name="SP[29]" start="29" end="29" type="int8"/>
<field name="T[30]" start="30" end="30" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="gcr" bitsize="32" regnum="100" group="cr"/>
<reg name="gsr" bitsize="32" regnum="101" group="cr"/>
<reg name="cpuid" bitsize="32" regnum="102" group="cr"/>
<reg name="ccr" bitsize="32" regnum="107" group="cr"/>
<reg name="capr" bitsize="32" regnum="108" group="cr"/>
<reg name="pacr" bitsize="32" regnum="109" group="cr"/>
<reg name="prsr" bitsize="32" regnum="110" group="cr"/>
<reg name="chr" bitsize="32" regnum="120" group="cr"/>
<reg name="int_sp" bitsize="32" regnum="204"/>
</feature>
<feature name="org.gnu.csky.abiv2.tee">
<reg name="nt_usp" bitsize="32" regnum="127" group="ree"/>
<reg name="ebr" bitsize="32" regnum="190" group="cr"/>
<reg name="dcr" bitsize="32" regnum="229" group="cr"/>
<reg name="t_usp" bitsize="32" regnum="228" group="tee"/>
<reg name="t_pcr" bitsize="32" regnum="230" group="tee"/>
</feature>
<feature name="org.gnu.csky.pseudo">
<reg name="t_psr" bitsize="32" regs="89" group="tee" type="int32" env="tee"/>
<reg name="t_vbr" bitsize="32" regs="90" group="tee" type="int32" env="tee"/>
<reg name="t_epsr" bitsize="32" regs="91" group="tee" type="int32" env="tee"/>
<reg name="t_epc" bitsize="32" regs="93" group="tee" type="int32" env="tee"/>
<reg name="t_ebr" bitsize="32" regs="190" group="tee" type="int32" env="tee"/>
<reg name="nt_psr" bitsize="32" regs="89" group="ree" type="int32" env="ree"/>
<reg name="nt_vbr" bitsize="32" regs="90" group="ree" type="int32" env="ree"/>
<reg name="nt_epsr" bitsize="32" regs="91" group="ree" type="int32" env="ree"/>
<reg name="nt_epc" bitsize="32" regs="93" group="ree" type="int32" env="ree"/>
<reg name="nt_ebr" bitsize="32" regs="190" group="ree" type="int32" env="ree"/>
</feature>
</target>

View File

@ -0,0 +1,51 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="AF[1]" start="1" end="1" type="int8"/>
<field name="FE[4]" start="4" end="4" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TE[12]" start="12" end="12" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="cpuid" bitsize="32" regnum="102" group="cr"/>
<reg name="ccr" bitsize="32" regnum="107" group="cr"/>
<reg name="capr" bitsize="32" regnum="108" group="cr"/>
<reg name="pacr" bitsize="32" regnum="109" group="cr"/>
<reg name="prsr" bitsize="32" regnum="110" group="cr"/>
<reg name="chr" bitsize="32" regnum="120" group="cr"/>
<reg name="usp" bitsize="32" regnum="127"/>
<reg name="int_sp" bitsize="32" regnum="204"/>
</feature>
</target>

View File

@ -0,0 +1,53 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="hi" bitsize="32" regnum="36"/>
<reg name="lo" bitsize="32" regnum="37"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="AF[1]" start="1" end="1" type="int8"/>
<field name="FE[4]" start="4" end="4" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TE[12]" start="12" end="12" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="cpuid" bitsize="32" regnum="102" group="cr"/>
<reg name="ccr" bitsize="32" regnum="107" group="cr"/>
<reg name="capr" bitsize="32" regnum="108" group="cr"/>
<reg name="pacr" bitsize="32" regnum="109" group="cr"/>
<reg name="prsr" bitsize="32" regnum="110" group="cr"/>
<reg name="chr" bitsize="32" regnum="120" group="cr"/>
<reg name="usp" bitsize="32" regnum="127"/>
<reg name="int_sp" bitsize="32" regnum="204"/>
</feature>
</target>

View File

@ -0,0 +1,81 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="hi" bitsize="32" regnum="36"/>
<reg name="lo" bitsize="32" regnum="37"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.fpu">
<union id="float32_union">
<field name="float" type="ieee_single"/>
<field name="uint32" type="uint32"/>
</union>
<!--float register-->
<reg name="fr0" bitsize="32" regnum="40" group="fpu" type="float32_union"/>
<reg name="fr1" bitsize="32" regnum="41" group="fpu" type="float32_union"/>
<reg name="fr2" bitsize="32" regnum="42" group="fpu" type="float32_union"/>
<reg name="fr3" bitsize="32" regnum="43" group="fpu" type="float32_union"/>
<reg name="fr4" bitsize="32" regnum="44" group="fpu" type="float32_union"/>
<reg name="fr5" bitsize="32" regnum="45" group="fpu" type="float32_union"/>
<reg name="fr6" bitsize="32" regnum="46" group="fpu" type="float32_union"/>
<reg name="fr7" bitsize="32" regnum="47" group="fpu" type="float32_union"/>
<reg name="fr8" bitsize="32" regnum="48" group="fpu" type="float32_union"/>
<reg name="fr9" bitsize="32" regnum="49" group="fpu" type="float32_union"/>
<reg name="fr10" bitsize="32" regnum="50" group="fpu" type="float32_union"/>
<reg name="fr11" bitsize="32" regnum="51" group="fpu" type="float32_union"/>
<reg name="fr12" bitsize="32" regnum="52" group="fpu" type="float32_union"/>
<reg name="fr13" bitsize="32" regnum="53" group="fpu" type="float32_union"/>
<reg name="fr14" bitsize="32" regnum="54" group="fpu" type="float32_union"/>
<reg name="fr15" bitsize="32" regnum="55" group="fpu" type="float32_union"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="AF[1]" start="1" end="1" type="int8"/>
<field name="FE[4]" start="4" end="4" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TE[12]" start="12" end="12" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="cpuid" bitsize="32" regnum="102" group="cr"/>
<reg name="ccr" bitsize="32" regnum="107" group="cr"/>
<reg name="capr" bitsize="32" regnum="108" group="cr"/>
<reg name="pacr" bitsize="32" regnum="109" group="cr"/>
<reg name="prsr" bitsize="32" regnum="110" group="cr"/>
<reg name="chr" bitsize="32" regnum="120" group="cr"/>
<reg name="usp" bitsize="32" regnum="127"/>
<reg name="int_sp" bitsize="32" regnum="204"/>
</feature>
<feature name="org.gnu.csky.abiv2.fvcr">
<reg name="fcr" bitsize="32" regnum="121" group="fvcr"/>
<reg name="fid" bitsize="32" regnum="122" group="fvcr"/>
<reg name="fesr" bitsize="32" regnum="123" group="fvcr"/>
</feature>
</target>

View File

@ -0,0 +1,103 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="hi" bitsize="32" regnum="36"/>
<reg name="lo" bitsize="32" regnum="37"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.fpu">
<union id="float32_union">
<field name="float" type="ieee_single"/>
<field name="uint32" type="uint32"/>
</union>
<!--float register-->
<reg name="fr0" bitsize="32" regnum="40" group="fpu" type="float32_union"/>
<reg name="fr1" bitsize="32" regnum="41" group="fpu" type="float32_union"/>
<reg name="fr2" bitsize="32" regnum="42" group="fpu" type="float32_union"/>
<reg name="fr3" bitsize="32" regnum="43" group="fpu" type="float32_union"/>
<reg name="fr4" bitsize="32" regnum="44" group="fpu" type="float32_union"/>
<reg name="fr5" bitsize="32" regnum="45" group="fpu" type="float32_union"/>
<reg name="fr6" bitsize="32" regnum="46" group="fpu" type="float32_union"/>
<reg name="fr7" bitsize="32" regnum="47" group="fpu" type="float32_union"/>
<reg name="fr8" bitsize="32" regnum="48" group="fpu" type="float32_union"/>
<reg name="fr9" bitsize="32" regnum="49" group="fpu" type="float32_union"/>
<reg name="fr10" bitsize="32" regnum="50" group="fpu" type="float32_union"/>
<reg name="fr11" bitsize="32" regnum="51" group="fpu" type="float32_union"/>
<reg name="fr12" bitsize="32" regnum="52" group="fpu" type="float32_union"/>
<reg name="fr13" bitsize="32" regnum="53" group="fpu" type="float32_union"/>
<reg name="fr14" bitsize="32" regnum="54" group="fpu" type="float32_union"/>
<reg name="fr15" bitsize="32" regnum="55" group="fpu" type="float32_union"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="AF[1]" start="1" end="1" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="SV[25]" start="25" end="25" type="int8"/>
<field name="SD[26]" start="26" end="26" type="int8"/>
<field name="SC[27]" start="27" end="27" type="int8"/>
<field name="HS[28]" start="28" end="28" type="int8"/>
<field name="SP[29]" start="29" end="29" type="int8"/>
<field name="T[30]" start="30" end="30" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="cpuid" bitsize="32" regnum="102" group="cr"/>
<reg name="ccr" bitsize="32" regnum="107" group="cr"/>
<reg name="capr" bitsize="32" regnum="108" group="cr"/>
<reg name="pacr" bitsize="32" regnum="109" group="cr"/>
<reg name="prsr" bitsize="32" regnum="110" group="cr"/>
<reg name="chr" bitsize="32" regnum="120" group="cr"/>
<reg name="int_sp" bitsize="32" regnum="204"/>
</feature>
<feature name="org.gnu.csky.abiv2.fvcr">
<reg name="fcr" bitsize="32" regnum="121" group="fvcr"/>
<reg name="fid" bitsize="32" regnum="122" group="fvcr"/>
<reg name="fesr" bitsize="32" regnum="123" group="fvcr"/>
</feature>
<feature name="org.gnu.csky.abiv2.tee">
<reg name="nt_usp" bitsize="32" regnum="127" group="ree"/>
<reg name="ebr" bitsize="32" regnum="190" group="cr"/>
<reg name="dcr" bitsize="32" regnum="229" group="cr"/>
<reg name="t_usp" bitsize="32" regnum="228" group="tee"/>
<reg name="t_pcr" bitsize="32" regnum="230" group="tee"/>
</feature>
<feature name="org.gnu.csky.pseudo">
<reg name="t_psr" bitsize="32" regs="89" group="tee" type="int32" env="tee"/>
<reg name="t_vbr" bitsize="32" regs="90" group="tee" type="int32" env="tee"/>
<reg name="t_epsr" bitsize="32" regs="91" group="tee" type="int32" env="tee"/>
<reg name="t_epc" bitsize="32" regs="93" group="tee" type="int32" env="tee"/>
<reg name="t_ebr" bitsize="32" regs="190" group="tee" type="int32" env="tee"/>
<reg name="nt_psr" bitsize="32" regs="89" group="ree" type="int32" env="ree"/>
<reg name="nt_vbr" bitsize="32" regs="90" group="ree" type="int32" env="ree"/>
<reg name="nt_epsr" bitsize="32" regs="91" group="ree" type="int32" env="ree"/>
<reg name="nt_epc" bitsize="32" regs="93" group="ree" type="int32" env="ree"/>
<reg name="nt_ebr" bitsize="32" regs="190" group="ree" type="int32" env="ree"/>
</feature>
</target>

View File

@ -0,0 +1,75 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="hi" bitsize="32" regnum="36"/>
<reg name="lo" bitsize="32" regnum="37"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="AF[1]" start="1" end="1" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="SV[25]" start="25" end="25" type="int8"/>
<field name="SD[26]" start="26" end="26" type="int8"/>
<field name="SC[27]" start="27" end="27" type="int8"/>
<field name="HS[28]" start="28" end="28" type="int8"/>
<field name="SP[29]" start="29" end="29" type="int8"/>
<field name="T[30]" start="30" end="30" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="cpuid" bitsize="32" regnum="102" group="cr"/>
<reg name="ccr" bitsize="32" regnum="107" group="cr"/>
<reg name="capr" bitsize="32" regnum="108" group="cr"/>
<reg name="pacr" bitsize="32" regnum="109" group="cr"/>
<reg name="prsr" bitsize="32" regnum="110" group="cr"/>
<reg name="chr" bitsize="32" regnum="120" group="cr"/>
<reg name="int_sp" bitsize="32" regnum="204"/>
</feature>
<feature name="org.gnu.csky.abiv2.tee">
<reg name="nt_usp" bitsize="32" regnum="127" group="ree"/>
<reg name="ebr" bitsize="32" regnum="190" group="cr"/>
<reg name="dcr" bitsize="32" regnum="229" group="cr"/>
<reg name="t_usp" bitsize="32" regnum="228" group="tee"/>
<reg name="t_pcr" bitsize="32" regnum="230" group="tee"/>
</feature>
<feature name="org.gnu.csky.pseudo">
<reg name="t_psr" bitsize="32" regs="89" group="tee" type="int32" env="tee"/>
<reg name="t_vbr" bitsize="32" regs="90" group="tee" type="int32" env="tee"/>
<reg name="t_epsr" bitsize="32" regs="91" group="tee" type="int32" env="tee"/>
<reg name="t_epc" bitsize="32" regs="93" group="tee" type="int32" env="tee"/>
<reg name="t_ebr" bitsize="32" regs="190" group="tee" type="int32" env="tee"/>
<reg name="nt_psr" bitsize="32" regs="89" group="ree" type="int32" env="ree"/>
<reg name="nt_vbr" bitsize="32" regs="90" group="ree" type="int32" env="ree"/>
<reg name="nt_epsr" bitsize="32" regs="91" group="ree" type="int32" env="ree"/>
<reg name="nt_epc" bitsize="32" regs="93" group="ree" type="int32" env="ree"/>
<reg name="nt_ebr" bitsize="32" regs="190" group="ree" type="int32" env="ree"/>
</feature>
</target>

View File

@ -0,0 +1,79 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.fpu">
<union id="float32_union">
<field name="float" type="ieee_single"/>
<field name="uint32" type="uint32"/>
</union>
<!--float register-->
<reg name="fr0" bitsize="32" regnum="40" group="fpu" type="float32_union"/>
<reg name="fr1" bitsize="32" regnum="41" group="fpu" type="float32_union"/>
<reg name="fr2" bitsize="32" regnum="42" group="fpu" type="float32_union"/>
<reg name="fr3" bitsize="32" regnum="43" group="fpu" type="float32_union"/>
<reg name="fr4" bitsize="32" regnum="44" group="fpu" type="float32_union"/>
<reg name="fr5" bitsize="32" regnum="45" group="fpu" type="float32_union"/>
<reg name="fr6" bitsize="32" regnum="46" group="fpu" type="float32_union"/>
<reg name="fr7" bitsize="32" regnum="47" group="fpu" type="float32_union"/>
<reg name="fr8" bitsize="32" regnum="48" group="fpu" type="float32_union"/>
<reg name="fr9" bitsize="32" regnum="49" group="fpu" type="float32_union"/>
<reg name="fr10" bitsize="32" regnum="50" group="fpu" type="float32_union"/>
<reg name="fr11" bitsize="32" regnum="51" group="fpu" type="float32_union"/>
<reg name="fr12" bitsize="32" regnum="52" group="fpu" type="float32_union"/>
<reg name="fr13" bitsize="32" regnum="53" group="fpu" type="float32_union"/>
<reg name="fr14" bitsize="32" regnum="54" group="fpu" type="float32_union"/>
<reg name="fr15" bitsize="32" regnum="55" group="fpu" type="float32_union"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="AF[1]" start="1" end="1" type="int8"/>
<field name="FE[4]" start="4" end="4" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TE[12]" start="12" end="12" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="cpuid" bitsize="32" regnum="102" group="cr"/>
<reg name="ccr" bitsize="32" regnum="107" group="cr"/>
<reg name="capr" bitsize="32" regnum="108" group="cr"/>
<reg name="pacr" bitsize="32" regnum="109" group="cr"/>
<reg name="prsr" bitsize="32" regnum="110" group="cr"/>
<reg name="chr" bitsize="32" regnum="120" group="cr"/>
<reg name="usp" bitsize="32" regnum="127"/>
<reg name="int_sp" bitsize="32" regnum="204"/>
</feature>
<feature name="org.gnu.csky.abiv2.fvcr">
<reg name="fcr" bitsize="32" regnum="121" group="fvcr"/>
<reg name="fid" bitsize="32" regnum="122" group="fvcr"/>
<reg name="fesr" bitsize="32" regnum="123" group="fvcr"/>
</feature>
</target>

View File

@ -0,0 +1,101 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.fpu">
<union id="float32_union">
<field name="float" type="ieee_single"/>
<field name="uint32" type="uint32"/>
</union>
<!--float register-->
<reg name="fr0" bitsize="32" regnum="40" group="fpu" type="float32_union"/>
<reg name="fr1" bitsize="32" regnum="41" group="fpu" type="float32_union"/>
<reg name="fr2" bitsize="32" regnum="42" group="fpu" type="float32_union"/>
<reg name="fr3" bitsize="32" regnum="43" group="fpu" type="float32_union"/>
<reg name="fr4" bitsize="32" regnum="44" group="fpu" type="float32_union"/>
<reg name="fr5" bitsize="32" regnum="45" group="fpu" type="float32_union"/>
<reg name="fr6" bitsize="32" regnum="46" group="fpu" type="float32_union"/>
<reg name="fr7" bitsize="32" regnum="47" group="fpu" type="float32_union"/>
<reg name="fr8" bitsize="32" regnum="48" group="fpu" type="float32_union"/>
<reg name="fr9" bitsize="32" regnum="49" group="fpu" type="float32_union"/>
<reg name="fr10" bitsize="32" regnum="50" group="fpu" type="float32_union"/>
<reg name="fr11" bitsize="32" regnum="51" group="fpu" type="float32_union"/>
<reg name="fr12" bitsize="32" regnum="52" group="fpu" type="float32_union"/>
<reg name="fr13" bitsize="32" regnum="53" group="fpu" type="float32_union"/>
<reg name="fr14" bitsize="32" regnum="54" group="fpu" type="float32_union"/>
<reg name="fr15" bitsize="32" regnum="55" group="fpu" type="float32_union"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="AF[1]" start="1" end="1" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="SV[25]" start="25" end="25" type="int8"/>
<field name="SD[26]" start="26" end="26" type="int8"/>
<field name="SC[27]" start="27" end="27" type="int8"/>
<field name="HS[28]" start="28" end="28" type="int8"/>
<field name="SP[29]" start="29" end="29" type="int8"/>
<field name="T[30]" start="30" end="30" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="cpuid" bitsize="32" regnum="102" group="cr"/>
<reg name="ccr" bitsize="32" regnum="107" group="cr"/>
<reg name="capr" bitsize="32" regnum="108" group="cr"/>
<reg name="pacr" bitsize="32" regnum="109" group="cr"/>
<reg name="prsr" bitsize="32" regnum="110" group="cr"/>
<reg name="chr" bitsize="32" regnum="120" group="cr"/>
<reg name="int_sp" bitsize="32" regnum="204"/>
</feature>
<feature name="org.gnu.csky.abiv2.fvcr">
<reg name="fcr" bitsize="32" regnum="121" group="fvcr"/>
<reg name="fid" bitsize="32" regnum="122" group="fvcr"/>
<reg name="fesr" bitsize="32" regnum="123" group="fvcr"/>
</feature>
<feature name="org.gnu.csky.abiv2.tee">
<reg name="nt_usp" bitsize="32" regnum="127" group="ree"/>
<reg name="ebr" bitsize="32" regnum="190" group="cr"/>
<reg name="dcr" bitsize="32" regnum="229" group="cr"/>
<reg name="t_usp" bitsize="32" regnum="228" group="tee"/>
<reg name="t_pcr" bitsize="32" regnum="230" group="tee"/>
</feature>
<feature name="org.gnu.csky.pseudo">
<reg name="t_psr" bitsize="32" regs="89" group="tee" type="int32" env="tee"/>
<reg name="t_vbr" bitsize="32" regs="90" group="tee" type="int32" env="tee"/>
<reg name="t_epsr" bitsize="32" regs="91" group="tee" type="int32" env="tee"/>
<reg name="t_epc" bitsize="32" regs="93" group="tee" type="int32" env="tee"/>
<reg name="t_ebr" bitsize="32" regs="190" group="tee" type="int32" env="tee"/>
<reg name="nt_psr" bitsize="32" regs="89" group="ree" type="int32" env="ree"/>
<reg name="nt_vbr" bitsize="32" regs="90" group="ree" type="int32" env="ree"/>
<reg name="nt_epsr" bitsize="32" regs="91" group="ree" type="int32" env="ree"/>
<reg name="nt_epc" bitsize="32" regs="93" group="ree" type="int32" env="ree"/>
<reg name="nt_ebr" bitsize="32" regs="190" group="ree" type="int32" env="ree"/>
</feature>
</target>

View File

@ -0,0 +1,118 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.fpu">
<vector id="v4f" type="ieee_single" count="4"/>
<vector id="v2d" type="ieee_double" count="2"/>
<vector id="v16i8" type="int8" count="16"/>
<vector id="v8i16" type="int16" count="8"/>
<vector id="v4i32" type="int32" count="4"/>
<vector id="v2i64" type="int64" count="2"/>
<union id="vec128">
<field name="v4_float" type="v4f"/>
<field name="v2_double" type="v2d"/>
<field name="v16_int8" type="v16i8"/>
<field name="v8_int16" type="v8i16"/>
<field name="v4_int32" type="v4i32"/>
<field name="v2_int64" type="v2i64"/>
<field name="uint128" type="uint128"/>
</union>
<union id="float32_union">
<field name="float" type="ieee_single"/>
<field name="uint32" type="uint32"/>
</union>
<!--float register-->
<reg name="fr0" bitsize="32" regnum="40" group="fpu" type="float32_union"/>
<reg name="fr1" bitsize="32" regnum="41" group="fpu" type="float32_union"/>
<reg name="fr2" bitsize="32" regnum="42" group="fpu" type="float32_union"/>
<reg name="fr3" bitsize="32" regnum="43" group="fpu" type="float32_union"/>
<reg name="fr4" bitsize="32" regnum="44" group="fpu" type="float32_union"/>
<reg name="fr5" bitsize="32" regnum="45" group="fpu" type="float32_union"/>
<reg name="fr6" bitsize="32" regnum="46" group="fpu" type="float32_union"/>
<reg name="fr7" bitsize="32" regnum="47" group="fpu" type="float32_union"/>
<reg name="fr8" bitsize="32" regnum="48" group="fpu" type="float32_union"/>
<reg name="fr9" bitsize="32" regnum="49" group="fpu" type="float32_union"/>
<reg name="fr10" bitsize="32" regnum="50" group="fpu" type="float32_union"/>
<reg name="fr11" bitsize="32" regnum="51" group="fpu" type="float32_union"/>
<reg name="fr12" bitsize="32" regnum="52" group="fpu" type="float32_union"/>
<reg name="fr13" bitsize="32" regnum="53" group="fpu" type="float32_union"/>
<reg name="fr14" bitsize="32" regnum="54" group="fpu" type="float32_union"/>
<reg name="fr15" bitsize="32" regnum="55" group="fpu" type="float32_union"/>
<!--vector register-->
<reg name="vr0" bitsize="128" regnum="56" type="vec128" group="vpu"/>
<reg name="vr1" bitsize="128" regnum="57" type="vec128" group="vpu"/>
<reg name="vr2" bitsize="128" regnum="58" type="vec128" group="vpu"/>
<reg name="vr3" bitsize="128" regnum="59" type="vec128" group="vpu"/>
<reg name="vr4" bitsize="128" regnum="60" type="vec128" group="vpu"/>
<reg name="vr5" bitsize="128" regnum="61" type="vec128" group="vpu"/>
<reg name="vr6" bitsize="128" regnum="62" type="vec128" group="vpu"/>
<reg name="vr7" bitsize="128" regnum="63" type="vec128" group="vpu"/>
<reg name="vr8" bitsize="128" regnum="64" type="vec128" group="vpu"/>
<reg name="vr9" bitsize="128" regnum="65" type="vec128" group="vpu"/>
<reg name="vr10" bitsize="128" regnum="66" type="vec128" group="vpu"/>
<reg name="vr11" bitsize="128" regnum="67" type="vec128" group="vpu"/>
<reg name="vr12" bitsize="128" regnum="68" type="vec128" group="vpu"/>
<reg name="vr13" bitsize="128" regnum="69" type="vec128" group="vpu"/>
<reg name="vr14" bitsize="128" regnum="70" type="vec128" group="vpu"/>
<reg name="vr15" bitsize="128" regnum="71" type="vec128" group="vpu"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="AF[1]" start="1" end="1" type="int8"/>
<field name="FE[4]" start="4" end="4" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TE[12]" start="12" end="12" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="cpuid" bitsize="32" regnum="102" group="cr"/>
<reg name="ccr" bitsize="32" regnum="107" group="cr"/>
<reg name="capr" bitsize="32" regnum="108" group="cr"/>
<reg name="pacr" bitsize="32" regnum="109" group="cr"/>
<reg name="prsr" bitsize="32" regnum="110" group="cr"/>
<reg name="chr" bitsize="32" regnum="120" group="cr"/>
<reg name="usp" bitsize="32" regnum="127"/>
<reg name="int_sp" bitsize="32" regnum="204"/>
</feature>
<feature name="org.gnu.csky.abiv2.fvcr">
<reg name="fcr" bitsize="32" regnum="121" group="fvcr"/>
<reg name="fid" bitsize="32" regnum="122" group="fvcr"/>
<reg name="fesr" bitsize="32" regnum="123" group="fvcr"/>
</feature>
<feature name="org.gnu.csky.abiv2.bank3">
<reg name="sepsr" bitsize="32" regnum="221" group="bank3"/>
<reg name="sevbr" bitsize="32" regnum="222" group="bank3"/>
<reg name="seepsr" bitsize="32" regnum="223" group="bank3"/>
<reg name="seepc" bitsize="32" regnum="225" group="bank3"/>
<reg name="nsssp" bitsize="32" regnum="227" group="bank3"/>
</feature>
</target>

View File

@ -0,0 +1,72 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="AF[1]" start="1" end="1" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="SV[25]" start="25" end="25" type="int8"/>
<field name="SD[26]" start="26" end="26" type="int8"/>
<field name="SC[27]" start="27" end="27" type="int8"/>
<field name="HS[28]" start="28" end="28" type="int8"/>
<field name="SP[29]" start="29" end="29" type="int8"/>
<field name="T[30]" start="30" end="30" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="cpuid" bitsize="32" regnum="102" group="cr"/>
<reg name="ccr" bitsize="32" regnum="107" group="cr"/>
<reg name="capr" bitsize="32" regnum="108" group="cr"/>
<reg name="pacr" bitsize="32" regnum="109" group="cr"/>
<reg name="prsr" bitsize="32" regnum="110" group="cr"/>
<reg name="int_sp" bitsize="32" regnum="204"/>
</feature>
<feature name="org.gnu.csky.abiv2.tee">
<reg name="nt_usp" bitsize="32" regnum="127" group="ree"/>
<reg name="ebr" bitsize="32" regnum="190" group="cr"/>
<reg name="dcr" bitsize="32" regnum="229" group="cr"/>
<reg name="t_usp" bitsize="32" regnum="228" group="tee"/>
<reg name="t_pcr" bitsize="32" regnum="230" group="tee"/>
</feature>
<feature name="org.gnu.csky.pseudo">
<reg name="t_psr" bitsize="32" regs="89" group="tee" type="int32" env="tee"/>
<reg name="t_vbr" bitsize="32" regs="90" group="tee" type="int32" env="tee"/>
<reg name="t_epsr" bitsize="32" regs="91" group="tee" type="int32" env="tee"/>
<reg name="t_epc" bitsize="32" regs="93" group="tee" type="int32" env="tee"/>
<reg name="t_ebr" bitsize="32" regs="190" group="tee" type="int32" env="tee"/>
<reg name="nt_psr" bitsize="32" regs="89" group="ree" type="int32" env="ree"/>
<reg name="nt_vbr" bitsize="32" regs="90" group="ree" type="int32" env="ree"/>
<reg name="nt_epsr" bitsize="32" regs="91" group="ree" type="int32" env="ree"/>
<reg name="nt_epc" bitsize="32" regs="93" group="ree" type="int32" env="ree"/>
<reg name="nt_ebr" bitsize="32" regs="190" group="ree" type="int32" env="ree"/>
</feature>
</target>

View File

@ -0,0 +1,90 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.fpu">
<vector id="v4f" type="ieee_single" count="4"/>
<vector id="v2d" type="ieee_double" count="2"/>
<vector id="v16i8" type="int8" count="16"/>
<vector id="v8i16" type="int16" count="8"/>
<vector id="v4i32" type="int32" count="4"/>
<vector id="v2i64" type="int64" count="2"/>
<union id="vec128">
<field name="v4_float" type="v4f"/>
<field name="v2_double" type="v2d"/>
<field name="v16_int8" type="v16i8"/>
<field name="v8_int16" type="v8i16"/>
<field name="v4_int32" type="v4i32"/>
<field name="v2_int64" type="v2i64"/>
<field name="uint128" type="uint128"/>
</union>
<reg name="vr0" bitsize="128" regnum="56" type="vec128" group="vpu"/>
<reg name="vr1" bitsize="128" regnum="57" type="vec128" group="vpu"/>
<reg name="vr2" bitsize="128" regnum="58" type="vec128" group="vpu"/>
<reg name="vr3" bitsize="128" regnum="59" type="vec128" group="vpu"/>
<reg name="vr4" bitsize="128" regnum="60" type="vec128" group="vpu"/>
<reg name="vr5" bitsize="128" regnum="61" type="vec128" group="vpu"/>
<reg name="vr6" bitsize="128" regnum="62" type="vec128" group="vpu"/>
<reg name="vr7" bitsize="128" regnum="63" type="vec128" group="vpu"/>
<reg name="vr8" bitsize="128" regnum="64" type="vec128" group="vpu"/>
<reg name="vr9" bitsize="128" regnum="65" type="vec128" group="vpu"/>
<reg name="vr10" bitsize="128" regnum="66" type="vec128" group="vpu"/>
<reg name="vr11" bitsize="128" regnum="67" type="vec128" group="vpu"/>
<reg name="vr12" bitsize="128" regnum="68" type="vec128" group="vpu"/>
<reg name="vr13" bitsize="128" regnum="69" type="vec128" group="vpu"/>
<reg name="vr14" bitsize="128" regnum="70" type="vec128" group="vpu"/>
<reg name="vr15" bitsize="128" regnum="71" type="vec128" group="vpu"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="AF[1]" start="1" end="1" type="int8"/>
<field name="FE[4]" start="4" end="4" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TE[12]" start="12" end="12" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="cpuid" bitsize="32" regnum="102" group="cr"/>
<reg name="ccr" bitsize="32" regnum="107" group="cr"/>
<reg name="capr" bitsize="32" regnum="108" group="cr"/>
<reg name="pacr" bitsize="32" regnum="109" group="cr"/>
<reg name="prsr" bitsize="32" regnum="110" group="cr"/>
<reg name="usp" bitsize="32" regnum="127"/>
<reg name="int_sp" bitsize="32" regnum="204"/>
</feature>
<feature name="org.gnu.csky.abiv2.bank3">
<reg name="sepsr" bitsize="32" regnum="221" group="bank3"/>
<reg name="sevbr" bitsize="32" regnum="222" group="bank3"/>
<reg name="seepsr" bitsize="32" regnum="223" group="bank3"/>
<reg name="seepc" bitsize="32" regnum="225" group="bank3"/>
<reg name="nsssp" bitsize="32" regnum="227" group="bank3"/>
</feature>
</target>

View File

@ -0,0 +1,63 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r16" bitsize="32" regnum="16" group="gpr"/>
<reg name="r17" bitsize="32" regnum="17" group="gpr"/>
<reg name="r18" bitsize="32" regnum="18" group="gpr"/>
<reg name="r19" bitsize="32" regnum="19" group="gpr"/>
<reg name="r20" bitsize="32" regnum="20" group="gpr"/>
<reg name="r21" bitsize="32" regnum="21" group="gpr"/>
<reg name="r22" bitsize="32" regnum="22" group="gpr"/>
<reg name="r23" bitsize="32" regnum="23" group="gpr"/>
<reg name="r24" bitsize="32" regnum="24" group="gpr"/>
<reg name="r25" bitsize="32" regnum="25" group="gpr"/>
<reg name="r26" bitsize="32" regnum="26" group="gpr"/>
<reg name="r27" bitsize="32" regnum="27" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="r29" bitsize="32" regnum="29" group="gpr"/>
<reg name="r30" bitsize="32" regnum="30" group="gpr"/>
<reg name="r31" bitsize="32" regnum="31" group="gpr"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="cpuid" bitsize="32" regnum="102" group="cr"/>
<reg name="ccr" bitsize="32" regnum="107" group="cr"/>
<reg name="capr" bitsize="32" regnum="108" group="cr"/>
<reg name="pacr" bitsize="32" regnum="109" group="cr"/>
<reg name="prsr" bitsize="32" regnum="110" group="cr"/>
<reg name="chr" bitsize="32" regnum="120" group="cr"/>
<reg name="usp" bitsize="32" regnum="127"/>
<reg name="int_sp" bitsize="32" regnum="204"/>
</feature>
</target>

View File

@ -0,0 +1,65 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r16" bitsize="32" regnum="16" group="gpr"/>
<reg name="r17" bitsize="32" regnum="17" group="gpr"/>
<reg name="r18" bitsize="32" regnum="18" group="gpr"/>
<reg name="r19" bitsize="32" regnum="19" group="gpr"/>
<reg name="r20" bitsize="32" regnum="20" group="gpr"/>
<reg name="r21" bitsize="32" regnum="21" group="gpr"/>
<reg name="r22" bitsize="32" regnum="22" group="gpr"/>
<reg name="r23" bitsize="32" regnum="23" group="gpr"/>
<reg name="r24" bitsize="32" regnum="24" group="gpr"/>
<reg name="r25" bitsize="32" regnum="25" group="gpr"/>
<reg name="r26" bitsize="32" regnum="26" group="gpr"/>
<reg name="r27" bitsize="32" regnum="27" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="r29" bitsize="32" regnum="29" group="gpr"/>
<reg name="r30" bitsize="32" regnum="30" group="gpr"/>
<reg name="r31" bitsize="32" regnum="31" group="gpr"/>
<reg name="hi" bitsize="32" regnum="36"/>
<reg name="lo" bitsize="32" regnum="37"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="cpuid" bitsize="32" regnum="102" group="cr"/>
<reg name="ccr" bitsize="32" regnum="107" group="cr"/>
<reg name="capr" bitsize="32" regnum="108" group="cr"/>
<reg name="pacr" bitsize="32" regnum="109" group="cr"/>
<reg name="prsr" bitsize="32" regnum="110" group="cr"/>
<reg name="chr" bitsize="32" regnum="120" group="cr"/>
<reg name="usp" bitsize="32" regnum="127"/>
<reg name="int_sp" bitsize="32" regnum="204"/>
</feature>
</target>

View File

@ -0,0 +1,93 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r16" bitsize="32" regnum="16" group="gpr"/>
<reg name="r17" bitsize="32" regnum="17" group="gpr"/>
<reg name="r18" bitsize="32" regnum="18" group="gpr"/>
<reg name="r19" bitsize="32" regnum="19" group="gpr"/>
<reg name="r20" bitsize="32" regnum="20" group="gpr"/>
<reg name="r21" bitsize="32" regnum="21" group="gpr"/>
<reg name="r22" bitsize="32" regnum="22" group="gpr"/>
<reg name="r23" bitsize="32" regnum="23" group="gpr"/>
<reg name="r24" bitsize="32" regnum="24" group="gpr"/>
<reg name="r25" bitsize="32" regnum="25" group="gpr"/>
<reg name="r26" bitsize="32" regnum="26" group="gpr"/>
<reg name="r27" bitsize="32" regnum="27" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="r29" bitsize="32" regnum="29" group="gpr"/>
<reg name="r30" bitsize="32" regnum="30" group="gpr"/>
<reg name="r31" bitsize="32" regnum="31" group="gpr"/>
<reg name="hi" bitsize="32" regnum="36"/>
<reg name="lo" bitsize="32" regnum="37"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.fpu">
<union id="float32_union">
<field name="float" type="ieee_single"/>
<field name="uint32" type="uint32"/>
</union>
<!--float register-->
<reg name="fr0" bitsize="32" regnum="40" group="fpu" type="float32_union"/>
<reg name="fr1" bitsize="32" regnum="41" group="fpu" type="float32_union"/>
<reg name="fr2" bitsize="32" regnum="42" group="fpu" type="float32_union"/>
<reg name="fr3" bitsize="32" regnum="43" group="fpu" type="float32_union"/>
<reg name="fr4" bitsize="32" regnum="44" group="fpu" type="float32_union"/>
<reg name="fr5" bitsize="32" regnum="45" group="fpu" type="float32_union"/>
<reg name="fr6" bitsize="32" regnum="46" group="fpu" type="float32_union"/>
<reg name="fr7" bitsize="32" regnum="47" group="fpu" type="float32_union"/>
<reg name="fr8" bitsize="32" regnum="48" group="fpu" type="float32_union"/>
<reg name="fr9" bitsize="32" regnum="49" group="fpu" type="float32_union"/>
<reg name="fr10" bitsize="32" regnum="50" group="fpu" type="float32_union"/>
<reg name="fr11" bitsize="32" regnum="51" group="fpu" type="float32_union"/>
<reg name="fr12" bitsize="32" regnum="52" group="fpu" type="float32_union"/>
<reg name="fr13" bitsize="32" regnum="53" group="fpu" type="float32_union"/>
<reg name="fr14" bitsize="32" regnum="54" group="fpu" type="float32_union"/>
<reg name="fr15" bitsize="32" regnum="55" group="fpu" type="float32_union"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="cpuid" bitsize="32" regnum="102" group="cr"/>
<reg name="ccr" bitsize="32" regnum="107" group="cr"/>
<reg name="capr" bitsize="32" regnum="108" group="cr"/>
<reg name="pacr" bitsize="32" regnum="109" group="cr"/>
<reg name="prsr" bitsize="32" regnum="110" group="cr"/>
<reg name="chr" bitsize="32" regnum="120" group="cr"/>
<reg name="usp" bitsize="32" regnum="127"/>
<reg name="int_sp" bitsize="32" regnum="204"/>
</feature>
<feature name="org.gnu.csky.abiv2.fvcr">
<reg name="fcr" bitsize="32" regnum="121" group="fvcr"/>
<reg name="fid" bitsize="32" regnum="122" group="fvcr"/>
<reg name="fesr" bitsize="32" regnum="123" group="fvcr"/>
</feature>
</target>

View File

@ -0,0 +1,118 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r16" bitsize="32" regnum="16" group="gpr"/>
<reg name="r17" bitsize="32" regnum="17" group="gpr"/>
<reg name="r18" bitsize="32" regnum="18" group="gpr"/>
<reg name="r19" bitsize="32" regnum="19" group="gpr"/>
<reg name="r20" bitsize="32" regnum="20" group="gpr"/>
<reg name="r21" bitsize="32" regnum="21" group="gpr"/>
<reg name="r22" bitsize="32" regnum="22" group="gpr"/>
<reg name="r23" bitsize="32" regnum="23" group="gpr"/>
<reg name="r24" bitsize="32" regnum="24" group="gpr"/>
<reg name="r25" bitsize="32" regnum="25" group="gpr"/>
<reg name="r26" bitsize="32" regnum="26" group="gpr"/>
<reg name="r27" bitsize="32" regnum="27" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="r29" bitsize="32" regnum="29" group="gpr"/>
<reg name="r30" bitsize="32" regnum="30" group="gpr"/>
<reg name="r31" bitsize="32" regnum="31" group="gpr"/>
<reg name="hi" bitsize="32" regnum="36"/>
<reg name="lo" bitsize="32" regnum="37"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.fpu">
<union id="float32_union">
<field name="float" type="ieee_single"/>
<field name="uint32" type="uint32"/>
</union>
<!--float register-->
<reg name="fr0" bitsize="32" regnum="40" group="fpu" type="float32_union"/>
<reg name="fr1" bitsize="32" regnum="41" group="fpu" type="float32_union"/>
<reg name="fr2" bitsize="32" regnum="42" group="fpu" type="float32_union"/>
<reg name="fr3" bitsize="32" regnum="43" group="fpu" type="float32_union"/>
<reg name="fr4" bitsize="32" regnum="44" group="fpu" type="float32_union"/>
<reg name="fr5" bitsize="32" regnum="45" group="fpu" type="float32_union"/>
<reg name="fr6" bitsize="32" regnum="46" group="fpu" type="float32_union"/>
<reg name="fr7" bitsize="32" regnum="47" group="fpu" type="float32_union"/>
<reg name="fr8" bitsize="32" regnum="48" group="fpu" type="float32_union"/>
<reg name="fr9" bitsize="32" regnum="49" group="fpu" type="float32_union"/>
<reg name="fr10" bitsize="32" regnum="50" group="fpu" type="float32_union"/>
<reg name="fr11" bitsize="32" regnum="51" group="fpu" type="float32_union"/>
<reg name="fr12" bitsize="32" regnum="52" group="fpu" type="float32_union"/>
<reg name="fr13" bitsize="32" regnum="53" group="fpu" type="float32_union"/>
<reg name="fr14" bitsize="32" regnum="54" group="fpu" type="float32_union"/>
<reg name="fr15" bitsize="32" regnum="55" group="fpu" type="float32_union"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="AF[1]" start="1" end="1" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="SV[25]" start="25" end="25" type="int8"/>
<field name="SD[26]" start="26" end="26" type="int8"/>
<field name="SC[27]" start="27" end="27" type="int8"/>
<field name="HS[28]" start="28" end="28" type="int8"/>
<field name="SP[29]" start="29" end="29" type="int8"/>
<field name="T[30]" start="30" end="30" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="cpuid" bitsize="32" regnum="102" group="cr"/>
<reg name="ccr" bitsize="32" regnum="107" group="cr"/>
<reg name="capr" bitsize="32" regnum="108" group="cr"/>
<reg name="pacr" bitsize="32" regnum="109" group="cr"/>
<reg name="prsr" bitsize="32" regnum="110" group="cr"/>
<reg name="chr" bitsize="32" regnum="120" group="cr"/>
<reg name="int_sp" bitsize="32" regnum="204"/>
</feature>
<feature name="org.gnu.csky.abiv2.fvcr">
<reg name="fcr" bitsize="32" regnum="121" group="fvcr"/>
<reg name="fid" bitsize="32" regnum="122" group="fvcr"/>
<reg name="fesr" bitsize="32" regnum="123" group="fvcr"/>
</feature>
<feature name="org.gnu.csky.abiv2.tee">
<reg name="nt_usp" bitsize="32" regnum="127" group="ree"/>
<reg name="ebr" bitsize="32" regnum="190" group="cr"/>
<reg name="dcr" bitsize="32" regnum="229" group="cr"/>
<reg name="t_usp" bitsize="32" regnum="228" group="tee"/>
<reg name="t_pcr" bitsize="32" regnum="230" group="tee"/>
</feature>
<feature name="org.gnu.csky.pseudo">
<reg name="t_psr" bitsize="32" regs="89" group="tee" type="int32" env="tee"/>
<reg name="t_vbr" bitsize="32" regs="90" group="tee" type="int32" env="tee"/>
<reg name="t_epsr" bitsize="32" regs="91" group="tee" type="int32" env="tee"/>
<reg name="t_epc" bitsize="32" regs="93" group="tee" type="int32" env="tee"/>
<reg name="t_ebr" bitsize="32" regs="190" group="tee" type="int32" env="tee"/>
<reg name="nt_psr" bitsize="32" regs="89" group="ree" type="int32" env="ree"/>
<reg name="nt_vbr" bitsize="32" regs="90" group="ree" type="int32" env="ree"/>
<reg name="nt_epsr" bitsize="32" regs="91" group="ree" type="int32" env="ree"/>
<reg name="nt_epc" bitsize="32" regs="93" group="ree" type="int32" env="ree"/>
<reg name="nt_ebr" bitsize="32" regs="190" group="ree" type="int32" env="ree"/>
</feature>
</target>

View File

@ -0,0 +1,90 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r16" bitsize="32" regnum="16" group="gpr"/>
<reg name="r17" bitsize="32" regnum="17" group="gpr"/>
<reg name="r18" bitsize="32" regnum="18" group="gpr"/>
<reg name="r19" bitsize="32" regnum="19" group="gpr"/>
<reg name="r20" bitsize="32" regnum="20" group="gpr"/>
<reg name="r21" bitsize="32" regnum="21" group="gpr"/>
<reg name="r22" bitsize="32" regnum="22" group="gpr"/>
<reg name="r23" bitsize="32" regnum="23" group="gpr"/>
<reg name="r24" bitsize="32" regnum="24" group="gpr"/>
<reg name="r25" bitsize="32" regnum="25" group="gpr"/>
<reg name="r26" bitsize="32" regnum="26" group="gpr"/>
<reg name="r27" bitsize="32" regnum="27" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="r29" bitsize="32" regnum="29" group="gpr"/>
<reg name="r30" bitsize="32" regnum="30" group="gpr"/>
<reg name="r31" bitsize="32" regnum="31" group="gpr"/>
<reg name="hi" bitsize="32" regnum="36"/>
<reg name="lo" bitsize="32" regnum="37"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="AF[1]" start="1" end="1" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="SV[25]" start="25" end="25" type="int8"/>
<field name="SD[26]" start="26" end="26" type="int8"/>
<field name="SC[27]" start="27" end="27" type="int8"/>
<field name="HS[28]" start="28" end="28" type="int8"/>
<field name="SP[29]" start="29" end="29" type="int8"/>
<field name="T[30]" start="30" end="30" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="cpuid" bitsize="32" regnum="102" group="cr"/>
<reg name="ccr" bitsize="32" regnum="107" group="cr"/>
<reg name="capr" bitsize="32" regnum="108" group="cr"/>
<reg name="pacr" bitsize="32" regnum="109" group="cr"/>
<reg name="prsr" bitsize="32" regnum="110" group="cr"/>
<reg name="chr" bitsize="32" regnum="120" group="cr"/>
<reg name="int_sp" bitsize="32" regnum="204"/>
</feature>
<feature name="org.gnu.csky.abiv2.tee">
<reg name="nt_usp" bitsize="32" regnum="127" group="ree"/>
<reg name="ebr" bitsize="32" regnum="190" group="cr"/>
<reg name="dcr" bitsize="32" regnum="229" group="cr"/>
<reg name="t_usp" bitsize="32" regnum="228" group="tee"/>
<reg name="t_pcr" bitsize="32" regnum="230" group="tee"/>
</feature>
<feature name="org.gnu.csky.pseudo">
<reg name="t_psr" bitsize="32" regs="89" group="tee" type="int32" env="tee"/>
<reg name="t_vbr" bitsize="32" regs="90" group="tee" type="int32" env="tee"/>
<reg name="t_epsr" bitsize="32" regs="91" group="tee" type="int32" env="tee"/>
<reg name="t_epc" bitsize="32" regs="93" group="tee" type="int32" env="tee"/>
<reg name="t_ebr" bitsize="32" regs="190" group="tee" type="int32" env="tee"/>
<reg name="nt_psr" bitsize="32" regs="89" group="ree" type="int32" env="ree"/>
<reg name="nt_vbr" bitsize="32" regs="90" group="ree" type="int32" env="ree"/>
<reg name="nt_epsr" bitsize="32" regs="91" group="ree" type="int32" env="ree"/>
<reg name="nt_epc" bitsize="32" regs="93" group="ree" type="int32" env="ree"/>
<reg name="nt_ebr" bitsize="32" regs="190" group="ree" type="int32" env="ree"/>
</feature>
</target>

View File

@ -0,0 +1,91 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r16" bitsize="32" regnum="16" group="gpr"/>
<reg name="r17" bitsize="32" regnum="17" group="gpr"/>
<reg name="r18" bitsize="32" regnum="18" group="gpr"/>
<reg name="r19" bitsize="32" regnum="19" group="gpr"/>
<reg name="r20" bitsize="32" regnum="20" group="gpr"/>
<reg name="r21" bitsize="32" regnum="21" group="gpr"/>
<reg name="r22" bitsize="32" regnum="22" group="gpr"/>
<reg name="r23" bitsize="32" regnum="23" group="gpr"/>
<reg name="r24" bitsize="32" regnum="24" group="gpr"/>
<reg name="r25" bitsize="32" regnum="25" group="gpr"/>
<reg name="r26" bitsize="32" regnum="26" group="gpr"/>
<reg name="r27" bitsize="32" regnum="27" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="r29" bitsize="32" regnum="29" group="gpr"/>
<reg name="r30" bitsize="32" regnum="30" group="gpr"/>
<reg name="r31" bitsize="32" regnum="31" group="gpr"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.fpu">
<union id="float32_union">
<field name="float" type="ieee_single"/>
<field name="uint32" type="uint32"/>
</union>
<!--float register-->
<reg name="fr0" bitsize="32" regnum="40" group="fpu" type="float32_union"/>
<reg name="fr1" bitsize="32" regnum="41" group="fpu" type="float32_union"/>
<reg name="fr2" bitsize="32" regnum="42" group="fpu" type="float32_union"/>
<reg name="fr3" bitsize="32" regnum="43" group="fpu" type="float32_union"/>
<reg name="fr4" bitsize="32" regnum="44" group="fpu" type="float32_union"/>
<reg name="fr5" bitsize="32" regnum="45" group="fpu" type="float32_union"/>
<reg name="fr6" bitsize="32" regnum="46" group="fpu" type="float32_union"/>
<reg name="fr7" bitsize="32" regnum="47" group="fpu" type="float32_union"/>
<reg name="fr8" bitsize="32" regnum="48" group="fpu" type="float32_union"/>
<reg name="fr9" bitsize="32" regnum="49" group="fpu" type="float32_union"/>
<reg name="fr10" bitsize="32" regnum="50" group="fpu" type="float32_union"/>
<reg name="fr11" bitsize="32" regnum="51" group="fpu" type="float32_union"/>
<reg name="fr12" bitsize="32" regnum="52" group="fpu" type="float32_union"/>
<reg name="fr13" bitsize="32" regnum="53" group="fpu" type="float32_union"/>
<reg name="fr14" bitsize="32" regnum="54" group="fpu" type="float32_union"/>
<reg name="fr15" bitsize="32" regnum="55" group="fpu" type="float32_union"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="cpuid" bitsize="32" regnum="102" group="cr"/>
<reg name="ccr" bitsize="32" regnum="107" group="cr"/>
<reg name="capr" bitsize="32" regnum="108" group="cr"/>
<reg name="pacr" bitsize="32" regnum="109" group="cr"/>
<reg name="prsr" bitsize="32" regnum="110" group="cr"/>
<reg name="chr" bitsize="32" regnum="120" group="cr"/>
<reg name="usp" bitsize="32" regnum="127"/>
<reg name="int_sp" bitsize="32" regnum="204"/>
</feature>
<feature name="org.gnu.csky.abiv2.fvcr">
<reg name="fcr" bitsize="32" regnum="121" group="fvcr"/>
<reg name="fid" bitsize="32" regnum="122" group="fvcr"/>
<reg name="fesr" bitsize="32" regnum="123" group="fvcr"/>
</feature>
</target>

View File

@ -0,0 +1,116 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r16" bitsize="32" regnum="16" group="gpr"/>
<reg name="r17" bitsize="32" regnum="17" group="gpr"/>
<reg name="r18" bitsize="32" regnum="18" group="gpr"/>
<reg name="r19" bitsize="32" regnum="19" group="gpr"/>
<reg name="r20" bitsize="32" regnum="20" group="gpr"/>
<reg name="r21" bitsize="32" regnum="21" group="gpr"/>
<reg name="r22" bitsize="32" regnum="22" group="gpr"/>
<reg name="r23" bitsize="32" regnum="23" group="gpr"/>
<reg name="r24" bitsize="32" regnum="24" group="gpr"/>
<reg name="r25" bitsize="32" regnum="25" group="gpr"/>
<reg name="r26" bitsize="32" regnum="26" group="gpr"/>
<reg name="r27" bitsize="32" regnum="27" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="r29" bitsize="32" regnum="29" group="gpr"/>
<reg name="r30" bitsize="32" regnum="30" group="gpr"/>
<reg name="r31" bitsize="32" regnum="31" group="gpr"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.fpu">
<union id="float32_union">
<field name="float" type="ieee_single"/>
<field name="uint32" type="uint32"/>
</union>
<!--float register-->
<reg name="fr0" bitsize="32" regnum="40" group="fpu" type="float32_union"/>
<reg name="fr1" bitsize="32" regnum="41" group="fpu" type="float32_union"/>
<reg name="fr2" bitsize="32" regnum="42" group="fpu" type="float32_union"/>
<reg name="fr3" bitsize="32" regnum="43" group="fpu" type="float32_union"/>
<reg name="fr4" bitsize="32" regnum="44" group="fpu" type="float32_union"/>
<reg name="fr5" bitsize="32" regnum="45" group="fpu" type="float32_union"/>
<reg name="fr6" bitsize="32" regnum="46" group="fpu" type="float32_union"/>
<reg name="fr7" bitsize="32" regnum="47" group="fpu" type="float32_union"/>
<reg name="fr8" bitsize="32" regnum="48" group="fpu" type="float32_union"/>
<reg name="fr9" bitsize="32" regnum="49" group="fpu" type="float32_union"/>
<reg name="fr10" bitsize="32" regnum="50" group="fpu" type="float32_union"/>
<reg name="fr11" bitsize="32" regnum="51" group="fpu" type="float32_union"/>
<reg name="fr12" bitsize="32" regnum="52" group="fpu" type="float32_union"/>
<reg name="fr13" bitsize="32" regnum="53" group="fpu" type="float32_union"/>
<reg name="fr14" bitsize="32" regnum="54" group="fpu" type="float32_union"/>
<reg name="fr15" bitsize="32" regnum="55" group="fpu" type="float32_union"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="AF[1]" start="1" end="1" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="SV[25]" start="25" end="25" type="int8"/>
<field name="SD[26]" start="26" end="26" type="int8"/>
<field name="SC[27]" start="27" end="27" type="int8"/>
<field name="HS[28]" start="28" end="28" type="int8"/>
<field name="SP[29]" start="29" end="29" type="int8"/>
<field name="T[30]" start="30" end="30" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="cpuid" bitsize="32" regnum="102" group="cr"/>
<reg name="ccr" bitsize="32" regnum="107" group="cr"/>
<reg name="capr" bitsize="32" regnum="108" group="cr"/>
<reg name="pacr" bitsize="32" regnum="109" group="cr"/>
<reg name="prsr" bitsize="32" regnum="110" group="cr"/>
<reg name="chr" bitsize="32" regnum="120" group="cr"/>
<reg name="int_sp" bitsize="32" regnum="204"/>
</feature>
<feature name="org.gnu.csky.abiv2.fvcr">
<reg name="fcr" bitsize="32" regnum="121" group="fvcr"/>
<reg name="fid" bitsize="32" regnum="122" group="fvcr"/>
<reg name="fesr" bitsize="32" regnum="123" group="fvcr"/>
</feature>
<feature name="org.gnu.csky.abiv2.tee">
<reg name="nt_usp" bitsize="32" regnum="127" group="ree"/>
<reg name="ebr" bitsize="32" regnum="190" group="cr"/>
<reg name="dcr" bitsize="32" regnum="229" group="cr"/>
<reg name="t_usp" bitsize="32" regnum="228" group="tee"/>
<reg name="t_pcr" bitsize="32" regnum="230" group="tee"/>
</feature>
<feature name="org.gnu.csky.pseudo">
<reg name="t_psr" bitsize="32" regs="89" group="tee" type="int32" env="tee"/>
<reg name="t_vbr" bitsize="32" regs="90" group="tee" type="int32" env="tee"/>
<reg name="t_epsr" bitsize="32" regs="91" group="tee" type="int32" env="tee"/>
<reg name="t_epc" bitsize="32" regs="93" group="tee" type="int32" env="tee"/>
<reg name="t_ebr" bitsize="32" regs="190" group="tee" type="int32" env="tee"/>
<reg name="nt_psr" bitsize="32" regs="89" group="ree" type="int32" env="ree"/>
<reg name="nt_vbr" bitsize="32" regs="90" group="ree" type="int32" env="ree"/>
<reg name="nt_epsr" bitsize="32" regs="91" group="ree" type="int32" env="ree"/>
<reg name="nt_epc" bitsize="32" regs="93" group="ree" type="int32" env="ree"/>
<reg name="nt_ebr" bitsize="32" regs="190" group="ree" type="int32" env="ree"/>
</feature>
</target>

View File

@ -0,0 +1,130 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r16" bitsize="32" regnum="16" group="gpr"/>
<reg name="r17" bitsize="32" regnum="17" group="gpr"/>
<reg name="r18" bitsize="32" regnum="18" group="gpr"/>
<reg name="r19" bitsize="32" regnum="19" group="gpr"/>
<reg name="r20" bitsize="32" regnum="20" group="gpr"/>
<reg name="r21" bitsize="32" regnum="21" group="gpr"/>
<reg name="r22" bitsize="32" regnum="22" group="gpr"/>
<reg name="r23" bitsize="32" regnum="23" group="gpr"/>
<reg name="r24" bitsize="32" regnum="24" group="gpr"/>
<reg name="r25" bitsize="32" regnum="25" group="gpr"/>
<reg name="r26" bitsize="32" regnum="26" group="gpr"/>
<reg name="r27" bitsize="32" regnum="27" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="r29" bitsize="32" regnum="29" group="gpr"/>
<reg name="r30" bitsize="32" regnum="30" group="gpr"/>
<reg name="r31" bitsize="32" regnum="31" group="gpr"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.fpu">
<vector id="v4f" type="ieee_single" count="4"/>
<vector id="v2d" type="ieee_double" count="2"/>
<vector id="v16i8" type="int8" count="16"/>
<vector id="v8i16" type="int16" count="8"/>
<vector id="v4i32" type="int32" count="4"/>
<vector id="v2i64" type="int64" count="2"/>
<union id="vec128">
<field name="v4_float" type="v4f"/>
<field name="v2_double" type="v2d"/>
<field name="v16_int8" type="v16i8"/>
<field name="v8_int16" type="v8i16"/>
<field name="v4_int32" type="v4i32"/>
<field name="v2_int64" type="v2i64"/>
<field name="uint128" type="uint128"/>
</union>
<union id="float32_union">
<field name="float" type="ieee_single"/>
<field name="uint32" type="uint32"/>
</union>
<!--float register-->
<reg name="fr0" bitsize="32" regnum="40" group="fpu" type="float32_union"/>
<reg name="fr1" bitsize="32" regnum="41" group="fpu" type="float32_union"/>
<reg name="fr2" bitsize="32" regnum="42" group="fpu" type="float32_union"/>
<reg name="fr3" bitsize="32" regnum="43" group="fpu" type="float32_union"/>
<reg name="fr4" bitsize="32" regnum="44" group="fpu" type="float32_union"/>
<reg name="fr5" bitsize="32" regnum="45" group="fpu" type="float32_union"/>
<reg name="fr6" bitsize="32" regnum="46" group="fpu" type="float32_union"/>
<reg name="fr7" bitsize="32" regnum="47" group="fpu" type="float32_union"/>
<reg name="fr8" bitsize="32" regnum="48" group="fpu" type="float32_union"/>
<reg name="fr9" bitsize="32" regnum="49" group="fpu" type="float32_union"/>
<reg name="fr10" bitsize="32" regnum="50" group="fpu" type="float32_union"/>
<reg name="fr11" bitsize="32" regnum="51" group="fpu" type="float32_union"/>
<reg name="fr12" bitsize="32" regnum="52" group="fpu" type="float32_union"/>
<reg name="fr13" bitsize="32" regnum="53" group="fpu" type="float32_union"/>
<reg name="fr14" bitsize="32" regnum="54" group="fpu" type="float32_union"/>
<reg name="fr15" bitsize="32" regnum="55" group="fpu" type="float32_union"/>
<!--vector register-->
<reg name="vr0" bitsize="128" regnum="56" type="vec128" group="vpu"/>
<reg name="vr1" bitsize="128" regnum="57" type="vec128" group="vpu"/>
<reg name="vr2" bitsize="128" regnum="58" type="vec128" group="vpu"/>
<reg name="vr3" bitsize="128" regnum="59" type="vec128" group="vpu"/>
<reg name="vr4" bitsize="128" regnum="60" type="vec128" group="vpu"/>
<reg name="vr5" bitsize="128" regnum="61" type="vec128" group="vpu"/>
<reg name="vr6" bitsize="128" regnum="62" type="vec128" group="vpu"/>
<reg name="vr7" bitsize="128" regnum="63" type="vec128" group="vpu"/>
<reg name="vr8" bitsize="128" regnum="64" type="vec128" group="vpu"/>
<reg name="vr9" bitsize="128" regnum="65" type="vec128" group="vpu"/>
<reg name="vr10" bitsize="128" regnum="66" type="vec128" group="vpu"/>
<reg name="vr11" bitsize="128" regnum="67" type="vec128" group="vpu"/>
<reg name="vr12" bitsize="128" regnum="68" type="vec128" group="vpu"/>
<reg name="vr13" bitsize="128" regnum="69" type="vec128" group="vpu"/>
<reg name="vr14" bitsize="128" regnum="70" type="vec128" group="vpu"/>
<reg name="vr15" bitsize="128" regnum="71" type="vec128" group="vpu"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="cpuid" bitsize="32" regnum="102" group="cr"/>
<reg name="ccr" bitsize="32" regnum="107" group="cr"/>
<reg name="capr" bitsize="32" regnum="108" group="cr"/>
<reg name="pacr" bitsize="32" regnum="109" group="cr"/>
<reg name="prsr" bitsize="32" regnum="110" group="cr"/>
<reg name="chr" bitsize="32" regnum="120" group="cr"/>
<reg name="usp" bitsize="32" regnum="127"/>
<reg name="int_sp" bitsize="32" regnum="204"/>
</feature>
<feature name="org.gnu.csky.abiv2.fvcr">
<reg name="fcr" bitsize="32" regnum="121" group="fvcr"/>
<reg name="fid" bitsize="32" regnum="122" group="fvcr"/>
<reg name="fesr" bitsize="32" regnum="123" group="fvcr"/>
</feature>
<feature name="org.gnu.csky.abiv2.bank3">
<reg name="sepsr" bitsize="32" regnum="221" group="bank3"/>
<reg name="sevbr" bitsize="32" regnum="222" group="bank3"/>
<reg name="seepsr" bitsize="32" regnum="223" group="bank3"/>
<reg name="seepc" bitsize="32" regnum="225" group="bank3"/>
<reg name="nsssp" bitsize="32" regnum="227" group="bank3"/>
</feature>
</target>

View File

@ -0,0 +1,87 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r16" bitsize="32" regnum="16" group="gpr"/>
<reg name="r17" bitsize="32" regnum="17" group="gpr"/>
<reg name="r18" bitsize="32" regnum="18" group="gpr"/>
<reg name="r19" bitsize="32" regnum="19" group="gpr"/>
<reg name="r20" bitsize="32" regnum="20" group="gpr"/>
<reg name="r21" bitsize="32" regnum="21" group="gpr"/>
<reg name="r22" bitsize="32" regnum="22" group="gpr"/>
<reg name="r23" bitsize="32" regnum="23" group="gpr"/>
<reg name="r24" bitsize="32" regnum="24" group="gpr"/>
<reg name="r25" bitsize="32" regnum="25" group="gpr"/>
<reg name="r26" bitsize="32" regnum="26" group="gpr"/>
<reg name="r27" bitsize="32" regnum="27" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="r29" bitsize="32" regnum="29" group="gpr"/>
<reg name="r30" bitsize="32" regnum="30" group="gpr"/>
<reg name="r31" bitsize="32" regnum="31" group="gpr"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="AF[1]" start="1" end="1" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="SV[25]" start="25" end="25" type="int8"/>
<field name="SD[26]" start="26" end="26" type="int8"/>
<field name="SC[27]" start="27" end="27" type="int8"/>
<field name="HS[28]" start="28" end="28" type="int8"/>
<field name="SP[29]" start="29" end="29" type="int8"/>
<field name="T[30]" start="30" end="30" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="cpuid" bitsize="32" regnum="102" group="cr"/>
<reg name="ccr" bitsize="32" regnum="107" group="cr"/>
<reg name="capr" bitsize="32" regnum="108" group="cr"/>
<reg name="pacr" bitsize="32" regnum="109" group="cr"/>
<reg name="prsr" bitsize="32" regnum="110" group="cr"/>
<reg name="int_sp" bitsize="32" regnum="204"/>
</feature>
<feature name="org.gnu.csky.abiv2.tee">
<reg name="nt_usp" bitsize="32" regnum="127" group="ree"/>
<reg name="ebr" bitsize="32" regnum="190" group="cr"/>
<reg name="dcr" bitsize="32" regnum="229" group="cr"/>
<reg name="t_usp" bitsize="32" regnum="228" group="tee"/>
<reg name="t_pcr" bitsize="32" regnum="230" group="tee"/>
</feature>
<feature name="org.gnu.csky.pseudo">
<reg name="t_psr" bitsize="32" regs="89" group="tee" type="int32" env="tee"/>
<reg name="t_vbr" bitsize="32" regs="90" group="tee" type="int32" env="tee"/>
<reg name="t_epsr" bitsize="32" regs="91" group="tee" type="int32" env="tee"/>
<reg name="t_epc" bitsize="32" regs="93" group="tee" type="int32" env="tee"/>
<reg name="t_ebr" bitsize="32" regs="190" group="tee" type="int32" env="tee"/>
<reg name="nt_psr" bitsize="32" regs="89" group="ree" type="int32" env="ree"/>
<reg name="nt_vbr" bitsize="32" regs="90" group="ree" type="int32" env="ree"/>
<reg name="nt_epsr" bitsize="32" regs="91" group="ree" type="int32" env="ree"/>
<reg name="nt_epc" bitsize="32" regs="93" group="ree" type="int32" env="ree"/>
<reg name="nt_ebr" bitsize="32" regs="190" group="ree" type="int32" env="ree"/>
</feature>
</target>

View File

@ -0,0 +1,102 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r16" bitsize="32" regnum="16" group="gpr"/>
<reg name="r17" bitsize="32" regnum="17" group="gpr"/>
<reg name="r18" bitsize="32" regnum="18" group="gpr"/>
<reg name="r19" bitsize="32" regnum="19" group="gpr"/>
<reg name="r20" bitsize="32" regnum="20" group="gpr"/>
<reg name="r21" bitsize="32" regnum="21" group="gpr"/>
<reg name="r22" bitsize="32" regnum="22" group="gpr"/>
<reg name="r23" bitsize="32" regnum="23" group="gpr"/>
<reg name="r24" bitsize="32" regnum="24" group="gpr"/>
<reg name="r25" bitsize="32" regnum="25" group="gpr"/>
<reg name="r26" bitsize="32" regnum="26" group="gpr"/>
<reg name="r27" bitsize="32" regnum="27" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="r29" bitsize="32" regnum="29" group="gpr"/>
<reg name="r30" bitsize="32" regnum="30" group="gpr"/>
<reg name="r31" bitsize="32" regnum="31" group="gpr"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.fpu">
<vector id="v4f" type="ieee_single" count="4"/>
<vector id="v2d" type="ieee_double" count="2"/>
<vector id="v16i8" type="int8" count="16"/>
<vector id="v8i16" type="int16" count="8"/>
<vector id="v4i32" type="int32" count="4"/>
<vector id="v2i64" type="int64" count="2"/>
<union id="vec128">
<field name="v4_float" type="v4f"/>
<field name="v2_double" type="v2d"/>
<field name="v16_int8" type="v16i8"/>
<field name="v8_int16" type="v8i16"/>
<field name="v4_int32" type="v4i32"/>
<field name="v2_int64" type="v2i64"/>
<field name="uint128" type="uint128"/>
</union>
<reg name="vr0" bitsize="128" regnum="56" type="vec128" group="vpu"/>
<reg name="vr1" bitsize="128" regnum="57" type="vec128" group="vpu"/>
<reg name="vr2" bitsize="128" regnum="58" type="vec128" group="vpu"/>
<reg name="vr3" bitsize="128" regnum="59" type="vec128" group="vpu"/>
<reg name="vr4" bitsize="128" regnum="60" type="vec128" group="vpu"/>
<reg name="vr5" bitsize="128" regnum="61" type="vec128" group="vpu"/>
<reg name="vr6" bitsize="128" regnum="62" type="vec128" group="vpu"/>
<reg name="vr7" bitsize="128" regnum="63" type="vec128" group="vpu"/>
<reg name="vr8" bitsize="128" regnum="64" type="vec128" group="vpu"/>
<reg name="vr9" bitsize="128" regnum="65" type="vec128" group="vpu"/>
<reg name="vr10" bitsize="128" regnum="66" type="vec128" group="vpu"/>
<reg name="vr11" bitsize="128" regnum="67" type="vec128" group="vpu"/>
<reg name="vr12" bitsize="128" regnum="68" type="vec128" group="vpu"/>
<reg name="vr13" bitsize="128" regnum="69" type="vec128" group="vpu"/>
<reg name="vr14" bitsize="128" regnum="70" type="vec128" group="vpu"/>
<reg name="vr15" bitsize="128" regnum="71" type="vec128" group="vpu"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="cpuid" bitsize="32" regnum="102" group="cr"/>
<reg name="ccr" bitsize="32" regnum="107" group="cr"/>
<reg name="capr" bitsize="32" regnum="108" group="cr"/>
<reg name="pacr" bitsize="32" regnum="109" group="cr"/>
<reg name="prsr" bitsize="32" regnum="110" group="cr"/>
<reg name="usp" bitsize="32" regnum="127"/>
<reg name="int_sp" bitsize="32" regnum="204"/>
</feature>
<feature name="org.gnu.csky.abiv2.bank3">
<reg name="sepsr" bitsize="32" regnum="221" group="bank3"/>
<reg name="sevbr" bitsize="32" regnum="222" group="bank3"/>
<reg name="seepsr" bitsize="32" regnum="223" group="bank3"/>
<reg name="seepc" bitsize="32" regnum="225" group="bank3"/>
<reg name="nsssp" bitsize="32" regnum="227" group="bank3"/>
</feature>
</target>

View File

@ -0,0 +1,150 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r16" bitsize="32" regnum="16" group="gpr"/>
<reg name="r17" bitsize="32" regnum="17" group="gpr"/>
<reg name="r18" bitsize="32" regnum="18" group="gpr"/>
<reg name="r19" bitsize="32" regnum="19" group="gpr"/>
<reg name="r20" bitsize="32" regnum="20" group="gpr"/>
<reg name="r21" bitsize="32" regnum="21" group="gpr"/>
<reg name="r22" bitsize="32" regnum="22" group="gpr"/>
<reg name="r23" bitsize="32" regnum="23" group="gpr"/>
<reg name="r24" bitsize="32" regnum="24" group="gpr"/>
<reg name="r25" bitsize="32" regnum="25" group="gpr"/>
<reg name="r26" bitsize="32" regnum="26" group="gpr"/>
<reg name="r27" bitsize="32" regnum="27" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="r29" bitsize="32" regnum="29" group="gpr"/>
<reg name="r30" bitsize="32" regnum="30" group="gpr"/>
<reg name="r31" bitsize="32" regnum="31" group="gpr"/>
<reg name="hi" bitsize="32" regnum="36"/>
<reg name="lo" bitsize="32" regnum="37"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.fpu">
<vector id="v4f" type="ieee_single" count="4"/>
<vector id="v2d" type="ieee_double" count="2"/>
<vector id="v16i8" type="int8" count="16"/>
<vector id="v8i16" type="int16" count="8"/>
<vector id="v4i32" type="int32" count="4"/>
<vector id="v2i64" type="int64" count="2"/>
<union id="vec128">
<field name="v4_float" type="v4f"/>
<field name="v2_double" type="v2d"/>
<field name="v16_int8" type="v16i8"/>
<field name="v8_int16" type="v8i16"/>
<field name="v4_int32" type="v4i32"/>
<field name="v2_int64" type="v2i64"/>
<field name="uint128" type="uint128"/>
</union>
<union id="float32_union">
<field name="float" type="ieee_single"/>
<field name="uint32" type="uint32"/>
</union>
<!--float register-->
<reg name="fr0" bitsize="32" regnum="40" group="fpu" type="float32_union"/>
<reg name="fr1" bitsize="32" regnum="41" group="fpu" type="float32_union"/>
<reg name="fr2" bitsize="32" regnum="42" group="fpu" type="float32_union"/>
<reg name="fr3" bitsize="32" regnum="43" group="fpu" type="float32_union"/>
<reg name="fr4" bitsize="32" regnum="44" group="fpu" type="float32_union"/>
<reg name="fr5" bitsize="32" regnum="45" group="fpu" type="float32_union"/>
<reg name="fr6" bitsize="32" regnum="46" group="fpu" type="float32_union"/>
<reg name="fr7" bitsize="32" regnum="47" group="fpu" type="float32_union"/>
<reg name="fr8" bitsize="32" regnum="48" group="fpu" type="float32_union"/>
<reg name="fr9" bitsize="32" regnum="49" group="fpu" type="float32_union"/>
<reg name="fr10" bitsize="32" regnum="50" group="fpu" type="float32_union"/>
<reg name="fr11" bitsize="32" regnum="51" group="fpu" type="float32_union"/>
<reg name="fr12" bitsize="32" regnum="52" group="fpu" type="float32_union"/>
<reg name="fr13" bitsize="32" regnum="53" group="fpu" type="float32_union"/>
<reg name="fr14" bitsize="32" regnum="54" group="fpu" type="float32_union"/>
<reg name="fr15" bitsize="32" regnum="55" group="fpu" type="float32_union"/>
<!--vector register-->
<reg name="vr0" bitsize="128" regnum="56" type="vec128" group="vpu"/>
<reg name="vr1" bitsize="128" regnum="57" type="vec128" group="vpu"/>
<reg name="vr2" bitsize="128" regnum="58" type="vec128" group="vpu"/>
<reg name="vr3" bitsize="128" regnum="59" type="vec128" group="vpu"/>
<reg name="vr4" bitsize="128" regnum="60" type="vec128" group="vpu"/>
<reg name="vr5" bitsize="128" regnum="61" type="vec128" group="vpu"/>
<reg name="vr6" bitsize="128" regnum="62" type="vec128" group="vpu"/>
<reg name="vr7" bitsize="128" regnum="63" type="vec128" group="vpu"/>
<reg name="vr8" bitsize="128" regnum="64" type="vec128" group="vpu"/>
<reg name="vr9" bitsize="128" regnum="65" type="vec128" group="vpu"/>
<reg name="vr10" bitsize="128" regnum="66" type="vec128" group="vpu"/>
<reg name="vr11" bitsize="128" regnum="67" type="vec128" group="vpu"/>
<reg name="vr12" bitsize="128" regnum="68" type="vec128" group="vpu"/>
<reg name="vr13" bitsize="128" regnum="69" type="vec128" group="vpu"/>
<reg name="vr14" bitsize="128" regnum="70" type="vec128" group="vpu"/>
<reg name="vr15" bitsize="128" regnum="71" type="vec128" group="vpu"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="AF[1]" start="1" end="1" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="SV[25]" start="25" end="25" type="int8"/>
<field name="SD[26]" start="26" end="26" type="int8"/>
<field name="SC[27]" start="27" end="27" type="int8"/>
<field name="HS[28]" start="28" end="28" type="int8"/>
<field name="SP[29]" start="29" end="29" type="int8"/>
<field name="T[30]" start="30" end="30" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="cpuid" bitsize="32" regnum="102" group="cr"/>
<reg name="ccr" bitsize="32" regnum="107" group="cr"/>
<reg name="capr" bitsize="32" regnum="108" group="cr"/>
<reg name="pacr" bitsize="32" regnum="109" group="cr"/>
<reg name="prsr" bitsize="32" regnum="110" group="cr"/>
<reg name="chr" bitsize="32" regnum="120" group="cr"/>
<reg name="int_sp" bitsize="32" regnum="204"/>
</feature>
<feature name="org.gnu.csky.abiv2.fvcr">
<reg name="fcr" bitsize="32" regnum="121" group="fvcr"/>
<reg name="fid" bitsize="32" regnum="122" group="fvcr"/>
<reg name="fesr" bitsize="32" regnum="123" group="fvcr"/>
</feature>
<feature name="org.gnu.csky.abiv2.tee">
<reg name="nt_usp" bitsize="32" regnum="127" group="ree"/>
<reg name="ebr" bitsize="32" regnum="190" group="cr"/>
<reg name="dcr" bitsize="32" regnum="229" group="cr"/>
<reg name="t_usp" bitsize="32" regnum="228" group="tee"/>
<reg name="t_pcr" bitsize="32" regnum="230" group="tee"/>
</feature>
<feature name="org.gnu.csky.pseudo">
<reg name="t_psr" bitsize="32" regs="89" group="tee" type="int32" env="tee"/>
<reg name="t_vbr" bitsize="32" regs="90" group="tee" type="int32" env="tee"/>
<reg name="t_epsr" bitsize="32" regs="91" group="tee" type="int32" env="tee"/>
<reg name="t_epc" bitsize="32" regs="93" group="tee" type="int32" env="tee"/>
<reg name="t_ebr" bitsize="32" regs="190" group="tee" type="int32" env="tee"/>
<reg name="nt_psr" bitsize="32" regs="89" group="ree" type="int32" env="ree"/>
<reg name="nt_vbr" bitsize="32" regs="90" group="ree" type="int32" env="ree"/>
<reg name="nt_epsr" bitsize="32" regs="91" group="ree" type="int32" env="ree"/>
<reg name="nt_epc" bitsize="32" regs="93" group="ree" type="int32" env="ree"/>
<reg name="nt_ebr" bitsize="32" regs="190" group="ree" type="int32" env="ree"/>
</feature>
</target>

View File

@ -0,0 +1,125 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r16" bitsize="32" regnum="16" group="gpr"/>
<reg name="r17" bitsize="32" regnum="17" group="gpr"/>
<reg name="r18" bitsize="32" regnum="18" group="gpr"/>
<reg name="r19" bitsize="32" regnum="19" group="gpr"/>
<reg name="r20" bitsize="32" regnum="20" group="gpr"/>
<reg name="r21" bitsize="32" regnum="21" group="gpr"/>
<reg name="r22" bitsize="32" regnum="22" group="gpr"/>
<reg name="r23" bitsize="32" regnum="23" group="gpr"/>
<reg name="r24" bitsize="32" regnum="24" group="gpr"/>
<reg name="r25" bitsize="32" regnum="25" group="gpr"/>
<reg name="r26" bitsize="32" regnum="26" group="gpr"/>
<reg name="r27" bitsize="32" regnum="27" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="r29" bitsize="32" regnum="29" group="gpr"/>
<reg name="r30" bitsize="32" regnum="30" group="gpr"/>
<reg name="r31" bitsize="32" regnum="31" group="gpr"/>
<reg name="hi" bitsize="32" regnum="36"/>
<reg name="lo" bitsize="32" regnum="37"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.fpu">
<vector id="v4f" type="ieee_single" count="4"/>
<vector id="v2d" type="ieee_double" count="2"/>
<vector id="v16i8" type="int8" count="16"/>
<vector id="v8i16" type="int16" count="8"/>
<vector id="v4i32" type="int32" count="4"/>
<vector id="v2i64" type="int64" count="2"/>
<union id="vec128">
<field name="v4_float" type="v4f"/>
<field name="v2_double" type="v2d"/>
<field name="v16_int8" type="v16i8"/>
<field name="v8_int16" type="v8i16"/>
<field name="v4_int32" type="v4i32"/>
<field name="v2_int64" type="v2i64"/>
<field name="uint128" type="uint128"/>
</union>
<union id="float32_union">
<field name="float" type="ieee_single"/>
<field name="uint32" type="uint32"/>
</union>
<!--float register-->
<reg name="fr0" bitsize="32" regnum="40" group="fpu" type="float32_union"/>
<reg name="fr1" bitsize="32" regnum="41" group="fpu" type="float32_union"/>
<reg name="fr2" bitsize="32" regnum="42" group="fpu" type="float32_union"/>
<reg name="fr3" bitsize="32" regnum="43" group="fpu" type="float32_union"/>
<reg name="fr4" bitsize="32" regnum="44" group="fpu" type="float32_union"/>
<reg name="fr5" bitsize="32" regnum="45" group="fpu" type="float32_union"/>
<reg name="fr6" bitsize="32" regnum="46" group="fpu" type="float32_union"/>
<reg name="fr7" bitsize="32" regnum="47" group="fpu" type="float32_union"/>
<reg name="fr8" bitsize="32" regnum="48" group="fpu" type="float32_union"/>
<reg name="fr9" bitsize="32" regnum="49" group="fpu" type="float32_union"/>
<reg name="fr10" bitsize="32" regnum="50" group="fpu" type="float32_union"/>
<reg name="fr11" bitsize="32" regnum="51" group="fpu" type="float32_union"/>
<reg name="fr12" bitsize="32" regnum="52" group="fpu" type="float32_union"/>
<reg name="fr13" bitsize="32" regnum="53" group="fpu" type="float32_union"/>
<reg name="fr14" bitsize="32" regnum="54" group="fpu" type="float32_union"/>
<reg name="fr15" bitsize="32" regnum="55" group="fpu" type="float32_union"/>
<!--vector register-->
<reg name="vr0" bitsize="128" regnum="56" type="vec128" group="vpu"/>
<reg name="vr1" bitsize="128" regnum="57" type="vec128" group="vpu"/>
<reg name="vr2" bitsize="128" regnum="58" type="vec128" group="vpu"/>
<reg name="vr3" bitsize="128" regnum="59" type="vec128" group="vpu"/>
<reg name="vr4" bitsize="128" regnum="60" type="vec128" group="vpu"/>
<reg name="vr5" bitsize="128" regnum="61" type="vec128" group="vpu"/>
<reg name="vr6" bitsize="128" regnum="62" type="vec128" group="vpu"/>
<reg name="vr7" bitsize="128" regnum="63" type="vec128" group="vpu"/>
<reg name="vr8" bitsize="128" regnum="64" type="vec128" group="vpu"/>
<reg name="vr9" bitsize="128" regnum="65" type="vec128" group="vpu"/>
<reg name="vr10" bitsize="128" regnum="66" type="vec128" group="vpu"/>
<reg name="vr11" bitsize="128" regnum="67" type="vec128" group="vpu"/>
<reg name="vr12" bitsize="128" regnum="68" type="vec128" group="vpu"/>
<reg name="vr13" bitsize="128" regnum="69" type="vec128" group="vpu"/>
<reg name="vr14" bitsize="128" regnum="70" type="vec128" group="vpu"/>
<reg name="vr15" bitsize="128" regnum="71" type="vec128" group="vpu"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="cpuid" bitsize="32" regnum="102" group="cr"/>
<reg name="ccr" bitsize="32" regnum="107" group="cr"/>
<reg name="capr" bitsize="32" regnum="108" group="cr"/>
<reg name="pacr" bitsize="32" regnum="109" group="cr"/>
<reg name="prsr" bitsize="32" regnum="110" group="cr"/>
<reg name="chr" bitsize="32" regnum="120" group="cr"/>
<reg name="usp" bitsize="32" regnum="127"/>
<reg name="int_sp" bitsize="32" regnum="204"/>
</feature>
<feature name="org.gnu.csky.abiv2.fvcr">
<reg name="fcr" bitsize="32" regnum="121" group="fvcr"/>
<reg name="fid" bitsize="32" regnum="122" group="fvcr"/>
<reg name="fesr" bitsize="32" regnum="123" group="fvcr"/>
</feature>
</target>

View File

@ -0,0 +1,123 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r16" bitsize="32" regnum="16" group="gpr"/>
<reg name="r17" bitsize="32" regnum="17" group="gpr"/>
<reg name="r18" bitsize="32" regnum="18" group="gpr"/>
<reg name="r19" bitsize="32" regnum="19" group="gpr"/>
<reg name="r20" bitsize="32" regnum="20" group="gpr"/>
<reg name="r21" bitsize="32" regnum="21" group="gpr"/>
<reg name="r22" bitsize="32" regnum="22" group="gpr"/>
<reg name="r23" bitsize="32" regnum="23" group="gpr"/>
<reg name="r24" bitsize="32" regnum="24" group="gpr"/>
<reg name="r25" bitsize="32" regnum="25" group="gpr"/>
<reg name="r26" bitsize="32" regnum="26" group="gpr"/>
<reg name="r27" bitsize="32" regnum="27" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="r29" bitsize="32" regnum="29" group="gpr"/>
<reg name="r30" bitsize="32" regnum="30" group="gpr"/>
<reg name="r31" bitsize="32" regnum="31" group="gpr"/>
<reg name="hi" bitsize="32" regnum="36"/>
<reg name="lo" bitsize="32" regnum="37"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.fpu">
<vector id="v4f" type="ieee_single" count="4"/>
<vector id="v2d" type="ieee_double" count="2"/>
<vector id="v16i8" type="int8" count="16"/>
<vector id="v8i16" type="int16" count="8"/>
<vector id="v4i32" type="int32" count="4"/>
<vector id="v2i64" type="int64" count="2"/>
<union id="vec128">
<field name="v4_float" type="v4f"/>
<field name="v2_double" type="v2d"/>
<field name="v16_int8" type="v16i8"/>
<field name="v8_int16" type="v8i16"/>
<field name="v4_int32" type="v4i32"/>
<field name="v2_int64" type="v2i64"/>
<field name="uint128" type="uint128"/>
</union>
<reg name="vr0" bitsize="128" regnum="56" type="vec128" group="vpu"/>
<reg name="vr1" bitsize="128" regnum="57" type="vec128" group="vpu"/>
<reg name="vr2" bitsize="128" regnum="58" type="vec128" group="vpu"/>
<reg name="vr3" bitsize="128" regnum="59" type="vec128" group="vpu"/>
<reg name="vr4" bitsize="128" regnum="60" type="vec128" group="vpu"/>
<reg name="vr5" bitsize="128" regnum="61" type="vec128" group="vpu"/>
<reg name="vr6" bitsize="128" regnum="62" type="vec128" group="vpu"/>
<reg name="vr7" bitsize="128" regnum="63" type="vec128" group="vpu"/>
<reg name="vr8" bitsize="128" regnum="64" type="vec128" group="vpu"/>
<reg name="vr9" bitsize="128" regnum="65" type="vec128" group="vpu"/>
<reg name="vr10" bitsize="128" regnum="66" type="vec128" group="vpu"/>
<reg name="vr11" bitsize="128" regnum="67" type="vec128" group="vpu"/>
<reg name="vr12" bitsize="128" regnum="68" type="vec128" group="vpu"/>
<reg name="vr13" bitsize="128" regnum="69" type="vec128" group="vpu"/>
<reg name="vr14" bitsize="128" regnum="70" type="vec128" group="vpu"/>
<reg name="vr15" bitsize="128" regnum="71" type="vec128" group="vpu"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="AF[1]" start="1" end="1" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="SV[25]" start="25" end="25" type="int8"/>
<field name="SD[26]" start="26" end="26" type="int8"/>
<field name="SC[27]" start="27" end="27" type="int8"/>
<field name="HS[28]" start="28" end="28" type="int8"/>
<field name="SP[29]" start="29" end="29" type="int8"/>
<field name="T[30]" start="30" end="30" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="cpuid" bitsize="32" regnum="102" group="cr"/>
<reg name="ccr" bitsize="32" regnum="107" group="cr"/>
<reg name="capr" bitsize="32" regnum="108" group="cr"/>
<reg name="pacr" bitsize="32" regnum="109" group="cr"/>
<reg name="prsr" bitsize="32" regnum="110" group="cr"/>
<reg name="chr" bitsize="32" regnum="120" group="cr"/>
<reg name="int_sp" bitsize="32" regnum="204"/>
</feature>
<feature name="org.gnu.csky.abiv2.tee">
<reg name="nt_usp" bitsize="32" regnum="127" group="ree"/>
<reg name="ebr" bitsize="32" regnum="190" group="cr"/>
<reg name="dcr" bitsize="32" regnum="229" group="cr"/>
<reg name="t_usp" bitsize="32" regnum="228" group="tee"/>
<reg name="t_pcr" bitsize="32" regnum="230" group="tee"/>
</feature>
<feature name="org.gnu.csky.pseudo">
<reg name="t_psr" bitsize="32" regs="89" group="tee" type="int32" env="tee"/>
<reg name="t_vbr" bitsize="32" regs="90" group="tee" type="int32" env="tee"/>
<reg name="t_epsr" bitsize="32" regs="91" group="tee" type="int32" env="tee"/>
<reg name="t_epc" bitsize="32" regs="93" group="tee" type="int32" env="tee"/>
<reg name="t_ebr" bitsize="32" regs="190" group="tee" type="int32" env="tee"/>
<reg name="nt_psr" bitsize="32" regs="89" group="ree" type="int32" env="ree"/>
<reg name="nt_vbr" bitsize="32" regs="90" group="ree" type="int32" env="ree"/>
<reg name="nt_epsr" bitsize="32" regs="91" group="ree" type="int32" env="ree"/>
<reg name="nt_epc" bitsize="32" regs="93" group="ree" type="int32" env="ree"/>
<reg name="nt_ebr" bitsize="32" regs="190" group="ree" type="int32" env="ree"/>
</feature>
</target>

View File

@ -0,0 +1,98 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r16" bitsize="32" regnum="16" group="gpr"/>
<reg name="r17" bitsize="32" regnum="17" group="gpr"/>
<reg name="r18" bitsize="32" regnum="18" group="gpr"/>
<reg name="r19" bitsize="32" regnum="19" group="gpr"/>
<reg name="r20" bitsize="32" regnum="20" group="gpr"/>
<reg name="r21" bitsize="32" regnum="21" group="gpr"/>
<reg name="r22" bitsize="32" regnum="22" group="gpr"/>
<reg name="r23" bitsize="32" regnum="23" group="gpr"/>
<reg name="r24" bitsize="32" regnum="24" group="gpr"/>
<reg name="r25" bitsize="32" regnum="25" group="gpr"/>
<reg name="r26" bitsize="32" regnum="26" group="gpr"/>
<reg name="r27" bitsize="32" regnum="27" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="r29" bitsize="32" regnum="29" group="gpr"/>
<reg name="r30" bitsize="32" regnum="30" group="gpr"/>
<reg name="r31" bitsize="32" regnum="31" group="gpr"/>
<reg name="hi" bitsize="32" regnum="36"/>
<reg name="lo" bitsize="32" regnum="37"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.fpu">
<vector id="v4f" type="ieee_single" count="4"/>
<vector id="v2d" type="ieee_double" count="2"/>
<vector id="v16i8" type="int8" count="16"/>
<vector id="v8i16" type="int16" count="8"/>
<vector id="v4i32" type="int32" count="4"/>
<vector id="v2i64" type="int64" count="2"/>
<union id="vec128">
<field name="v4_float" type="v4f"/>
<field name="v2_double" type="v2d"/>
<field name="v16_int8" type="v16i8"/>
<field name="v8_int16" type="v8i16"/>
<field name="v4_int32" type="v4i32"/>
<field name="v2_int64" type="v2i64"/>
<field name="uint128" type="uint128"/>
</union>
<reg name="vr0" bitsize="128" regnum="56" type="vec128" group="vpu"/>
<reg name="vr1" bitsize="128" regnum="57" type="vec128" group="vpu"/>
<reg name="vr2" bitsize="128" regnum="58" type="vec128" group="vpu"/>
<reg name="vr3" bitsize="128" regnum="59" type="vec128" group="vpu"/>
<reg name="vr4" bitsize="128" regnum="60" type="vec128" group="vpu"/>
<reg name="vr5" bitsize="128" regnum="61" type="vec128" group="vpu"/>
<reg name="vr6" bitsize="128" regnum="62" type="vec128" group="vpu"/>
<reg name="vr7" bitsize="128" regnum="63" type="vec128" group="vpu"/>
<reg name="vr8" bitsize="128" regnum="64" type="vec128" group="vpu"/>
<reg name="vr9" bitsize="128" regnum="65" type="vec128" group="vpu"/>
<reg name="vr10" bitsize="128" regnum="66" type="vec128" group="vpu"/>
<reg name="vr11" bitsize="128" regnum="67" type="vec128" group="vpu"/>
<reg name="vr12" bitsize="128" regnum="68" type="vec128" group="vpu"/>
<reg name="vr13" bitsize="128" regnum="69" type="vec128" group="vpu"/>
<reg name="vr14" bitsize="128" regnum="70" type="vec128" group="vpu"/>
<reg name="vr15" bitsize="128" regnum="71" type="vec128" group="vpu"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="cpuid" bitsize="32" regnum="102" group="cr"/>
<reg name="ccr" bitsize="32" regnum="107" group="cr"/>
<reg name="capr" bitsize="32" regnum="108" group="cr"/>
<reg name="pacr" bitsize="32" regnum="109" group="cr"/>
<reg name="prsr" bitsize="32" regnum="110" group="cr"/>
<reg name="chr" bitsize="32" regnum="120" group="cr"/>
<reg name="usp" bitsize="32" regnum="127"/>
<reg name="int_sp" bitsize="32" regnum="204"/>
</feature>
</target>

View File

@ -0,0 +1,148 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r16" bitsize="32" regnum="16" group="gpr"/>
<reg name="r17" bitsize="32" regnum="17" group="gpr"/>
<reg name="r18" bitsize="32" regnum="18" group="gpr"/>
<reg name="r19" bitsize="32" regnum="19" group="gpr"/>
<reg name="r20" bitsize="32" regnum="20" group="gpr"/>
<reg name="r21" bitsize="32" regnum="21" group="gpr"/>
<reg name="r22" bitsize="32" regnum="22" group="gpr"/>
<reg name="r23" bitsize="32" regnum="23" group="gpr"/>
<reg name="r24" bitsize="32" regnum="24" group="gpr"/>
<reg name="r25" bitsize="32" regnum="25" group="gpr"/>
<reg name="r26" bitsize="32" regnum="26" group="gpr"/>
<reg name="r27" bitsize="32" regnum="27" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="r29" bitsize="32" regnum="29" group="gpr"/>
<reg name="r30" bitsize="32" regnum="30" group="gpr"/>
<reg name="r31" bitsize="32" regnum="31" group="gpr"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.fpu">
<vector id="v4f" type="ieee_single" count="4"/>
<vector id="v2d" type="ieee_double" count="2"/>
<vector id="v16i8" type="int8" count="16"/>
<vector id="v8i16" type="int16" count="8"/>
<vector id="v4i32" type="int32" count="4"/>
<vector id="v2i64" type="int64" count="2"/>
<union id="vec128">
<field name="v4_float" type="v4f"/>
<field name="v2_double" type="v2d"/>
<field name="v16_int8" type="v16i8"/>
<field name="v8_int16" type="v8i16"/>
<field name="v4_int32" type="v4i32"/>
<field name="v2_int64" type="v2i64"/>
<field name="uint128" type="uint128"/>
</union>
<union id="float32_union">
<field name="float" type="ieee_single"/>
<field name="uint32" type="uint32"/>
</union>
<!--float register-->
<reg name="fr0" bitsize="32" regnum="40" group="fpu" type="float32_union"/>
<reg name="fr1" bitsize="32" regnum="41" group="fpu" type="float32_union"/>
<reg name="fr2" bitsize="32" regnum="42" group="fpu" type="float32_union"/>
<reg name="fr3" bitsize="32" regnum="43" group="fpu" type="float32_union"/>
<reg name="fr4" bitsize="32" regnum="44" group="fpu" type="float32_union"/>
<reg name="fr5" bitsize="32" regnum="45" group="fpu" type="float32_union"/>
<reg name="fr6" bitsize="32" regnum="46" group="fpu" type="float32_union"/>
<reg name="fr7" bitsize="32" regnum="47" group="fpu" type="float32_union"/>
<reg name="fr8" bitsize="32" regnum="48" group="fpu" type="float32_union"/>
<reg name="fr9" bitsize="32" regnum="49" group="fpu" type="float32_union"/>
<reg name="fr10" bitsize="32" regnum="50" group="fpu" type="float32_union"/>
<reg name="fr11" bitsize="32" regnum="51" group="fpu" type="float32_union"/>
<reg name="fr12" bitsize="32" regnum="52" group="fpu" type="float32_union"/>
<reg name="fr13" bitsize="32" regnum="53" group="fpu" type="float32_union"/>
<reg name="fr14" bitsize="32" regnum="54" group="fpu" type="float32_union"/>
<reg name="fr15" bitsize="32" regnum="55" group="fpu" type="float32_union"/>
<!--vector register-->
<reg name="vr0" bitsize="128" regnum="56" type="vec128" group="vpu"/>
<reg name="vr1" bitsize="128" regnum="57" type="vec128" group="vpu"/>
<reg name="vr2" bitsize="128" regnum="58" type="vec128" group="vpu"/>
<reg name="vr3" bitsize="128" regnum="59" type="vec128" group="vpu"/>
<reg name="vr4" bitsize="128" regnum="60" type="vec128" group="vpu"/>
<reg name="vr5" bitsize="128" regnum="61" type="vec128" group="vpu"/>
<reg name="vr6" bitsize="128" regnum="62" type="vec128" group="vpu"/>
<reg name="vr7" bitsize="128" regnum="63" type="vec128" group="vpu"/>
<reg name="vr8" bitsize="128" regnum="64" type="vec128" group="vpu"/>
<reg name="vr9" bitsize="128" regnum="65" type="vec128" group="vpu"/>
<reg name="vr10" bitsize="128" regnum="66" type="vec128" group="vpu"/>
<reg name="vr11" bitsize="128" regnum="67" type="vec128" group="vpu"/>
<reg name="vr12" bitsize="128" regnum="68" type="vec128" group="vpu"/>
<reg name="vr13" bitsize="128" regnum="69" type="vec128" group="vpu"/>
<reg name="vr14" bitsize="128" regnum="70" type="vec128" group="vpu"/>
<reg name="vr15" bitsize="128" regnum="71" type="vec128" group="vpu"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="AF[1]" start="1" end="1" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="SV[25]" start="25" end="25" type="int8"/>
<field name="SD[26]" start="26" end="26" type="int8"/>
<field name="SC[27]" start="27" end="27" type="int8"/>
<field name="HS[28]" start="28" end="28" type="int8"/>
<field name="SP[29]" start="29" end="29" type="int8"/>
<field name="T[30]" start="30" end="30" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="cpuid" bitsize="32" regnum="102" group="cr"/>
<reg name="ccr" bitsize="32" regnum="107" group="cr"/>
<reg name="capr" bitsize="32" regnum="108" group="cr"/>
<reg name="pacr" bitsize="32" regnum="109" group="cr"/>
<reg name="prsr" bitsize="32" regnum="110" group="cr"/>
<reg name="chr" bitsize="32" regnum="120" group="cr"/>
<reg name="int_sp" bitsize="32" regnum="204"/>
</feature>
<feature name="org.gnu.csky.abiv2.fvcr">
<reg name="fcr" bitsize="32" regnum="121" group="fvcr"/>
<reg name="fid" bitsize="32" regnum="122" group="fvcr"/>
<reg name="fesr" bitsize="32" regnum="123" group="fvcr"/>
</feature>
<feature name="org.gnu.csky.abiv2.tee">
<reg name="nt_usp" bitsize="32" regnum="127" group="ree"/>
<reg name="ebr" bitsize="32" regnum="190" group="cr"/>
<reg name="dcr" bitsize="32" regnum="229" group="cr"/>
<reg name="t_usp" bitsize="32" regnum="228" group="tee"/>
<reg name="t_pcr" bitsize="32" regnum="230" group="tee"/>
</feature>
<feature name="org.gnu.csky.pseudo">
<reg name="t_psr" bitsize="32" regs="89" group="tee" type="int32" env="tee"/>
<reg name="t_vbr" bitsize="32" regs="90" group="tee" type="int32" env="tee"/>
<reg name="t_epsr" bitsize="32" regs="91" group="tee" type="int32" env="tee"/>
<reg name="t_epc" bitsize="32" regs="93" group="tee" type="int32" env="tee"/>
<reg name="t_ebr" bitsize="32" regs="190" group="tee" type="int32" env="tee"/>
<reg name="nt_psr" bitsize="32" regs="89" group="ree" type="int32" env="ree"/>
<reg name="nt_vbr" bitsize="32" regs="90" group="ree" type="int32" env="ree"/>
<reg name="nt_epsr" bitsize="32" regs="91" group="ree" type="int32" env="ree"/>
<reg name="nt_epc" bitsize="32" regs="93" group="ree" type="int32" env="ree"/>
<reg name="nt_ebr" bitsize="32" regs="190" group="ree" type="int32" env="ree"/>
</feature>
</target>

View File

@ -0,0 +1,130 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r16" bitsize="32" regnum="16" group="gpr"/>
<reg name="r17" bitsize="32" regnum="17" group="gpr"/>
<reg name="r18" bitsize="32" regnum="18" group="gpr"/>
<reg name="r19" bitsize="32" regnum="19" group="gpr"/>
<reg name="r20" bitsize="32" regnum="20" group="gpr"/>
<reg name="r21" bitsize="32" regnum="21" group="gpr"/>
<reg name="r22" bitsize="32" regnum="22" group="gpr"/>
<reg name="r23" bitsize="32" regnum="23" group="gpr"/>
<reg name="r24" bitsize="32" regnum="24" group="gpr"/>
<reg name="r25" bitsize="32" regnum="25" group="gpr"/>
<reg name="r26" bitsize="32" regnum="26" group="gpr"/>
<reg name="r27" bitsize="32" regnum="27" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="r29" bitsize="32" regnum="29" group="gpr"/>
<reg name="r30" bitsize="32" regnum="30" group="gpr"/>
<reg name="r31" bitsize="32" regnum="31" group="gpr"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.fpu">
<vector id="v4f" type="ieee_single" count="4"/>
<vector id="v2d" type="ieee_double" count="2"/>
<vector id="v16i8" type="int8" count="16"/>
<vector id="v8i16" type="int16" count="8"/>
<vector id="v4i32" type="int32" count="4"/>
<vector id="v2i64" type="int64" count="2"/>
<union id="vec128">
<field name="v4_float" type="v4f"/>
<field name="v2_double" type="v2d"/>
<field name="v16_int8" type="v16i8"/>
<field name="v8_int16" type="v8i16"/>
<field name="v4_int32" type="v4i32"/>
<field name="v2_int64" type="v2i64"/>
<field name="uint128" type="uint128"/>
</union>
<union id="float32_union">
<field name="float" type="ieee_single"/>
<field name="uint32" type="uint32"/>
</union>
<!--float register-->
<reg name="fr0" bitsize="32" regnum="40" group="fpu" type="float32_union"/>
<reg name="fr1" bitsize="32" regnum="41" group="fpu" type="float32_union"/>
<reg name="fr2" bitsize="32" regnum="42" group="fpu" type="float32_union"/>
<reg name="fr3" bitsize="32" regnum="43" group="fpu" type="float32_union"/>
<reg name="fr4" bitsize="32" regnum="44" group="fpu" type="float32_union"/>
<reg name="fr5" bitsize="32" regnum="45" group="fpu" type="float32_union"/>
<reg name="fr6" bitsize="32" regnum="46" group="fpu" type="float32_union"/>
<reg name="fr7" bitsize="32" regnum="47" group="fpu" type="float32_union"/>
<reg name="fr8" bitsize="32" regnum="48" group="fpu" type="float32_union"/>
<reg name="fr9" bitsize="32" regnum="49" group="fpu" type="float32_union"/>
<reg name="fr10" bitsize="32" regnum="50" group="fpu" type="float32_union"/>
<reg name="fr11" bitsize="32" regnum="51" group="fpu" type="float32_union"/>
<reg name="fr12" bitsize="32" regnum="52" group="fpu" type="float32_union"/>
<reg name="fr13" bitsize="32" regnum="53" group="fpu" type="float32_union"/>
<reg name="fr14" bitsize="32" regnum="54" group="fpu" type="float32_union"/>
<reg name="fr15" bitsize="32" regnum="55" group="fpu" type="float32_union"/>
<!--vector register-->
<reg name="vr0" bitsize="128" regnum="56" type="vec128" group="vpu"/>
<reg name="vr1" bitsize="128" regnum="57" type="vec128" group="vpu"/>
<reg name="vr2" bitsize="128" regnum="58" type="vec128" group="vpu"/>
<reg name="vr3" bitsize="128" regnum="59" type="vec128" group="vpu"/>
<reg name="vr4" bitsize="128" regnum="60" type="vec128" group="vpu"/>
<reg name="vr5" bitsize="128" regnum="61" type="vec128" group="vpu"/>
<reg name="vr6" bitsize="128" regnum="62" type="vec128" group="vpu"/>
<reg name="vr7" bitsize="128" regnum="63" type="vec128" group="vpu"/>
<reg name="vr8" bitsize="128" regnum="64" type="vec128" group="vpu"/>
<reg name="vr9" bitsize="128" regnum="65" type="vec128" group="vpu"/>
<reg name="vr10" bitsize="128" regnum="66" type="vec128" group="vpu"/>
<reg name="vr11" bitsize="128" regnum="67" type="vec128" group="vpu"/>
<reg name="vr12" bitsize="128" regnum="68" type="vec128" group="vpu"/>
<reg name="vr13" bitsize="128" regnum="69" type="vec128" group="vpu"/>
<reg name="vr14" bitsize="128" regnum="70" type="vec128" group="vpu"/>
<reg name="vr15" bitsize="128" regnum="71" type="vec128" group="vpu"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="cpuid" bitsize="32" regnum="102" group="cr"/>
<reg name="ccr" bitsize="32" regnum="107" group="cr"/>
<reg name="capr" bitsize="32" regnum="108" group="cr"/>
<reg name="pacr" bitsize="32" regnum="109" group="cr"/>
<reg name="prsr" bitsize="32" regnum="110" group="cr"/>
<reg name="chr" bitsize="32" regnum="120" group="cr"/>
<reg name="usp" bitsize="32" regnum="127"/>
<reg name="int_sp" bitsize="32" regnum="204"/>
</feature>
<feature name="org.gnu.csky.abiv2.fvcr">
<reg name="fcr" bitsize="32" regnum="121" group="fvcr"/>
<reg name="fid" bitsize="32" regnum="122" group="fvcr"/>
<reg name="fesr" bitsize="32" regnum="123" group="fvcr"/>
</feature>
<feature name="org.gnu.csky.abiv2.bank3">
<reg name="sepsr" bitsize="32" regnum="221" group="bank3"/>
<reg name="sevbr" bitsize="32" regnum="222" group="bank3"/>
<reg name="seepsr" bitsize="32" regnum="223" group="bank3"/>
<reg name="seepc" bitsize="32" regnum="225" group="bank3"/>
<reg name="nsssp" bitsize="32" regnum="227" group="bank3"/>
</feature>
</target>

View File

@ -0,0 +1,121 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r16" bitsize="32" regnum="16" group="gpr"/>
<reg name="r17" bitsize="32" regnum="17" group="gpr"/>
<reg name="r18" bitsize="32" regnum="18" group="gpr"/>
<reg name="r19" bitsize="32" regnum="19" group="gpr"/>
<reg name="r20" bitsize="32" regnum="20" group="gpr"/>
<reg name="r21" bitsize="32" regnum="21" group="gpr"/>
<reg name="r22" bitsize="32" regnum="22" group="gpr"/>
<reg name="r23" bitsize="32" regnum="23" group="gpr"/>
<reg name="r24" bitsize="32" regnum="24" group="gpr"/>
<reg name="r25" bitsize="32" regnum="25" group="gpr"/>
<reg name="r26" bitsize="32" regnum="26" group="gpr"/>
<reg name="r27" bitsize="32" regnum="27" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="r29" bitsize="32" regnum="29" group="gpr"/>
<reg name="r30" bitsize="32" regnum="30" group="gpr"/>
<reg name="r31" bitsize="32" regnum="31" group="gpr"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.fpu">
<vector id="v4f" type="ieee_single" count="4"/>
<vector id="v2d" type="ieee_double" count="2"/>
<vector id="v16i8" type="int8" count="16"/>
<vector id="v8i16" type="int16" count="8"/>
<vector id="v4i32" type="int32" count="4"/>
<vector id="v2i64" type="int64" count="2"/>
<union id="vec128">
<field name="v4_float" type="v4f"/>
<field name="v2_double" type="v2d"/>
<field name="v16_int8" type="v16i8"/>
<field name="v8_int16" type="v8i16"/>
<field name="v4_int32" type="v4i32"/>
<field name="v2_int64" type="v2i64"/>
<field name="uint128" type="uint128"/>
</union>
<!--vector register-->
<reg name="vr0" bitsize="128" regnum="56" type="vec128" group="vpu"/>
<reg name="vr1" bitsize="128" regnum="57" type="vec128" group="vpu"/>
<reg name="vr2" bitsize="128" regnum="58" type="vec128" group="vpu"/>
<reg name="vr3" bitsize="128" regnum="59" type="vec128" group="vpu"/>
<reg name="vr4" bitsize="128" regnum="60" type="vec128" group="vpu"/>
<reg name="vr5" bitsize="128" regnum="61" type="vec128" group="vpu"/>
<reg name="vr6" bitsize="128" regnum="62" type="vec128" group="vpu"/>
<reg name="vr7" bitsize="128" regnum="63" type="vec128" group="vpu"/>
<reg name="vr8" bitsize="128" regnum="64" type="vec128" group="vpu"/>
<reg name="vr9" bitsize="128" regnum="65" type="vec128" group="vpu"/>
<reg name="vr10" bitsize="128" regnum="66" type="vec128" group="vpu"/>
<reg name="vr11" bitsize="128" regnum="67" type="vec128" group="vpu"/>
<reg name="vr12" bitsize="128" regnum="68" type="vec128" group="vpu"/>
<reg name="vr13" bitsize="128" regnum="69" type="vec128" group="vpu"/>
<reg name="vr14" bitsize="128" regnum="70" type="vec128" group="vpu"/>
<reg name="vr15" bitsize="128" regnum="71" type="vec128" group="vpu"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="AF[1]" start="1" end="1" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="SV[25]" start="25" end="25" type="int8"/>
<field name="SD[26]" start="26" end="26" type="int8"/>
<field name="SC[27]" start="27" end="27" type="int8"/>
<field name="HS[28]" start="28" end="28" type="int8"/>
<field name="SP[29]" start="29" end="29" type="int8"/>
<field name="T[30]" start="30" end="30" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="cpuid" bitsize="32" regnum="102" group="cr"/>
<reg name="ccr" bitsize="32" regnum="107" group="cr"/>
<reg name="capr" bitsize="32" regnum="108" group="cr"/>
<reg name="pacr" bitsize="32" regnum="109" group="cr"/>
<reg name="prsr" bitsize="32" regnum="110" group="cr"/>
<reg name="int_sp" bitsize="32" regnum="204"/>
</feature>
<feature name="org.gnu.csky.abiv2.tee">
<reg name="nt_usp" bitsize="32" regnum="127" group="ree"/>
<reg name="ebr" bitsize="32" regnum="190" group="cr"/>
<reg name="dcr" bitsize="32" regnum="229" group="cr"/>
<reg name="t_usp" bitsize="32" regnum="228" group="tee"/>
<reg name="t_pcr" bitsize="32" regnum="230" group="tee"/>
</feature>
<feature name="org.gnu.csky.pseudo">
<reg name="t_psr" bitsize="32" regs="89" group="tee" type="int32" env="tee"/>
<reg name="t_vbr" bitsize="32" regs="90" group="tee" type="int32" env="tee"/>
<reg name="t_epsr" bitsize="32" regs="91" group="tee" type="int32" env="tee"/>
<reg name="t_epc" bitsize="32" regs="93" group="tee" type="int32" env="tee"/>
<reg name="t_ebr" bitsize="32" regs="190" group="tee" type="int32" env="tee"/>
<reg name="nt_psr" bitsize="32" regs="89" group="ree" type="int32" env="ree"/>
<reg name="nt_vbr" bitsize="32" regs="90" group="ree" type="int32" env="ree"/>
<reg name="nt_epsr" bitsize="32" regs="91" group="ree" type="int32" env="ree"/>
<reg name="nt_epc" bitsize="32" regs="93" group="ree" type="int32" env="ree"/>
<reg name="nt_ebr" bitsize="32" regs="190" group="ree" type="int32" env="ree"/>
</feature>
</target>

View File

@ -0,0 +1,102 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r16" bitsize="32" regnum="16" group="gpr"/>
<reg name="r17" bitsize="32" regnum="17" group="gpr"/>
<reg name="r18" bitsize="32" regnum="18" group="gpr"/>
<reg name="r19" bitsize="32" regnum="19" group="gpr"/>
<reg name="r20" bitsize="32" regnum="20" group="gpr"/>
<reg name="r21" bitsize="32" regnum="21" group="gpr"/>
<reg name="r22" bitsize="32" regnum="22" group="gpr"/>
<reg name="r23" bitsize="32" regnum="23" group="gpr"/>
<reg name="r24" bitsize="32" regnum="24" group="gpr"/>
<reg name="r25" bitsize="32" regnum="25" group="gpr"/>
<reg name="r26" bitsize="32" regnum="26" group="gpr"/>
<reg name="r27" bitsize="32" regnum="27" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="r29" bitsize="32" regnum="29" group="gpr"/>
<reg name="r30" bitsize="32" regnum="30" group="gpr"/>
<reg name="r31" bitsize="32" regnum="31" group="gpr"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.fpu">
<vector id="v4f" type="ieee_single" count="4"/>
<vector id="v2d" type="ieee_double" count="2"/>
<vector id="v16i8" type="int8" count="16"/>
<vector id="v8i16" type="int16" count="8"/>
<vector id="v4i32" type="int32" count="4"/>
<vector id="v2i64" type="int64" count="2"/>
<union id="vec128">
<field name="v4_float" type="v4f"/>
<field name="v2_double" type="v2d"/>
<field name="v16_int8" type="v16i8"/>
<field name="v8_int16" type="v8i16"/>
<field name="v4_int32" type="v4i32"/>
<field name="v2_int64" type="v2i64"/>
<field name="uint128" type="uint128"/>
</union>
<reg name="vr0" bitsize="128" regnum="56" type="vec128" group="vpu"/>
<reg name="vr1" bitsize="128" regnum="57" type="vec128" group="vpu"/>
<reg name="vr2" bitsize="128" regnum="58" type="vec128" group="vpu"/>
<reg name="vr3" bitsize="128" regnum="59" type="vec128" group="vpu"/>
<reg name="vr4" bitsize="128" regnum="60" type="vec128" group="vpu"/>
<reg name="vr5" bitsize="128" regnum="61" type="vec128" group="vpu"/>
<reg name="vr6" bitsize="128" regnum="62" type="vec128" group="vpu"/>
<reg name="vr7" bitsize="128" regnum="63" type="vec128" group="vpu"/>
<reg name="vr8" bitsize="128" regnum="64" type="vec128" group="vpu"/>
<reg name="vr9" bitsize="128" regnum="65" type="vec128" group="vpu"/>
<reg name="vr10" bitsize="128" regnum="66" type="vec128" group="vpu"/>
<reg name="vr11" bitsize="128" regnum="67" type="vec128" group="vpu"/>
<reg name="vr12" bitsize="128" regnum="68" type="vec128" group="vpu"/>
<reg name="vr13" bitsize="128" regnum="69" type="vec128" group="vpu"/>
<reg name="vr14" bitsize="128" regnum="70" type="vec128" group="vpu"/>
<reg name="vr15" bitsize="128" regnum="71" type="vec128" group="vpu"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="cpuid" bitsize="32" regnum="102" group="cr"/>
<reg name="ccr" bitsize="32" regnum="107" group="cr"/>
<reg name="capr" bitsize="32" regnum="108" group="cr"/>
<reg name="pacr" bitsize="32" regnum="109" group="cr"/>
<reg name="prsr" bitsize="32" regnum="110" group="cr"/>
<reg name="usp" bitsize="32" regnum="127"/>
<reg name="int_sp" bitsize="32" regnum="204"/>
</feature>
<feature name="org.gnu.csky.abiv2.bank3">
<reg name="sepsr" bitsize="32" regnum="221" group="bank3"/>
<reg name="sevbr" bitsize="32" regnum="222" group="bank3"/>
<reg name="seepsr" bitsize="32" regnum="223" group="bank3"/>
<reg name="seepc" bitsize="32" regnum="225" group="bank3"/>
<reg name="nsssp" bitsize="32" regnum="227" group="bank3"/>
</feature>
</target>

View File

@ -0,0 +1,152 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r16" bitsize="32" regnum="16" group="gpr"/>
<reg name="r17" bitsize="32" regnum="17" group="gpr"/>
<reg name="r18" bitsize="32" regnum="18" group="gpr"/>
<reg name="r19" bitsize="32" regnum="19" group="gpr"/>
<reg name="r20" bitsize="32" regnum="20" group="gpr"/>
<reg name="r21" bitsize="32" regnum="21" group="gpr"/>
<reg name="r22" bitsize="32" regnum="22" group="gpr"/>
<reg name="r23" bitsize="32" regnum="23" group="gpr"/>
<reg name="r24" bitsize="32" regnum="24" group="gpr"/>
<reg name="r25" bitsize="32" regnum="25" group="gpr"/>
<reg name="r26" bitsize="32" regnum="26" group="gpr"/>
<reg name="r27" bitsize="32" regnum="27" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="r29" bitsize="32" regnum="29" group="gpr"/>
<reg name="r30" bitsize="32" regnum="30" group="gpr"/>
<reg name="r31" bitsize="32" regnum="31" group="gpr"/>
<reg name="hi" bitsize="32" regnum="36"/>
<reg name="lo" bitsize="32" regnum="37"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="AF[1]" start="1" end="1" type="int8"/>
<field name="FE[4]" start="4" end="4" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TE[12]" start="12" end="12" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="fpsr" bitsize="32" regnum="92" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="fpc" bitsize="32" regnum="94" group="cr"/>
<reg name="ss0" bitsize="32" regnum="95" group="cr"/>
<reg name="ss1" bitsize="32" regnum="96" group="cr"/>
<reg name="ss2" bitsize="32" regnum="97" group="cr"/>
<reg name="ss3" bitsize="32" regnum="98" group="cr"/>
<reg name="ss4" bitsize="32" regnum="99" group="cr"/>
<reg name="gcr" bitsize="32" regnum="100" group="cr"/>
<reg name="gsr" bitsize="32" regnum="101" group="cr"/>
<reg name="cr13" bitsize="32" regnum="102" group="cr"/>
<reg name="cr14" bitsize="32" regnum="103" group="cr"/>
<reg name="cr15" bitsize="32" regnum="104" group="cr"/>
<reg name="cr16" bitsize="32" regnum="105" group="cr"/>
<reg name="cr17" bitsize="32" regnum="106" group="cr"/>
<reg name="cr18" bitsize="32" regnum="107" group="cr"/>
<reg name="cr19" bitsize="32" regnum="108" group="cr"/>
<reg name="cr20" bitsize="32" regnum="109" group="cr"/>
<reg name="cr21" bitsize="32" regnum="110" group="cr"/>
<reg name="cr22" bitsize="32" regnum="111" group="cr"/>
<reg name="cr23" bitsize="32" regnum="112" group="cr"/>
<reg name="cr24" bitsize="32" regnum="113" group="cr"/>
<reg name="cr25" bitsize="32" regnum="114" group="cr"/>
<reg name="cr26" bitsize="32" regnum="115" group="cr"/>
<reg name="cr27" bitsize="32" regnum="116" group="cr"/>
<reg name="cr28" bitsize="32" regnum="117" group="cr"/>
<reg name="cr29" bitsize="32" regnum="118" group="cr"/>
<reg name="cr30" bitsize="32" regnum="119" group="cr"/>
<reg name="cr31" bitsize="32" regnum="120" group="cr"/>
</feature>
<feature name="org.gnu.csky.abiv2.fvcr">
<!--usp cr_bank1-->
<reg name="usp" bitsize="32" regnum="127"/>
</feature>
<feature name="org.gnu.csky.abiv2.mmu">
<flags id="ckcpu_mir" size="4">
<field name="Index[9:0]" start="0" end="9" type="int16"/>
<field name="TF[30]" start="30" end="30" type="int8"/>
<field name="P[31]" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mel" size="4">
<field name="V[1]" start="1" end="1" type="int8"/>
<field name="D[2]" start="2" end="2" type="int8"/>
<field name="C[3]" start="3" end="3" type="int8"/>
<field name="SEC[4]" start="4" end="4" type="int8"/>
<field name="SO[5]" start="5" end="5" type="int8"/>
<field name="B[6]" start="6" end="6" type="int8"/>
<field name="PFN[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_meh" size="4">
<field name="ASID[7:0]" start="0" end="7" type="int8"/>
<field name="VPN[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_mpr" size="4">
<field name="PageMask[24:13]" start="13" end="24" type="int16"/>
</flags>
<flags id="ckcpu_mcir" size="4">
<field name="ASID[7:0]" start="0" end="7" type="int8"/>
<field name="TLBINV_ALL[26]" start="26" end="26" type="int8"/>
<field name="TLBINV[27]" start="27" end="27" type="int8"/>
<field name="TLBWR[28]" start="28" end="28" type="int8"/>
<field name="TLBWI[29]" start="29" end="29" type="int8"/>
<field name="TLBR[30]" start="30" end="30" type="int8"/>
<field name="TLBP[31]" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mpgd" size="4">
<field name="HRE[0]" start="0" end="0" type="int8"/>
<field name="PBA[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_msa" size="4">
<field name="V[1]" start="1" end="1" type="int8"/>
<field name="D[2]" start="2" end="2" type="int8"/>
<field name="C[3]" start="3" end="3" type="int8"/>
<field name="SEC[4]" start="4" end="4" type="int8"/>
<field name="SO[5]" start="5" end="5" type="int8"/>
<field name="B[6]" start="6" end="6" type="int8"/>
<field name="BA[31:29]" start="29" end="31" type="int8"/>
</flags>
<reg name="mir" bitsize="32" regnum="128" group="mmu" type="ckcpu_mir"/>
<reg name="mel0" bitsize="32" regnum="129" group="mmu" type="ckcpu_mel"/>
<reg name="mel1" bitsize="32" regnum="130" group="mmu" type="ckcpu_mel"/>
<reg name="meh" bitsize="32" regnum="131" group="mmu" type="ckcpu_meh"/>
<reg name="mpr" bitsize="32" regnum="132" group="mmu" type="ckcpu_mpr"/>
<reg name="mcir" bitsize="32" regnum="133" group="mmu" type="ckcpu_mcir"/>
<reg name="mpgd" bitsize="32" regnum="134" group="mmu" type="ckcpu_mpgd"/>
<reg name="msa0" bitsize="32" regnum="135" group="mmu" type="ckcpu_msa"/>
<reg name="msa1" bitsize="32" regnum="136" group="mmu" type="ckcpu_msa"/>
</feature>
<feature name="org.gnu.csky.abiv2.bank1">
<reg name="cp1cr16" bitsize="32" regnum="205" group="bank1"/>
<reg name="cp1cr17" bitsize="32" regnum="206" group="bank1"/>
<reg name="cp1cr18" bitsize="32" regnum="207" group="bank1"/>
<reg name="cp1cr19" bitsize="32" regnum="208" group="bank1"/>
</feature>
</target>

View File

@ -0,0 +1,180 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r16" bitsize="32" regnum="16" group="gpr"/>
<reg name="r17" bitsize="32" regnum="17" group="gpr"/>
<reg name="r18" bitsize="32" regnum="18" group="gpr"/>
<reg name="r19" bitsize="32" regnum="19" group="gpr"/>
<reg name="r20" bitsize="32" regnum="20" group="gpr"/>
<reg name="r21" bitsize="32" regnum="21" group="gpr"/>
<reg name="r22" bitsize="32" regnum="22" group="gpr"/>
<reg name="r23" bitsize="32" regnum="23" group="gpr"/>
<reg name="r24" bitsize="32" regnum="24" group="gpr"/>
<reg name="r25" bitsize="32" regnum="25" group="gpr"/>
<reg name="r26" bitsize="32" regnum="26" group="gpr"/>
<reg name="r27" bitsize="32" regnum="27" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="r29" bitsize="32" regnum="29" group="gpr"/>
<reg name="r30" bitsize="32" regnum="30" group="gpr"/>
<reg name="r31" bitsize="32" regnum="31" group="gpr"/>
<reg name="hi" bitsize="32" regnum="36"/>
<reg name="lo" bitsize="32" regnum="37"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.fpu">
<union id="float64_union">
<field name="double64" type="ieee_double"/>
<field name="float32" type="ieee_single"/>
<field name="uint64" type="uint64"/>
</union>
<!--float register-->
<reg name="fr0" bitsize="64" regnum="40" type="float64_union" group="fpu"/>
<reg name="fr1" bitsize="64" regnum="41" type="float64_union" group="fpu"/>
<reg name="fr2" bitsize="64" regnum="42" type="float64_union" group="fpu"/>
<reg name="fr3" bitsize="64" regnum="43" type="float64_union" group="fpu"/>
<reg name="fr4" bitsize="64" regnum="44" type="float64_union" group="fpu"/>
<reg name="fr5" bitsize="64" regnum="45" type="float64_union" group="fpu"/>
<reg name="fr6" bitsize="64" regnum="46" type="float64_union" group="fpu"/>
<reg name="fr7" bitsize="64" regnum="47" type="float64_union" group="fpu"/>
<reg name="fr8" bitsize="64" regnum="48" type="float64_union" group="fpu"/>
<reg name="fr9" bitsize="64" regnum="49" type="float64_union" group="fpu"/>
<reg name="fr10" bitsize="64" regnum="50" type="float64_union" group="fpu"/>
<reg name="fr11" bitsize="64" regnum="51" type="float64_union" group="fpu"/>
<reg name="fr12" bitsize="64" regnum="52" type="float64_union" group="fpu"/>
<reg name="fr13" bitsize="64" regnum="53" type="float64_union" group="fpu"/>
<reg name="fr14" bitsize="64" regnum="54" type="float64_union" group="fpu"/>
<reg name="fr15" bitsize="64" regnum="55" type="float64_union" group="fpu"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="AF[1]" start="1" end="1" type="int8"/>
<field name="FE[4]" start="4" end="4" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TE[12]" start="12" end="12" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="fpsr" bitsize="32" regnum="92" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="fpc" bitsize="32" regnum="94" group="cr"/>
<reg name="ss0" bitsize="32" regnum="95" group="cr"/>
<reg name="ss1" bitsize="32" regnum="96" group="cr"/>
<reg name="ss2" bitsize="32" regnum="97" group="cr"/>
<reg name="ss3" bitsize="32" regnum="98" group="cr"/>
<reg name="ss4" bitsize="32" regnum="99" group="cr"/>
<reg name="gcr" bitsize="32" regnum="100" group="cr"/>
<reg name="gsr" bitsize="32" regnum="101" group="cr"/>
<reg name="cr13" bitsize="32" regnum="102" group="cr"/>
<reg name="cr14" bitsize="32" regnum="103" group="cr"/>
<reg name="cr15" bitsize="32" regnum="104" group="cr"/>
<reg name="cr16" bitsize="32" regnum="105" group="cr"/>
<reg name="cr17" bitsize="32" regnum="106" group="cr"/>
<reg name="cr18" bitsize="32" regnum="107" group="cr"/>
<reg name="cr19" bitsize="32" regnum="108" group="cr"/>
<reg name="cr20" bitsize="32" regnum="109" group="cr"/>
<reg name="cr21" bitsize="32" regnum="110" group="cr"/>
<reg name="cr22" bitsize="32" regnum="111" group="cr"/>
<reg name="cr23" bitsize="32" regnum="112" group="cr"/>
<reg name="cr24" bitsize="32" regnum="113" group="cr"/>
<reg name="cr25" bitsize="32" regnum="114" group="cr"/>
<reg name="cr26" bitsize="32" regnum="115" group="cr"/>
<reg name="cr27" bitsize="32" regnum="116" group="cr"/>
<reg name="cr28" bitsize="32" regnum="117" group="cr"/>
<reg name="cr29" bitsize="32" regnum="118" group="cr"/>
<reg name="cr30" bitsize="32" regnum="119" group="cr"/>
<reg name="cr31" bitsize="32" regnum="120" group="cr"/>
</feature>
<feature name="org.gnu.csky.abiv2.fvcr">
<reg name="fcr" bitsize="32" regnum="121" group="fvcr"/>
<reg name="fid" bitsize="32" regnum="122" group="fvcr"/>
<reg name="fesr" bitsize="32" regnum="123" group="fvcr"/>
<!--usp cr_bank1-->
<reg name="usp" bitsize="32" regnum="127"/>
</feature>
<feature name="org.gnu.csky.abiv2.mmu">
<flags id="ckcpu_mir" size="4">
<field name="Index[9:0]" start="0" end="9" type="int16"/>
<field name="TF[30]" start="30" end="30" type="int8"/>
<field name="P[31]" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mel" size="4">
<field name="V[1]" start="1" end="1" type="int8"/>
<field name="D[2]" start="2" end="2" type="int8"/>
<field name="C[3]" start="3" end="3" type="int8"/>
<field name="SEC[4]" start="4" end="4" type="int8"/>
<field name="SO[5]" start="5" end="5" type="int8"/>
<field name="B[6]" start="6" end="6" type="int8"/>
<field name="PFN[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_meh" size="4">
<field name="ASID[7:0]" start="0" end="7" type="int8"/>
<field name="VPN[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_mpr" size="4">
<field name="PageMask[24:13]" start="13" end="24" type="int16"/>
</flags>
<flags id="ckcpu_mcir" size="4">
<field name="ASID[7:0]" start="0" end="7" type="int8"/>
<field name="TLBINV_ALL[26]" start="26" end="26" type="int8"/>
<field name="TLBINV[27]" start="27" end="27" type="int8"/>
<field name="TLBWR[28]" start="28" end="28" type="int8"/>
<field name="TLBWI[29]" start="29" end="29" type="int8"/>
<field name="TLBR[30]" start="30" end="30" type="int8"/>
<field name="TLBP[31]" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mpgd" size="4">
<field name="HRE[0]" start="0" end="0" type="int8"/>
<field name="PBA[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_msa" size="4">
<field name="V[1]" start="1" end="1" type="int8"/>
<field name="D[2]" start="2" end="2" type="int8"/>
<field name="C[3]" start="3" end="3" type="int8"/>
<field name="SEC[4]" start="4" end="4" type="int8"/>
<field name="SO[5]" start="5" end="5" type="int8"/>
<field name="B[6]" start="6" end="6" type="int8"/>
<field name="BA[31:29]" start="29" end="31" type="int8"/>
</flags>
<reg name="mir" bitsize="32" regnum="128" group="mmu" type="ckcpu_mir"/>
<reg name="mel0" bitsize="32" regnum="129" group="mmu" type="ckcpu_mel"/>
<reg name="mel1" bitsize="32" regnum="130" group="mmu" type="ckcpu_mel"/>
<reg name="meh" bitsize="32" regnum="131" group="mmu" type="ckcpu_meh"/>
<reg name="mpr" bitsize="32" regnum="132" group="mmu" type="ckcpu_mpr"/>
<reg name="mcir" bitsize="32" regnum="133" group="mmu" type="ckcpu_mcir"/>
<reg name="mpgd" bitsize="32" regnum="134" group="mmu" type="ckcpu_mpgd"/>
<reg name="msa0" bitsize="32" regnum="135" group="mmu" type="ckcpu_msa"/>
<reg name="msa1" bitsize="32" regnum="136" group="mmu" type="ckcpu_msa"/>
</feature>
<feature name="org.gnu.csky.abiv2.bank1">
<reg name="cp1cr16" bitsize="32" regnum="205" group="bank1"/>
<reg name="cp1cr17" bitsize="32" regnum="206" group="bank1"/>
<reg name="cp1cr18" bitsize="32" regnum="207" group="bank1"/>
<reg name="cp1cr19" bitsize="32" regnum="208" group="bank1"/>
<reg name="cp1cr20" bitsize="32" regnum="209" group="bank1"/>
</feature>
</target>

View File

@ -0,0 +1,180 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r16" bitsize="32" regnum="16" group="gpr"/>
<reg name="r17" bitsize="32" regnum="17" group="gpr"/>
<reg name="r18" bitsize="32" regnum="18" group="gpr"/>
<reg name="r19" bitsize="32" regnum="19" group="gpr"/>
<reg name="r20" bitsize="32" regnum="20" group="gpr"/>
<reg name="r21" bitsize="32" regnum="21" group="gpr"/>
<reg name="r22" bitsize="32" regnum="22" group="gpr"/>
<reg name="r23" bitsize="32" regnum="23" group="gpr"/>
<reg name="r24" bitsize="32" regnum="24" group="gpr"/>
<reg name="r25" bitsize="32" regnum="25" group="gpr"/>
<reg name="r26" bitsize="32" regnum="26" group="gpr"/>
<reg name="r27" bitsize="32" regnum="27" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="r29" bitsize="32" regnum="29" group="gpr"/>
<reg name="r30" bitsize="32" regnum="30" group="gpr"/>
<reg name="r31" bitsize="32" regnum="31" group="gpr"/>
<reg name="hi" bitsize="32" regnum="36"/>
<reg name="lo" bitsize="32" regnum="37"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.fpu">
<union id="float64_union">
<field name="double64" type="ieee_double"/>
<field name="float32" type="ieee_single"/>
<field name="uint64" type="uint64"/>
</union>
<!--float register-->
<reg name="fr0" bitsize="64" regnum="40" type="float64_union" group="fpu"/>
<reg name="fr1" bitsize="64" regnum="41" type="float64_union" group="fpu"/>
<reg name="fr2" bitsize="64" regnum="42" type="float64_union" group="fpu"/>
<reg name="fr3" bitsize="64" regnum="43" type="float64_union" group="fpu"/>
<reg name="fr4" bitsize="64" regnum="44" type="float64_union" group="fpu"/>
<reg name="fr5" bitsize="64" regnum="45" type="float64_union" group="fpu"/>
<reg name="fr6" bitsize="64" regnum="46" type="float64_union" group="fpu"/>
<reg name="fr7" bitsize="64" regnum="47" type="float64_union" group="fpu"/>
<reg name="fr8" bitsize="64" regnum="48" type="float64_union" group="fpu"/>
<reg name="fr9" bitsize="64" regnum="49" type="float64_union" group="fpu"/>
<reg name="fr10" bitsize="64" regnum="50" type="float64_union" group="fpu"/>
<reg name="fr11" bitsize="64" regnum="51" type="float64_union" group="fpu"/>
<reg name="fr12" bitsize="64" regnum="52" type="float64_union" group="fpu"/>
<reg name="fr13" bitsize="64" regnum="53" type="float64_union" group="fpu"/>
<reg name="fr14" bitsize="64" regnum="54" type="float64_union" group="fpu"/>
<reg name="fr15" bitsize="64" regnum="55" type="float64_union" group="fpu"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="AF[1]" start="1" end="1" type="int8"/>
<field name="FE[4]" start="4" end="4" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TE[12]" start="12" end="12" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="fpsr" bitsize="32" regnum="92" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="fpc" bitsize="32" regnum="94" group="cr"/>
<reg name="ss0" bitsize="32" regnum="95" group="cr"/>
<reg name="ss1" bitsize="32" regnum="96" group="cr"/>
<reg name="ss2" bitsize="32" regnum="97" group="cr"/>
<reg name="ss3" bitsize="32" regnum="98" group="cr"/>
<reg name="ss4" bitsize="32" regnum="99" group="cr"/>
<reg name="gcr" bitsize="32" regnum="100" group="cr"/>
<reg name="gsr" bitsize="32" regnum="101" group="cr"/>
<reg name="cr13" bitsize="32" regnum="102" group="cr"/>
<reg name="cr14" bitsize="32" regnum="103" group="cr"/>
<reg name="cr15" bitsize="32" regnum="104" group="cr"/>
<reg name="cr16" bitsize="32" regnum="105" group="cr"/>
<reg name="cr17" bitsize="32" regnum="106" group="cr"/>
<reg name="cr18" bitsize="32" regnum="107" group="cr"/>
<reg name="cr19" bitsize="32" regnum="108" group="cr"/>
<reg name="cr20" bitsize="32" regnum="109" group="cr"/>
<reg name="cr21" bitsize="32" regnum="110" group="cr"/>
<reg name="cr22" bitsize="32" regnum="111" group="cr"/>
<reg name="cr23" bitsize="32" regnum="112" group="cr"/>
<reg name="cr24" bitsize="32" regnum="113" group="cr"/>
<reg name="cr25" bitsize="32" regnum="114" group="cr"/>
<reg name="cr26" bitsize="32" regnum="115" group="cr"/>
<reg name="cr27" bitsize="32" regnum="116" group="cr"/>
<reg name="cr28" bitsize="32" regnum="117" group="cr"/>
<reg name="cr29" bitsize="32" regnum="118" group="cr"/>
<reg name="cr30" bitsize="32" regnum="119" group="cr"/>
<reg name="cr31" bitsize="32" regnum="120" group="cr"/>
</feature>
<feature name="org.gnu.csky.abiv2.fvcr">
<reg name="fcr" bitsize="32" regnum="121" group="fvcr"/>
<reg name="fid" bitsize="32" regnum="122" group="fvcr"/>
<reg name="fesr" bitsize="32" regnum="123" group="fvcr"/>
<!--usp cr_bank1-->
<reg name="usp" bitsize="32" regnum="127"/>
</feature>
<feature name="org.gnu.csky.abiv2.mmu">
<flags id="ckcpu_mir" size="4">
<field name="Index[9:0]" start="0" end="9" type="int16"/>
<field name="TF[30]" start="30" end="30" type="int8"/>
<field name="P[31]" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mel" size="4">
<field name="V[1]" start="1" end="1" type="int8"/>
<field name="D[2]" start="2" end="2" type="int8"/>
<field name="C[3]" start="3" end="3" type="int8"/>
<field name="SEC[4]" start="4" end="4" type="int8"/>
<field name="SO[5]" start="5" end="5" type="int8"/>
<field name="B[6]" start="6" end="6" type="int8"/>
<field name="PFN[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_meh" size="4">
<field name="ASID[7:0]" start="0" end="7" type="int8"/>
<field name="VPN[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_mpr" size="4">
<field name="PageMask[24:13]" start="13" end="24" type="int16"/>
</flags>
<flags id="ckcpu_mcir" size="4">
<field name="ASID[7:0]" start="0" end="7" type="int8"/>
<field name="TLBINV_ALL[26]" start="26" end="26" type="int8"/>
<field name="TLBINV[27]" start="27" end="27" type="int8"/>
<field name="TLBWR[28]" start="28" end="28" type="int8"/>
<field name="TLBWI[29]" start="29" end="29" type="int8"/>
<field name="TLBR[30]" start="30" end="30" type="int8"/>
<field name="TLBP[31]" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mpgd" size="4">
<field name="HRE[0]" start="0" end="0" type="int8"/>
<field name="PBA[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_msa" size="4">
<field name="V[1]" start="1" end="1" type="int8"/>
<field name="D[2]" start="2" end="2" type="int8"/>
<field name="C[3]" start="3" end="3" type="int8"/>
<field name="SEC[4]" start="4" end="4" type="int8"/>
<field name="SO[5]" start="5" end="5" type="int8"/>
<field name="B[6]" start="6" end="6" type="int8"/>
<field name="BA[31:29]" start="29" end="31" type="int8"/>
</flags>
<reg name="mir" bitsize="32" regnum="128" group="mmu" type="ckcpu_mir"/>
<reg name="mel0" bitsize="32" regnum="129" group="mmu" type="ckcpu_mel"/>
<reg name="mel1" bitsize="32" regnum="130" group="mmu" type="ckcpu_mel"/>
<reg name="meh" bitsize="32" regnum="131" group="mmu" type="ckcpu_meh"/>
<reg name="mpr" bitsize="32" regnum="132" group="mmu" type="ckcpu_mpr"/>
<reg name="mcir" bitsize="32" regnum="133" group="mmu" type="ckcpu_mcir"/>
<reg name="mpgd" bitsize="32" regnum="134" group="mmu" type="ckcpu_mpgd"/>
<reg name="msa0" bitsize="32" regnum="135" group="mmu" type="ckcpu_msa"/>
<reg name="msa1" bitsize="32" regnum="136" group="mmu" type="ckcpu_msa"/>
</feature>
<feature name="org.gnu.csky.abiv2.bank1">
<reg name="cp1cr16" bitsize="32" regnum="205" group="bank1"/>
<reg name="cp1cr17" bitsize="32" regnum="206" group="bank1"/>
<reg name="cp1cr18" bitsize="32" regnum="207" group="bank1"/>
<reg name="cp1cr19" bitsize="32" regnum="208" group="bank1"/>
<reg name="cp1cr20" bitsize="32" regnum="209" group="bank1"/>
</feature>
</target>

View File

@ -0,0 +1,152 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r16" bitsize="32" regnum="16" group="gpr"/>
<reg name="r17" bitsize="32" regnum="17" group="gpr"/>
<reg name="r18" bitsize="32" regnum="18" group="gpr"/>
<reg name="r19" bitsize="32" regnum="19" group="gpr"/>
<reg name="r20" bitsize="32" regnum="20" group="gpr"/>
<reg name="r21" bitsize="32" regnum="21" group="gpr"/>
<reg name="r22" bitsize="32" regnum="22" group="gpr"/>
<reg name="r23" bitsize="32" regnum="23" group="gpr"/>
<reg name="r24" bitsize="32" regnum="24" group="gpr"/>
<reg name="r25" bitsize="32" regnum="25" group="gpr"/>
<reg name="r26" bitsize="32" regnum="26" group="gpr"/>
<reg name="r27" bitsize="32" regnum="27" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="r29" bitsize="32" regnum="29" group="gpr"/>
<reg name="r30" bitsize="32" regnum="30" group="gpr"/>
<reg name="r31" bitsize="32" regnum="31" group="gpr"/>
<reg name="hi" bitsize="32" regnum="36"/>
<reg name="lo" bitsize="32" regnum="37"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="AF[1]" start="1" end="1" type="int8"/>
<field name="FE[4]" start="4" end="4" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TE[12]" start="12" end="12" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="fpsr" bitsize="32" regnum="92" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="fpc" bitsize="32" regnum="94" group="cr"/>
<reg name="ss0" bitsize="32" regnum="95" group="cr"/>
<reg name="ss1" bitsize="32" regnum="96" group="cr"/>
<reg name="ss2" bitsize="32" regnum="97" group="cr"/>
<reg name="ss3" bitsize="32" regnum="98" group="cr"/>
<reg name="ss4" bitsize="32" regnum="99" group="cr"/>
<reg name="gcr" bitsize="32" regnum="100" group="cr"/>
<reg name="gsr" bitsize="32" regnum="101" group="cr"/>
<reg name="cr13" bitsize="32" regnum="102" group="cr"/>
<reg name="cr14" bitsize="32" regnum="103" group="cr"/>
<reg name="cr15" bitsize="32" regnum="104" group="cr"/>
<reg name="cr16" bitsize="32" regnum="105" group="cr"/>
<reg name="cr17" bitsize="32" regnum="106" group="cr"/>
<reg name="cr18" bitsize="32" regnum="107" group="cr"/>
<reg name="cr19" bitsize="32" regnum="108" group="cr"/>
<reg name="cr20" bitsize="32" regnum="109" group="cr"/>
<reg name="cr21" bitsize="32" regnum="110" group="cr"/>
<reg name="cr22" bitsize="32" regnum="111" group="cr"/>
<reg name="cr23" bitsize="32" regnum="112" group="cr"/>
<reg name="cr24" bitsize="32" regnum="113" group="cr"/>
<reg name="cr25" bitsize="32" regnum="114" group="cr"/>
<reg name="cr26" bitsize="32" regnum="115" group="cr"/>
<reg name="cr27" bitsize="32" regnum="116" group="cr"/>
<reg name="cr28" bitsize="32" regnum="117" group="cr"/>
<reg name="cr29" bitsize="32" regnum="118" group="cr"/>
<reg name="cr30" bitsize="32" regnum="119" group="cr"/>
<reg name="cr31" bitsize="32" regnum="120" group="cr"/>
</feature>
<feature name="org.gnu.csky.abiv2.fvcr">
<!--usp cr_bank1-->
<reg name="usp" bitsize="32" regnum="127"/>
</feature>
<feature name="org.gnu.csky.abiv2.mmu">
<flags id="ckcpu_mir" size="4">
<field name="Index[9:0]" start="0" end="9" type="int16"/>
<field name="TF[30]" start="30" end="30" type="int8"/>
<field name="P[31]" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mel" size="4">
<field name="V[1]" start="1" end="1" type="int8"/>
<field name="D[2]" start="2" end="2" type="int8"/>
<field name="C[3]" start="3" end="3" type="int8"/>
<field name="SEC[4]" start="4" end="4" type="int8"/>
<field name="SO[5]" start="5" end="5" type="int8"/>
<field name="B[6]" start="6" end="6" type="int8"/>
<field name="PFN[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_meh" size="4">
<field name="ASID[7:0]" start="0" end="7" type="int8"/>
<field name="VPN[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_mpr" size="4">
<field name="PageMask[24:13]" start="13" end="24" type="int16"/>
</flags>
<flags id="ckcpu_mcir" size="4">
<field name="ASID[7:0]" start="0" end="7" type="int8"/>
<field name="TLBINV_ALL[26]" start="26" end="26" type="int8"/>
<field name="TLBINV[27]" start="27" end="27" type="int8"/>
<field name="TLBWR[28]" start="28" end="28" type="int8"/>
<field name="TLBWI[29]" start="29" end="29" type="int8"/>
<field name="TLBR[30]" start="30" end="30" type="int8"/>
<field name="TLBP[31]" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mpgd" size="4">
<field name="HRE[0]" start="0" end="0" type="int8"/>
<field name="PBA[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_msa" size="4">
<field name="V[1]" start="1" end="1" type="int8"/>
<field name="D[2]" start="2" end="2" type="int8"/>
<field name="C[3]" start="3" end="3" type="int8"/>
<field name="SEC[4]" start="4" end="4" type="int8"/>
<field name="SO[5]" start="5" end="5" type="int8"/>
<field name="B[6]" start="6" end="6" type="int8"/>
<field name="BA[31:29]" start="29" end="31" type="int8"/>
</flags>
<reg name="mir" bitsize="32" regnum="128" group="mmu" type="ckcpu_mir"/>
<reg name="mel0" bitsize="32" regnum="129" group="mmu" type="ckcpu_mel"/>
<reg name="mel1" bitsize="32" regnum="130" group="mmu" type="ckcpu_mel"/>
<reg name="meh" bitsize="32" regnum="131" group="mmu" type="ckcpu_meh"/>
<reg name="mpr" bitsize="32" regnum="132" group="mmu" type="ckcpu_mpr"/>
<reg name="mcir" bitsize="32" regnum="133" group="mmu" type="ckcpu_mcir"/>
<reg name="mpgd" bitsize="32" regnum="134" group="mmu" type="ckcpu_mpgd"/>
<reg name="msa0" bitsize="32" regnum="135" group="mmu" type="ckcpu_msa"/>
<reg name="msa1" bitsize="32" regnum="136" group="mmu" type="ckcpu_msa"/>
</feature>
<feature name="org.gnu.csky.abiv2.bank1">
<reg name="cp1cr16" bitsize="32" regnum="205" group="bank1"/>
<reg name="cp1cr17" bitsize="32" regnum="206" group="bank1"/>
<reg name="cp1cr18" bitsize="32" regnum="207" group="bank1"/>
<reg name="cp1cr19" bitsize="32" regnum="208" group="bank1"/>
</feature>
</target>

View File

@ -0,0 +1,180 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r16" bitsize="32" regnum="16" group="gpr"/>
<reg name="r17" bitsize="32" regnum="17" group="gpr"/>
<reg name="r18" bitsize="32" regnum="18" group="gpr"/>
<reg name="r19" bitsize="32" regnum="19" group="gpr"/>
<reg name="r20" bitsize="32" regnum="20" group="gpr"/>
<reg name="r21" bitsize="32" regnum="21" group="gpr"/>
<reg name="r22" bitsize="32" regnum="22" group="gpr"/>
<reg name="r23" bitsize="32" regnum="23" group="gpr"/>
<reg name="r24" bitsize="32" regnum="24" group="gpr"/>
<reg name="r25" bitsize="32" regnum="25" group="gpr"/>
<reg name="r26" bitsize="32" regnum="26" group="gpr"/>
<reg name="r27" bitsize="32" regnum="27" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="r29" bitsize="32" regnum="29" group="gpr"/>
<reg name="r30" bitsize="32" regnum="30" group="gpr"/>
<reg name="r31" bitsize="32" regnum="31" group="gpr"/>
<reg name="hi" bitsize="32" regnum="36"/>
<reg name="lo" bitsize="32" regnum="37"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.fpu">
<union id="float64_union">
<field name="double64" type="ieee_double"/>
<field name="float32" type="ieee_single"/>
<field name="uint64" type="uint64"/>
</union>
<!--float register-->
<reg name="fr0" bitsize="64" regnum="40" type="float64_union" group="fpu"/>
<reg name="fr1" bitsize="64" regnum="41" type="float64_union" group="fpu"/>
<reg name="fr2" bitsize="64" regnum="42" type="float64_union" group="fpu"/>
<reg name="fr3" bitsize="64" regnum="43" type="float64_union" group="fpu"/>
<reg name="fr4" bitsize="64" regnum="44" type="float64_union" group="fpu"/>
<reg name="fr5" bitsize="64" regnum="45" type="float64_union" group="fpu"/>
<reg name="fr6" bitsize="64" regnum="46" type="float64_union" group="fpu"/>
<reg name="fr7" bitsize="64" regnum="47" type="float64_union" group="fpu"/>
<reg name="fr8" bitsize="64" regnum="48" type="float64_union" group="fpu"/>
<reg name="fr9" bitsize="64" regnum="49" type="float64_union" group="fpu"/>
<reg name="fr10" bitsize="64" regnum="50" type="float64_union" group="fpu"/>
<reg name="fr11" bitsize="64" regnum="51" type="float64_union" group="fpu"/>
<reg name="fr12" bitsize="64" regnum="52" type="float64_union" group="fpu"/>
<reg name="fr13" bitsize="64" regnum="53" type="float64_union" group="fpu"/>
<reg name="fr14" bitsize="64" regnum="54" type="float64_union" group="fpu"/>
<reg name="fr15" bitsize="64" regnum="55" type="float64_union" group="fpu"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="AF[1]" start="1" end="1" type="int8"/>
<field name="FE[4]" start="4" end="4" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TE[12]" start="12" end="12" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="fpsr" bitsize="32" regnum="92" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="fpc" bitsize="32" regnum="94" group="cr"/>
<reg name="ss0" bitsize="32" regnum="95" group="cr"/>
<reg name="ss1" bitsize="32" regnum="96" group="cr"/>
<reg name="ss2" bitsize="32" regnum="97" group="cr"/>
<reg name="ss3" bitsize="32" regnum="98" group="cr"/>
<reg name="ss4" bitsize="32" regnum="99" group="cr"/>
<reg name="gcr" bitsize="32" regnum="100" group="cr"/>
<reg name="gsr" bitsize="32" regnum="101" group="cr"/>
<reg name="cr13" bitsize="32" regnum="102" group="cr"/>
<reg name="cr14" bitsize="32" regnum="103" group="cr"/>
<reg name="cr15" bitsize="32" regnum="104" group="cr"/>
<reg name="cr16" bitsize="32" regnum="105" group="cr"/>
<reg name="cr17" bitsize="32" regnum="106" group="cr"/>
<reg name="cr18" bitsize="32" regnum="107" group="cr"/>
<reg name="cr19" bitsize="32" regnum="108" group="cr"/>
<reg name="cr20" bitsize="32" regnum="109" group="cr"/>
<reg name="cr21" bitsize="32" regnum="110" group="cr"/>
<reg name="cr22" bitsize="32" regnum="111" group="cr"/>
<reg name="cr23" bitsize="32" regnum="112" group="cr"/>
<reg name="cr24" bitsize="32" regnum="113" group="cr"/>
<reg name="cr25" bitsize="32" regnum="114" group="cr"/>
<reg name="cr26" bitsize="32" regnum="115" group="cr"/>
<reg name="cr27" bitsize="32" regnum="116" group="cr"/>
<reg name="cr28" bitsize="32" regnum="117" group="cr"/>
<reg name="cr29" bitsize="32" regnum="118" group="cr"/>
<reg name="cr30" bitsize="32" regnum="119" group="cr"/>
<reg name="cr31" bitsize="32" regnum="120" group="cr"/>
</feature>
<feature name="org.gnu.csky.abiv2.fvcr">
<reg name="fcr" bitsize="32" regnum="121" group="fvcr"/>
<reg name="fid" bitsize="32" regnum="122" group="fvcr"/>
<reg name="fesr" bitsize="32" regnum="123" group="fvcr"/>
<!--usp cr_bank1-->
<reg name="usp" bitsize="32" regnum="127"/>
</feature>
<feature name="org.gnu.csky.abiv2.mmu">
<flags id="ckcpu_mir" size="4">
<field name="Index[9:0]" start="0" end="9" type="int16"/>
<field name="TF[30]" start="30" end="30" type="int8"/>
<field name="P[31]" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mel" size="4">
<field name="V[1]" start="1" end="1" type="int8"/>
<field name="D[2]" start="2" end="2" type="int8"/>
<field name="C[3]" start="3" end="3" type="int8"/>
<field name="SEC[4]" start="4" end="4" type="int8"/>
<field name="SO[5]" start="5" end="5" type="int8"/>
<field name="B[6]" start="6" end="6" type="int8"/>
<field name="PFN[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_meh" size="4">
<field name="ASID[7:0]" start="0" end="7" type="int8"/>
<field name="VPN[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_mpr" size="4">
<field name="PageMask[24:13]" start="13" end="24" type="int16"/>
</flags>
<flags id="ckcpu_mcir" size="4">
<field name="ASID[7:0]" start="0" end="7" type="int8"/>
<field name="TLBINV_ALL[26]" start="26" end="26" type="int8"/>
<field name="TLBINV[27]" start="27" end="27" type="int8"/>
<field name="TLBWR[28]" start="28" end="28" type="int8"/>
<field name="TLBWI[29]" start="29" end="29" type="int8"/>
<field name="TLBR[30]" start="30" end="30" type="int8"/>
<field name="TLBP[31]" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mpgd" size="4">
<field name="HRE[0]" start="0" end="0" type="int8"/>
<field name="PBA[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_msa" size="4">
<field name="V[1]" start="1" end="1" type="int8"/>
<field name="D[2]" start="2" end="2" type="int8"/>
<field name="C[3]" start="3" end="3" type="int8"/>
<field name="SEC[4]" start="4" end="4" type="int8"/>
<field name="SO[5]" start="5" end="5" type="int8"/>
<field name="B[6]" start="6" end="6" type="int8"/>
<field name="BA[31:29]" start="29" end="31" type="int8"/>
</flags>
<reg name="mir" bitsize="32" regnum="128" group="mmu" type="ckcpu_mir"/>
<reg name="mel0" bitsize="32" regnum="129" group="mmu" type="ckcpu_mel"/>
<reg name="mel1" bitsize="32" regnum="130" group="mmu" type="ckcpu_mel"/>
<reg name="meh" bitsize="32" regnum="131" group="mmu" type="ckcpu_meh"/>
<reg name="mpr" bitsize="32" regnum="132" group="mmu" type="ckcpu_mpr"/>
<reg name="mcir" bitsize="32" regnum="133" group="mmu" type="ckcpu_mcir"/>
<reg name="mpgd" bitsize="32" regnum="134" group="mmu" type="ckcpu_mpgd"/>
<reg name="msa0" bitsize="32" regnum="135" group="mmu" type="ckcpu_msa"/>
<reg name="msa1" bitsize="32" regnum="136" group="mmu" type="ckcpu_msa"/>
</feature>
<feature name="org.gnu.csky.abiv2.bank1">
<reg name="cp1cr16" bitsize="32" regnum="205" group="bank1"/>
<reg name="cp1cr17" bitsize="32" regnum="206" group="bank1"/>
<reg name="cp1cr18" bitsize="32" regnum="207" group="bank1"/>
<reg name="cp1cr19" bitsize="32" regnum="208" group="bank1"/>
<reg name="cp1cr20" bitsize="32" regnum="209" group="bank1"/>
</feature>
</target>

View File

@ -0,0 +1,239 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r16" bitsize="32" regnum="16" group="gpr"/>
<reg name="r17" bitsize="32" regnum="17" group="gpr"/>
<reg name="r18" bitsize="32" regnum="18" group="gpr"/>
<reg name="r19" bitsize="32" regnum="19" group="gpr"/>
<reg name="r20" bitsize="32" regnum="20" group="gpr"/>
<reg name="r21" bitsize="32" regnum="21" group="gpr"/>
<reg name="r22" bitsize="32" regnum="22" group="gpr"/>
<reg name="r23" bitsize="32" regnum="23" group="gpr"/>
<reg name="r24" bitsize="32" regnum="24" group="gpr"/>
<reg name="r25" bitsize="32" regnum="25" group="gpr"/>
<reg name="r26" bitsize="32" regnum="26" group="gpr"/>
<reg name="r27" bitsize="32" regnum="27" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="r29" bitsize="32" regnum="29" group="gpr"/>
<reg name="r30" bitsize="32" regnum="30" group="gpr"/>
<reg name="r31" bitsize="32" regnum="31" group="gpr"/>
<reg name="hi" bitsize="32" regnum="36"/>
<reg name="lo" bitsize="32" regnum="37"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.fpu">
<union id="float64_union">
<field name="double64" type="ieee_double"/>
<field name="float32" type="ieee_single"/>
<field name="uint64" type="uint64"/>
</union>
<!--float register-->
<reg name="fr0" bitsize="64" regnum="40" type="float64_union" group="fpu"/>
<reg name="fr1" bitsize="64" regnum="41" type="float64_union" group="fpu"/>
<reg name="fr2" bitsize="64" regnum="42" type="float64_union" group="fpu"/>
<reg name="fr3" bitsize="64" regnum="43" type="float64_union" group="fpu"/>
<reg name="fr4" bitsize="64" regnum="44" type="float64_union" group="fpu"/>
<reg name="fr5" bitsize="64" regnum="45" type="float64_union" group="fpu"/>
<reg name="fr6" bitsize="64" regnum="46" type="float64_union" group="fpu"/>
<reg name="fr7" bitsize="64" regnum="47" type="float64_union" group="fpu"/>
<reg name="fr8" bitsize="64" regnum="48" type="float64_union" group="fpu"/>
<reg name="fr9" bitsize="64" regnum="49" type="float64_union" group="fpu"/>
<reg name="fr10" bitsize="64" regnum="50" type="float64_union" group="fpu"/>
<reg name="fr11" bitsize="64" regnum="51" type="float64_union" group="fpu"/>
<reg name="fr12" bitsize="64" regnum="52" type="float64_union" group="fpu"/>
<reg name="fr13" bitsize="64" regnum="53" type="float64_union" group="fpu"/>
<reg name="fr14" bitsize="64" regnum="54" type="float64_union" group="fpu"/>
<reg name="fr15" bitsize="64" regnum="55" type="float64_union" group="fpu"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="AF[1]" start="1" end="1" type="int8"/>
<field name="FE[4]" start="4" end="4" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TE[12]" start="12" end="12" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="SP[29]" start="29" end="29" type="int8"/>
<field name="T[30]" start="30" end="30" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="fpsr" bitsize="32" regnum="92" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="fpc" bitsize="32" regnum="94" group="cr"/>
<reg name="ss0" bitsize="32" regnum="95" group="cr"/>
<reg name="ss1" bitsize="32" regnum="96" group="cr"/>
<reg name="ss2" bitsize="32" regnum="97" group="cr"/>
<reg name="ss3" bitsize="32" regnum="98" group="cr"/>
<reg name="ss4" bitsize="32" regnum="99" group="cr"/>
<reg name="gcr" bitsize="32" regnum="100" group="cr"/>
<reg name="gsr" bitsize="32" regnum="101" group="cr"/>
<reg name="cr13" bitsize="32" regnum="102" group="cr"/>
<reg name="cr14" bitsize="32" regnum="103" group="cr"/>
<reg name="cr15" bitsize="32" regnum="104" group="cr"/>
<reg name="cr16" bitsize="32" regnum="105" group="cr"/>
<reg name="cr17" bitsize="32" regnum="106" group="cr"/>
<reg name="cr18" bitsize="32" regnum="107" group="cr"/>
<reg name="cr19" bitsize="32" regnum="108" group="cr"/>
<reg name="cr20" bitsize="32" regnum="109" group="cr"/>
<reg name="cr21" bitsize="32" regnum="110" group="cr"/>
<reg name="cr22" bitsize="32" regnum="111" group="cr"/>
<reg name="cr23" bitsize="32" regnum="112" group="cr"/>
<reg name="cr24" bitsize="32" regnum="113" group="cr"/>
<reg name="cr25" bitsize="32" regnum="114" group="cr"/>
<reg name="cr26" bitsize="32" regnum="115" group="cr"/>
<reg name="cr27" bitsize="32" regnum="116" group="cr"/>
<reg name="cr28" bitsize="32" regnum="117" group="cr"/>
<reg name="cr29" bitsize="32" regnum="118" group="cr"/>
<reg name="cr30" bitsize="32" regnum="119" group="cr"/>
<reg name="cr31" bitsize="32" regnum="120" group="cr"/>
</feature>
<feature name="org.gnu.csky.abiv2.fvcr">
<reg name="fcr" bitsize="32" regnum="121" group="fvcr"/>
<reg name="fid" bitsize="32" regnum="122" group="fvcr"/>
<reg name="fesr" bitsize="32" regnum="123" group="fvcr"/>
<!--usp cr_bank1-->
<reg name="usp" bitsize="32" regnum="127"/>
</feature>
<feature name="org.gnu.csky.abiv2.mmu">
<flags id="ckcpu_mir" size="4">
<field name="Index[9:0]" start="0" end="9" type="int16"/>
<field name="TF[30]" start="30" end="30" type="int8"/>
<field name="P[31]" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mel" size="4">
<field name="V[1]" start="1" end="1" type="int8"/>
<field name="D[2]" start="2" end="2" type="int8"/>
<field name="C[3]" start="3" end="3" type="int8"/>
<field name="SEC[4]" start="4" end="4" type="int8"/>
<field name="SO[5]" start="5" end="5" type="int8"/>
<field name="B[6]" start="6" end="6" type="int8"/>
<field name="PFN[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_meh" size="4">
<field name="ASID[7:0]" start="0" end="7" type="int8"/>
<field name="VPN[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_mpr" size="4">
<field name="PageMask[24:13]" start="13" end="24" type="int16"/>
</flags>
<flags id="ckcpu_mcir" size="4">
<field name="ASID[7:0]" start="0" end="7" type="int8"/>
<field name="TLBINV_ALL[26]" start="26" end="26" type="int8"/>
<field name="TLBINV[27]" start="27" end="27" type="int8"/>
<field name="TLBWR[28]" start="28" end="28" type="int8"/>
<field name="TLBWI[29]" start="29" end="29" type="int8"/>
<field name="TLBR[30]" start="30" end="30" type="int8"/>
<field name="TLBP[31]" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mpgd" size="4">
<field name="HRE[0]" start="0" end="0" type="int8"/>
<field name="PBA[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_msa" size="4">
<field name="V[1]" start="1" end="1" type="int8"/>
<field name="D[2]" start="2" end="2" type="int8"/>
<field name="C[3]" start="3" end="3" type="int8"/>
<field name="SEC[4]" start="4" end="4" type="int8"/>
<field name="SO[5]" start="5" end="5" type="int8"/>
<field name="B[6]" start="6" end="6" type="int8"/>
<field name="BA[31:29]" start="29" end="31" type="int8"/>
</flags>
<reg name="mir" bitsize="32" regnum="128" group="mmu" type="ckcpu_mir"/>
<reg name="mel0" bitsize="32" regnum="129" group="mmu" type="ckcpu_mel"/>
<reg name="mel1" bitsize="32" regnum="130" group="mmu" type="ckcpu_mel"/>
<reg name="meh" bitsize="32" regnum="131" group="mmu" type="ckcpu_meh"/>
<reg name="mpr" bitsize="32" regnum="132" group="mmu" type="ckcpu_mpr"/>
<reg name="mcir" bitsize="32" regnum="133" group="mmu" type="ckcpu_mcir"/>
<reg name="mpgd" bitsize="32" regnum="134" group="mmu" type="ckcpu_mpgd"/>
<reg name="msa0" bitsize="32" regnum="135" group="mmu" type="ckcpu_msa"/>
<reg name="msa1" bitsize="32" regnum="136" group="mmu" type="ckcpu_msa"/>
</feature>
<feature name="org.gnu.csky.abiv2.bank1">
<reg name="cp1cr16" bitsize="32" regnum="205" group="bank1"/>
<reg name="cp1cr17" bitsize="32" regnum="206" group="bank1"/>
<reg name="cp1cr18" bitsize="32" regnum="207" group="bank1"/>
<reg name="cp1cr19" bitsize="32" regnum="208" group="bank1"/>
<reg name="cp1cr20" bitsize="32" regnum="209" group="bank1"/>
</feature>
<feature name="org.gnu.csky.abiv2.tee">
<reg name="ebr" bitsize="32" regnum="190" group="cr"/>
<reg name="dcr" bitsize="32" regnum="229" group="cr"/>
<reg name="t_wssr" bitsize="32" regnum="221" group="tee"/>
<reg name="t_wrcr" bitsize="32" regnum="222" group="tee"/>
<reg name="t_pcr" bitsize="32" regnum="230" group="tee"/>
</feature>
<feature name="org.gnu.csky.pseudo">
<!--cr tee vs ree-->
<reg name="t_psr" bitsize="32" regs="89" group="tee" type="int32" env="tee"/>
<reg name="t_vbr" bitsize="32" regs="90" group="tee" type="int32" env="tee"/>
<reg name="t_epsr" bitsize="32" regs="91" group="tee" type="int32" env="tee"/>
<reg name="t_fpsr" bitsize="32" regs="92" group="tee" type="int32" env="tee"/>
<reg name="t_fpc" bitsize="32" regs="94" group="tee" type="int32" env="tee"/>
<reg name="t_epc" bitsize="32" regs="93" group="tee" type="int32" env="tee"/>
<reg name="t_ebr" bitsize="32" regs="190" group="tee" type="int32" env="tee"/>
<reg name="t_dcr" bitsize="32" regs="229" group="tee" type="int32" env="tee"/>
<reg name="t_usp" bitsize="32" regs="127" group="tee" type="int32" env="tee"/>
<reg name="nt_psr" bitsize="32" regs="89" group="ree" type="int32" env="ree"/>
<reg name="nt_vbr" bitsize="32" regs="90" group="ree" type="int32" env="ree"/>
<reg name="nt_epsr" bitsize="32" regs="91" group="ree" type="int32" env="ree"/>
<reg name="nt_fpsr" bitsize="32" regs="92" group="ree" type="int32" env="ree"/>
<reg name="nt_fpc" bitsize="32" regs="94" group="ree" type="int32" env="ree"/>
<reg name="nt_epc" bitsize="32" regs="93" group="ree" type="int32" env="ree"/>
<reg name="nt_ebr" bitsize="32" regs="190" group="ree" type="int32" env="ree"/>
<reg name="nt_dcr" bitsize="32" regs="229" group="ree" type="int32" env="ree"/>
<reg name="nt_usp" bitsize="32" regs="127" group="ree" type="int32" env="ree"/>
<!--cache tee vs ree-->
<reg name="t_cfr" bitsize="32" regs="106" group="tee" type="int32" env="tee"/>
<reg name="t_ccr" bitsize="32" regs="107" group="tee" type="int32" env="tee"/>
<reg name="t_cir" bitsize="32" regs="111" group="tee" type="int32" env="tee"/>
<reg name="t_ccr2" bitsize="32" regs="112" group="tee" type="int32" env="tee"/>
<reg name="t_cfr2" bitsize="32" regs="113" group="tee" type="int32" env="tee"/>
<reg name="t_hint" bitsize="32" regs="120" group="tee" type="int32" env="tee"/>
<reg name="nt_cfr" bitsize="32" regs="106" group="ree" type="int32" env="ree"/>
<reg name="nt_ccr" bitsize="32" regs="107" group="ree" type="int32" env="ree"/>
<reg name="nt_cir" bitsize="32" regs="111" group="ree" type="int32" env="ree"/>
<reg name="nt_cfr2" bitsize="32" regs="113" group="ree" type="int32" env="ree"/>
<reg name="nt_hint" bitsize="32" regs="120" group="ree" type="int32" env="ree"/>
<!--mmu tee vs ree-->
<reg name="t_mir" bitsize="32" regs="128" group="tee" type="int32" env="tee"/>
<reg name="t_mel0" bitsize="32" regs="129" group="tee" type="int32" env="tee"/>
<reg name="t_mel1" bitsize="32" regs="130" group="tee" type="int32" env="tee"/>
<reg name="t_meh" bitsize="32" regs="131" group="tee" type="int32" env="tee"/>
<reg name="t_mpr" bitsize="32" regs="132" group="tee" type="int32" env="tee"/>
<reg name="t_mcir" bitsize="32" regs="133" group="tee" type="int32" env="tee"/>
<reg name="t_msa0" bitsize="32" regs="135" group="tee" type="int32" env="tee"/>
<reg name="t_msa1" bitsize="32" regs="136" group="tee" type="int32" env="tee"/>
<reg name="nt_mir" bitsize="32" regs="128" group="ree" type="int32" env="ree"/>
<reg name="nt_mel0" bitsize="32" regs="129" group="ree" type="int32" env="ree"/>
<reg name="nt_mel1" bitsize="32" regs="130" group="ree" type="int32" env="ree"/>
<reg name="nt_meh" bitsize="32" regs="131" group="ree" type="int32" env="ree"/>
<reg name="nt_mpr" bitsize="32" regs="132" group="ree" type="int32" env="ree"/>
<reg name="nt_mcir" bitsize="32" regs="133" group="ree" type="int32" env="ree"/>
<reg name="nt_msa0" bitsize="32" regs="135" group="ree" type="int32" env="ree"/>
<reg name="nt_msa1" bitsize="32" regs="136" group="ree" type="int32" env="ree"/>
</feature>
</target>

View File

@ -0,0 +1,271 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r16" bitsize="32" regnum="16" group="gpr"/>
<reg name="r17" bitsize="32" regnum="17" group="gpr"/>
<reg name="r18" bitsize="32" regnum="18" group="gpr"/>
<reg name="r19" bitsize="32" regnum="19" group="gpr"/>
<reg name="r20" bitsize="32" regnum="20" group="gpr"/>
<reg name="r21" bitsize="32" regnum="21" group="gpr"/>
<reg name="r22" bitsize="32" regnum="22" group="gpr"/>
<reg name="r23" bitsize="32" regnum="23" group="gpr"/>
<reg name="r24" bitsize="32" regnum="24" group="gpr"/>
<reg name="r25" bitsize="32" regnum="25" group="gpr"/>
<reg name="r26" bitsize="32" regnum="26" group="gpr"/>
<reg name="r27" bitsize="32" regnum="27" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="r29" bitsize="32" regnum="29" group="gpr"/>
<reg name="r30" bitsize="32" regnum="30" group="gpr"/>
<reg name="r31" bitsize="32" regnum="31" group="gpr"/>
<reg name="hi" bitsize="32" regnum="36"/>
<reg name="lo" bitsize="32" regnum="37"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.fpu">
<vector id="v4f" type="ieee_single" count="4"/>
<vector id="v2d" type="ieee_double" count="2"/>
<vector id="v16i8" type="int8" count="16"/>
<vector id="v8i16" type="int16" count="8"/>
<vector id="v4i32" type="int32" count="4"/>
<vector id="v2i64" type="int64" count="2"/>
<union id="vec128">
<field name="v4_float" type="v4f"/>
<field name="v2_double" type="v2d"/>
<field name="v16_int8" type="v16i8"/>
<field name="v8_int16" type="v8i16"/>
<field name="v4_int32" type="v4i32"/>
<field name="v2_int64" type="v2i64"/>
<field name="uint128" type="uint128"/>
</union>
<union id="float64_union">
<field name="double64" type="ieee_double"/>
<field name="float32" type="ieee_single"/>
<field name="uint64" type="uint64"/>
</union>
<!--float register-->
<reg name="fr0" bitsize="64" regnum="40" type="float64_union" group="fpu"/>
<reg name="fr1" bitsize="64" regnum="41" type="float64_union" group="fpu"/>
<reg name="fr2" bitsize="64" regnum="42" type="float64_union" group="fpu"/>
<reg name="fr3" bitsize="64" regnum="43" type="float64_union" group="fpu"/>
<reg name="fr4" bitsize="64" regnum="44" type="float64_union" group="fpu"/>
<reg name="fr5" bitsize="64" regnum="45" type="float64_union" group="fpu"/>
<reg name="fr6" bitsize="64" regnum="46" type="float64_union" group="fpu"/>
<reg name="fr7" bitsize="64" regnum="47" type="float64_union" group="fpu"/>
<reg name="fr8" bitsize="64" regnum="48" type="float64_union" group="fpu"/>
<reg name="fr9" bitsize="64" regnum="49" type="float64_union" group="fpu"/>
<reg name="fr10" bitsize="64" regnum="50" type="float64_union" group="fpu"/>
<reg name="fr11" bitsize="64" regnum="51" type="float64_union" group="fpu"/>
<reg name="fr12" bitsize="64" regnum="52" type="float64_union" group="fpu"/>
<reg name="fr13" bitsize="64" regnum="53" type="float64_union" group="fpu"/>
<reg name="fr14" bitsize="64" regnum="54" type="float64_union" group="fpu"/>
<reg name="fr15" bitsize="64" regnum="55" type="float64_union" group="fpu"/>
<!--vector register-->
<reg name="vr0" bitsize="128" regnum="56" type="vec128" group="vpu"/>
<reg name="vr1" bitsize="128" regnum="57" type="vec128" group="vpu"/>
<reg name="vr2" bitsize="128" regnum="58" type="vec128" group="vpu"/>
<reg name="vr3" bitsize="128" regnum="59" type="vec128" group="vpu"/>
<reg name="vr4" bitsize="128" regnum="60" type="vec128" group="vpu"/>
<reg name="vr5" bitsize="128" regnum="61" type="vec128" group="vpu"/>
<reg name="vr6" bitsize="128" regnum="62" type="vec128" group="vpu"/>
<reg name="vr7" bitsize="128" regnum="63" type="vec128" group="vpu"/>
<reg name="vr8" bitsize="128" regnum="64" type="vec128" group="vpu"/>
<reg name="vr9" bitsize="128" regnum="65" type="vec128" group="vpu"/>
<reg name="vr10" bitsize="128" regnum="66" type="vec128" group="vpu"/>
<reg name="vr11" bitsize="128" regnum="67" type="vec128" group="vpu"/>
<reg name="vr12" bitsize="128" regnum="68" type="vec128" group="vpu"/>
<reg name="vr13" bitsize="128" regnum="69" type="vec128" group="vpu"/>
<reg name="vr14" bitsize="128" regnum="70" type="vec128" group="vpu"/>
<reg name="vr15" bitsize="128" regnum="71" type="vec128" group="vpu"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="AF[1]" start="1" end="1" type="int8"/>
<field name="FE[4]" start="4" end="4" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TE[12]" start="12" end="12" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="SP[29]" start="29" end="29" type="int8"/>
<field name="T[30]" start="30" end="30" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="fpsr" bitsize="32" regnum="92" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="fpc" bitsize="32" regnum="94" group="cr"/>
<reg name="ss0" bitsize="32" regnum="95" group="cr"/>
<reg name="ss1" bitsize="32" regnum="96" group="cr"/>
<reg name="ss2" bitsize="32" regnum="97" group="cr"/>
<reg name="ss3" bitsize="32" regnum="98" group="cr"/>
<reg name="ss4" bitsize="32" regnum="99" group="cr"/>
<reg name="gcr" bitsize="32" regnum="100" group="cr"/>
<reg name="gsr" bitsize="32" regnum="101" group="cr"/>
<reg name="cr13" bitsize="32" regnum="102" group="cr"/>
<reg name="cr14" bitsize="32" regnum="103" group="cr"/>
<reg name="cr15" bitsize="32" regnum="104" group="cr"/>
<reg name="cr16" bitsize="32" regnum="105" group="cr"/>
<reg name="cr17" bitsize="32" regnum="106" group="cr"/>
<reg name="cr18" bitsize="32" regnum="107" group="cr"/>
<reg name="cr19" bitsize="32" regnum="108" group="cr"/>
<reg name="cr20" bitsize="32" regnum="109" group="cr"/>
<reg name="cr21" bitsize="32" regnum="110" group="cr"/>
<reg name="cr22" bitsize="32" regnum="111" group="cr"/>
<reg name="cr23" bitsize="32" regnum="112" group="cr"/>
<reg name="cr24" bitsize="32" regnum="113" group="cr"/>
<reg name="cr25" bitsize="32" regnum="114" group="cr"/>
<reg name="cr26" bitsize="32" regnum="115" group="cr"/>
<reg name="cr27" bitsize="32" regnum="116" group="cr"/>
<reg name="cr28" bitsize="32" regnum="117" group="cr"/>
<reg name="cr29" bitsize="32" regnum="118" group="cr"/>
<reg name="cr30" bitsize="32" regnum="119" group="cr"/>
<reg name="cr31" bitsize="32" regnum="120" group="cr"/>
</feature>
<feature name="org.gnu.csky.abiv2.fvcr">
<reg name="fcr" bitsize="32" regnum="121" group="fvcr"/>
<reg name="fid" bitsize="32" regnum="122" group="fvcr"/>
<reg name="fesr" bitsize="32" regnum="123" group="fvcr"/>
<!--usp cr_bank1-->
<reg name="usp" bitsize="32" regnum="127"/>
</feature>
<feature name="org.gnu.csky.abiv2.mmu">
<flags id="ckcpu_mir" size="4">
<field name="Index[9:0]" start="0" end="9" type="int16"/>
<field name="TF[30]" start="30" end="30" type="int8"/>
<field name="P[31]" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mel" size="4">
<field name="V[1]" start="1" end="1" type="int8"/>
<field name="D[2]" start="2" end="2" type="int8"/>
<field name="C[3]" start="3" end="3" type="int8"/>
<field name="SEC[4]" start="4" end="4" type="int8"/>
<field name="SO[5]" start="5" end="5" type="int8"/>
<field name="B[6]" start="6" end="6" type="int8"/>
<field name="PFN[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_meh" size="4">
<field name="ASID[7:0]" start="0" end="7" type="int8"/>
<field name="VPN[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_mpr" size="4">
<field name="PageMask[24:13]" start="13" end="24" type="int16"/>
</flags>
<flags id="ckcpu_mcir" size="4">
<field name="ASID[7:0]" start="0" end="7" type="int8"/>
<field name="TLBINV_ALL[26]" start="26" end="26" type="int8"/>
<field name="TLBINV[27]" start="27" end="27" type="int8"/>
<field name="TLBWR[28]" start="28" end="28" type="int8"/>
<field name="TLBWI[29]" start="29" end="29" type="int8"/>
<field name="TLBR[30]" start="30" end="30" type="int8"/>
<field name="TLBP[31]" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mpgd" size="4">
<field name="HRE[0]" start="0" end="0" type="int8"/>
<field name="PBA[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_msa" size="4">
<field name="V[1]" start="1" end="1" type="int8"/>
<field name="D[2]" start="2" end="2" type="int8"/>
<field name="C[3]" start="3" end="3" type="int8"/>
<field name="SEC[4]" start="4" end="4" type="int8"/>
<field name="SO[5]" start="5" end="5" type="int8"/>
<field name="B[6]" start="6" end="6" type="int8"/>
<field name="BA[31:29]" start="29" end="31" type="int8"/>
</flags>
<reg name="mir" bitsize="32" regnum="128" group="mmu" type="ckcpu_mir"/>
<reg name="mel0" bitsize="32" regnum="129" group="mmu" type="ckcpu_mel"/>
<reg name="mel1" bitsize="32" regnum="130" group="mmu" type="ckcpu_mel"/>
<reg name="meh" bitsize="32" regnum="131" group="mmu" type="ckcpu_meh"/>
<reg name="mpr" bitsize="32" regnum="132" group="mmu" type="ckcpu_mpr"/>
<reg name="mcir" bitsize="32" regnum="133" group="mmu" type="ckcpu_mcir"/>
<reg name="mpgd" bitsize="32" regnum="134" group="mmu" type="ckcpu_mpgd"/>
<reg name="msa0" bitsize="32" regnum="135" group="mmu" type="ckcpu_msa"/>
<reg name="msa1" bitsize="32" regnum="136" group="mmu" type="ckcpu_msa"/>
</feature>
<feature name="org.gnu.csky.abiv2.bank1">
<reg name="cp1cr16" bitsize="32" regnum="205" group="bank1"/>
<reg name="cp1cr17" bitsize="32" regnum="206" group="bank1"/>
<reg name="cp1cr18" bitsize="32" regnum="207" group="bank1"/>
<reg name="cp1cr19" bitsize="32" regnum="208" group="bank1"/>
<reg name="cp1cr20" bitsize="32" regnum="209" group="bank1"/>
</feature>
<feature name="org.gnu.csky.abiv2.tee">
<reg name="ebr" bitsize="32" regnum="190" group="cr"/>
<reg name="dcr" bitsize="32" regnum="229" group="cr"/>
<reg name="t_wssr" bitsize="32" regnum="221" group="tee"/>
<reg name="t_wrcr" bitsize="32" regnum="222" group="tee"/>
<reg name="t_pcr" bitsize="32" regnum="230" group="tee"/>
</feature>
<feature name="org.gnu.csky.pseudo">
<!--cr tee vs ree-->
<reg name="t_psr" bitsize="32" regs="89" group="tee" type="int32" env="tee"/>
<reg name="t_vbr" bitsize="32" regs="90" group="tee" type="int32" env="tee"/>
<reg name="t_epsr" bitsize="32" regs="91" group="tee" type="int32" env="tee"/>
<reg name="t_fpsr" bitsize="32" regs="92" group="tee" type="int32" env="tee"/>
<reg name="t_fpc" bitsize="32" regs="94" group="tee" type="int32" env="tee"/>
<reg name="t_epc" bitsize="32" regs="93" group="tee" type="int32" env="tee"/>
<reg name="t_ebr" bitsize="32" regs="190" group="tee" type="int32" env="tee"/>
<reg name="t_dcr" bitsize="32" regs="229" group="tee" type="int32" env="tee"/>
<reg name="t_usp" bitsize="32" regs="127" group="tee" type="int32" env="tee"/>
<reg name="nt_psr" bitsize="32" regs="89" group="ree" type="int32" env="ree"/>
<reg name="nt_vbr" bitsize="32" regs="90" group="ree" type="int32" env="ree"/>
<reg name="nt_epsr" bitsize="32" regs="91" group="ree" type="int32" env="ree"/>
<reg name="nt_fpsr" bitsize="32" regs="92" group="ree" type="int32" env="ree"/>
<reg name="nt_fpc" bitsize="32" regs="94" group="ree" type="int32" env="ree"/>
<reg name="nt_epc" bitsize="32" regs="93" group="ree" type="int32" env="ree"/>
<reg name="nt_ebr" bitsize="32" regs="190" group="ree" type="int32" env="ree"/>
<reg name="nt_dcr" bitsize="32" regs="229" group="ree" type="int32" env="ree"/>
<reg name="nt_usp" bitsize="32" regs="127" group="ree" type="int32" env="ree"/>
<!--cache tee vs ree-->
<reg name="t_cfr" bitsize="32" regs="106" group="tee" type="int32" env="tee"/>
<reg name="t_ccr" bitsize="32" regs="107" group="tee" type="int32" env="tee"/>
<reg name="t_cir" bitsize="32" regs="111" group="tee" type="int32" env="tee"/>
<reg name="t_ccr2" bitsize="32" regs="112" group="tee" type="int32" env="tee"/>
<reg name="t_cfr2" bitsize="32" regs="113" group="tee" type="int32" env="tee"/>
<reg name="t_hint" bitsize="32" regs="120" group="tee" type="int32" env="tee"/>
<reg name="nt_cfr" bitsize="32" regs="106" group="ree" type="int32" env="ree"/>
<reg name="nt_ccr" bitsize="32" regs="107" group="ree" type="int32" env="ree"/>
<reg name="nt_cir" bitsize="32" regs="111" group="ree" type="int32" env="ree"/>
<reg name="nt_cfr2" bitsize="32" regs="113" group="ree" type="int32" env="ree"/>
<reg name="nt_hint" bitsize="32" regs="120" group="ree" type="int32" env="ree"/>
<!--mmu tee vs ree-->
<reg name="t_mir" bitsize="32" regs="128" group="tee" type="int32" env="tee"/>
<reg name="t_mel0" bitsize="32" regs="129" group="tee" type="int32" env="tee"/>
<reg name="t_mel1" bitsize="32" regs="130" group="tee" type="int32" env="tee"/>
<reg name="t_meh" bitsize="32" regs="131" group="tee" type="int32" env="tee"/>
<reg name="t_mpr" bitsize="32" regs="132" group="tee" type="int32" env="tee"/>
<reg name="t_mcir" bitsize="32" regs="133" group="tee" type="int32" env="tee"/>
<reg name="t_msa0" bitsize="32" regs="135" group="tee" type="int32" env="tee"/>
<reg name="t_msa1" bitsize="32" regs="136" group="tee" type="int32" env="tee"/>
<reg name="nt_mir" bitsize="32" regs="128" group="ree" type="int32" env="ree"/>
<reg name="nt_mel0" bitsize="32" regs="129" group="ree" type="int32" env="ree"/>
<reg name="nt_mel1" bitsize="32" regs="130" group="ree" type="int32" env="ree"/>
<reg name="nt_meh" bitsize="32" regs="131" group="ree" type="int32" env="ree"/>
<reg name="nt_mpr" bitsize="32" regs="132" group="ree" type="int32" env="ree"/>
<reg name="nt_mcir" bitsize="32" regs="133" group="ree" type="int32" env="ree"/>
<reg name="nt_msa0" bitsize="32" regs="135" group="ree" type="int32" env="ree"/>
<reg name="nt_msa1" bitsize="32" regs="136" group="ree" type="int32" env="ree"/>
</feature>
</target>

View File

@ -0,0 +1,212 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r16" bitsize="32" regnum="16" group="gpr"/>
<reg name="r17" bitsize="32" regnum="17" group="gpr"/>
<reg name="r18" bitsize="32" regnum="18" group="gpr"/>
<reg name="r19" bitsize="32" regnum="19" group="gpr"/>
<reg name="r20" bitsize="32" regnum="20" group="gpr"/>
<reg name="r21" bitsize="32" regnum="21" group="gpr"/>
<reg name="r22" bitsize="32" regnum="22" group="gpr"/>
<reg name="r23" bitsize="32" regnum="23" group="gpr"/>
<reg name="r24" bitsize="32" regnum="24" group="gpr"/>
<reg name="r25" bitsize="32" regnum="25" group="gpr"/>
<reg name="r26" bitsize="32" regnum="26" group="gpr"/>
<reg name="r27" bitsize="32" regnum="27" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="r29" bitsize="32" regnum="29" group="gpr"/>
<reg name="r30" bitsize="32" regnum="30" group="gpr"/>
<reg name="r31" bitsize="32" regnum="31" group="gpr"/>
<reg name="hi" bitsize="32" regnum="36"/>
<reg name="lo" bitsize="32" regnum="37"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.fpu">
<vector id="v4f" type="ieee_single" count="4"/>
<vector id="v2d" type="ieee_double" count="2"/>
<vector id="v16i8" type="int8" count="16"/>
<vector id="v8i16" type="int16" count="8"/>
<vector id="v4i32" type="int32" count="4"/>
<vector id="v2i64" type="int64" count="2"/>
<union id="vec128">
<field name="v4_float" type="v4f"/>
<field name="v2_double" type="v2d"/>
<field name="v16_int8" type="v16i8"/>
<field name="v8_int16" type="v8i16"/>
<field name="v4_int32" type="v4i32"/>
<field name="v2_int64" type="v2i64"/>
<field name="uint128" type="uint128"/>
</union>
<union id="float64_union">
<field name="double64" type="ieee_double"/>
<field name="float32" type="ieee_single"/>
<field name="uint64" type="uint64"/>
</union>
<!--float register-->
<reg name="fr0" bitsize="64" regnum="40" type="float64_union" group="fpu"/>
<reg name="fr1" bitsize="64" regnum="41" type="float64_union" group="fpu"/>
<reg name="fr2" bitsize="64" regnum="42" type="float64_union" group="fpu"/>
<reg name="fr3" bitsize="64" regnum="43" type="float64_union" group="fpu"/>
<reg name="fr4" bitsize="64" regnum="44" type="float64_union" group="fpu"/>
<reg name="fr5" bitsize="64" regnum="45" type="float64_union" group="fpu"/>
<reg name="fr6" bitsize="64" regnum="46" type="float64_union" group="fpu"/>
<reg name="fr7" bitsize="64" regnum="47" type="float64_union" group="fpu"/>
<reg name="fr8" bitsize="64" regnum="48" type="float64_union" group="fpu"/>
<reg name="fr9" bitsize="64" regnum="49" type="float64_union" group="fpu"/>
<reg name="fr10" bitsize="64" regnum="50" type="float64_union" group="fpu"/>
<reg name="fr11" bitsize="64" regnum="51" type="float64_union" group="fpu"/>
<reg name="fr12" bitsize="64" regnum="52" type="float64_union" group="fpu"/>
<reg name="fr13" bitsize="64" regnum="53" type="float64_union" group="fpu"/>
<reg name="fr14" bitsize="64" regnum="54" type="float64_union" group="fpu"/>
<reg name="fr15" bitsize="64" regnum="55" type="float64_union" group="fpu"/>
<!--vector register-->
<reg name="vr0" bitsize="128" regnum="56" group="vpu" type="vec128"/>
<reg name="vr1" bitsize="128" regnum="57" group="vpu" type="vec128"/>
<reg name="vr2" bitsize="128" regnum="58" group="vpu" type="vec128"/>
<reg name="vr3" bitsize="128" regnum="59" group="vpu" type="vec128"/>
<reg name="vr4" bitsize="128" regnum="60" group="vpu" type="vec128"/>
<reg name="vr5" bitsize="128" regnum="61" group="vpu" type="vec128"/>
<reg name="vr6" bitsize="128" regnum="62" group="vpu" type="vec128"/>
<reg name="vr7" bitsize="128" regnum="63" group="vpu" type="vec128"/>
<reg name="vr8" bitsize="128" regnum="64" group="vpu" type="vec128"/>
<reg name="vr9" bitsize="128" regnum="65" group="vpu" type="vec128"/>
<reg name="vr10" bitsize="128" regnum="66" group="vpu" type="vec128"/>
<reg name="vr11" bitsize="128" regnum="67" group="vpu" type="vec128"/>
<reg name="vr12" bitsize="128" regnum="68" group="vpu" type="vec128"/>
<reg name="vr13" bitsize="128" regnum="69" group="vpu" type="vec128"/>
<reg name="vr14" bitsize="128" regnum="70" group="vpu" type="vec128"/>
<reg name="vr15" bitsize="128" regnum="71" group="vpu" type="vec128"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="AF[1]" start="1" end="1" type="int8"/>
<field name="FE[4]" start="4" end="4" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TE[12]" start="12" end="12" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="fpsr" bitsize="32" regnum="92" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="fpc" bitsize="32" regnum="94" group="cr"/>
<reg name="ss0" bitsize="32" regnum="95" group="cr"/>
<reg name="ss1" bitsize="32" regnum="96" group="cr"/>
<reg name="ss2" bitsize="32" regnum="97" group="cr"/>
<reg name="ss3" bitsize="32" regnum="98" group="cr"/>
<reg name="ss4" bitsize="32" regnum="99" group="cr"/>
<reg name="gcr" bitsize="32" regnum="100" group="cr"/>
<reg name="gsr" bitsize="32" regnum="101" group="cr"/>
<reg name="cr13" bitsize="32" regnum="102" group="cr"/>
<reg name="cr14" bitsize="32" regnum="103" group="cr"/>
<reg name="cr15" bitsize="32" regnum="104" group="cr"/>
<reg name="cr16" bitsize="32" regnum="105" group="cr"/>
<reg name="cr17" bitsize="32" regnum="106" group="cr"/>
<reg name="cr18" bitsize="32" regnum="107" group="cr"/>
<reg name="cr19" bitsize="32" regnum="108" group="cr"/>
<reg name="cr20" bitsize="32" regnum="109" group="cr"/>
<reg name="cr21" bitsize="32" regnum="110" group="cr"/>
<reg name="cr22" bitsize="32" regnum="111" group="cr"/>
<reg name="cr23" bitsize="32" regnum="112" group="cr"/>
<reg name="cr24" bitsize="32" regnum="113" group="cr"/>
<reg name="cr25" bitsize="32" regnum="114" group="cr"/>
<reg name="cr26" bitsize="32" regnum="115" group="cr"/>
<reg name="cr27" bitsize="32" regnum="116" group="cr"/>
<reg name="cr28" bitsize="32" regnum="117" group="cr"/>
<reg name="cr29" bitsize="32" regnum="118" group="cr"/>
<reg name="cr30" bitsize="32" regnum="119" group="cr"/>
<reg name="cr31" bitsize="32" regnum="120" group="cr"/>
</feature>
<feature name="org.gnu.csky.abiv2.fvcr">
<reg name="fcr" bitsize="32" regnum="121" group="fvcr"/>
<reg name="fid" bitsize="32" regnum="122" group="fvcr"/>
<reg name="fesr" bitsize="32" regnum="123" group="fvcr"/>
<!--usp cr_bank1-->
<reg name="usp" bitsize="32" regnum="127"/>
</feature>
<feature name="org.gnu.csky.abiv2.mmu">
<flags id="ckcpu_mir" size="4">
<field name="Index[9:0]" start="0" end="9" type="int16"/>
<field name="TF[30]" start="30" end="30" type="int8"/>
<field name="P[31]" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mel" size="4">
<field name="V[1]" start="1" end="1" type="int8"/>
<field name="D[2]" start="2" end="2" type="int8"/>
<field name="C[3]" start="3" end="3" type="int8"/>
<field name="SEC[4]" start="4" end="4" type="int8"/>
<field name="SO[5]" start="5" end="5" type="int8"/>
<field name="B[6]" start="6" end="6" type="int8"/>
<field name="PFN[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_meh" size="4">
<field name="ASID[7:0]" start="0" end="7" type="int8"/>
<field name="VPN[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_mpr" size="4">
<field name="PageMask[24:13]" start="13" end="24" type="int16"/>
</flags>
<flags id="ckcpu_mcir" size="4">
<field name="ASID[7:0]" start="0" end="7" type="int8"/>
<field name="TLBINV_ALL[26]" start="26" end="26" type="int8"/>
<field name="TLBINV[27]" start="27" end="27" type="int8"/>
<field name="TLBWR[28]" start="28" end="28" type="int8"/>
<field name="TLBWI[29]" start="29" end="29" type="int8"/>
<field name="TLBR[30]" start="30" end="30" type="int8"/>
<field name="TLBP[31]" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mpgd" size="4">
<field name="HRE[0]" start="0" end="0" type="int8"/>
<field name="PBA[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_msa" size="4">
<field name="V[1]" start="1" end="1" type="int8"/>
<field name="D[2]" start="2" end="2" type="int8"/>
<field name="C[3]" start="3" end="3" type="int8"/>
<field name="SEC[4]" start="4" end="4" type="int8"/>
<field name="SO[5]" start="5" end="5" type="int8"/>
<field name="B[6]" start="6" end="6" type="int8"/>
<field name="BA[31:29]" start="29" end="31" type="int8"/>
</flags>
<reg name="mir" bitsize="32" regnum="128" group="mmu" type="ckcpu_mir"/>
<reg name="mel0" bitsize="32" regnum="129" group="mmu" type="ckcpu_mel"/>
<reg name="mel1" bitsize="32" regnum="130" group="mmu" type="ckcpu_mel"/>
<reg name="meh" bitsize="32" regnum="131" group="mmu" type="ckcpu_meh"/>
<reg name="mpr" bitsize="32" regnum="132" group="mmu" type="ckcpu_mpr"/>
<reg name="mcir" bitsize="32" regnum="133" group="mmu" type="ckcpu_mcir"/>
<reg name="mpgd" bitsize="32" regnum="134" group="mmu" type="ckcpu_mpgd"/>
<reg name="msa0" bitsize="32" regnum="135" group="mmu" type="ckcpu_msa"/>
<reg name="msa1" bitsize="32" regnum="136" group="mmu" type="ckcpu_msa"/>
</feature>
<feature name="org.gnu.csky.abiv2.bank1">
<reg name="cp1cr16" bitsize="32" regnum="205" group="bank1"/>
<reg name="cp1cr17" bitsize="32" regnum="206" group="bank1"/>
<reg name="cp1cr18" bitsize="32" regnum="207" group="bank1"/>
<reg name="cp1cr19" bitsize="32" regnum="208" group="bank1"/>
<reg name="cp1cr20" bitsize="32" regnum="209" group="bank1"/>
</feature>
</target>

View File

@ -0,0 +1,208 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r16" bitsize="32" regnum="16" group="gpr"/>
<reg name="r17" bitsize="32" regnum="17" group="gpr"/>
<reg name="r18" bitsize="32" regnum="18" group="gpr"/>
<reg name="r19" bitsize="32" regnum="19" group="gpr"/>
<reg name="r20" bitsize="32" regnum="20" group="gpr"/>
<reg name="r21" bitsize="32" regnum="21" group="gpr"/>
<reg name="r22" bitsize="32" regnum="22" group="gpr"/>
<reg name="r23" bitsize="32" regnum="23" group="gpr"/>
<reg name="r24" bitsize="32" regnum="24" group="gpr"/>
<reg name="r25" bitsize="32" regnum="25" group="gpr"/>
<reg name="r26" bitsize="32" regnum="26" group="gpr"/>
<reg name="r27" bitsize="32" regnum="27" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="r29" bitsize="32" regnum="29" group="gpr"/>
<reg name="r30" bitsize="32" regnum="30" group="gpr"/>
<reg name="r31" bitsize="32" regnum="31" group="gpr"/>
<reg name="hi" bitsize="32" regnum="36"/>
<reg name="lo" bitsize="32" regnum="37"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="AF[1]" start="1" end="1" type="int8"/>
<field name="FE[4]" start="4" end="4" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TE[12]" start="12" end="12" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="fpsr" bitsize="32" regnum="92" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="fpc" bitsize="32" regnum="94" group="cr"/>
<reg name="ss0" bitsize="32" regnum="95" group="cr"/>
<reg name="ss1" bitsize="32" regnum="96" group="cr"/>
<reg name="ss2" bitsize="32" regnum="97" group="cr"/>
<reg name="ss3" bitsize="32" regnum="98" group="cr"/>
<reg name="ss4" bitsize="32" regnum="99" group="cr"/>
<reg name="gcr" bitsize="32" regnum="100" group="cr"/>
<reg name="gsr" bitsize="32" regnum="101" group="cr"/>
<reg name="cr13" bitsize="32" regnum="102" group="cr"/>
<reg name="cr14" bitsize="32" regnum="103" group="cr"/>
<reg name="cr15" bitsize="32" regnum="104" group="cr"/>
<reg name="cr16" bitsize="32" regnum="105" group="cr"/>
<reg name="cr17" bitsize="32" regnum="106" group="cr"/>
<reg name="cr18" bitsize="32" regnum="107" group="cr"/>
<reg name="cr19" bitsize="32" regnum="108" group="cr"/>
<reg name="cr20" bitsize="32" regnum="109" group="cr"/>
<reg name="cr21" bitsize="32" regnum="110" group="cr"/>
<reg name="cr22" bitsize="32" regnum="111" group="cr"/>
<reg name="cr23" bitsize="32" regnum="112" group="cr"/>
<reg name="cr24" bitsize="32" regnum="113" group="cr"/>
<reg name="cr25" bitsize="32" regnum="114" group="cr"/>
<reg name="cr26" bitsize="32" regnum="115" group="cr"/>
<reg name="cr27" bitsize="32" regnum="116" group="cr"/>
<reg name="cr28" bitsize="32" regnum="117" group="cr"/>
<reg name="cr29" bitsize="32" regnum="118" group="cr"/>
<reg name="cr30" bitsize="32" regnum="119" group="cr"/>
<reg name="cr31" bitsize="32" regnum="120" group="cr"/>
</feature>
<feature name="org.gnu.csky.abiv2.fvcr">
<reg name="fcr" bitsize="32" regnum="121" group="fvcr"/>
<reg name="fid" bitsize="32" regnum="122" group="fvcr"/>
<reg name="fesr" bitsize="32" regnum="123" group="fvcr"/>
<!--usp cr_bank1-->
<reg name="usp" bitsize="32" regnum="127"/>
</feature>
<feature name="org.gnu.csky.abiv2.mmu">
<flags id="ckcpu_mir" size="4">
<field name="Index[9:0]" start="0" end="9" type="int16"/>
<field name="TF[30]" start="30" end="30" type="int8"/>
<field name="P[31]" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mel" size="4">
<field name="V[1]" start="1" end="1" type="int8"/>
<field name="D[2]" start="2" end="2" type="int8"/>
<field name="C[3]" start="3" end="3" type="int8"/>
<field name="SEC[4]" start="4" end="4" type="int8"/>
<field name="SO[5]" start="5" end="5" type="int8"/>
<field name="B[6]" start="6" end="6" type="int8"/>
<field name="PFN[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_meh" size="4">
<field name="ASID[7:0]" start="0" end="7" type="int8"/>
<field name="VPN[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_mpr" size="4">
<field name="PageMask[24:13]" start="13" end="24" type="int16"/>
</flags>
<flags id="ckcpu_mcir" size="4">
<field name="ASID[7:0]" start="0" end="7" type="int8"/>
<field name="TLBINV_ALL[26]" start="26" end="26" type="int8"/>
<field name="TLBINV[27]" start="27" end="27" type="int8"/>
<field name="TLBWR[28]" start="28" end="28" type="int8"/>
<field name="TLBWI[29]" start="29" end="29" type="int8"/>
<field name="TLBR[30]" start="30" end="30" type="int8"/>
<field name="TLBP[31]" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mpgd" size="4">
<field name="HRE[0]" start="0" end="0" type="int8"/>
<field name="PBA[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_msa" size="4">
<field name="V[1]" start="1" end="1" type="int8"/>
<field name="D[2]" start="2" end="2" type="int8"/>
<field name="C[3]" start="3" end="3" type="int8"/>
<field name="SEC[4]" start="4" end="4" type="int8"/>
<field name="SO[5]" start="5" end="5" type="int8"/>
<field name="B[6]" start="6" end="6" type="int8"/>
<field name="BA[31:29]" start="29" end="31" type="int8"/>
</flags>
<reg name="mir" bitsize="32" regnum="128" group="mmu" type="ckcpu_mir"/>
<reg name="mel0" bitsize="32" regnum="129" group="mmu" type="ckcpu_mel"/>
<reg name="mel1" bitsize="32" regnum="130" group="mmu" type="ckcpu_mel"/>
<reg name="meh" bitsize="32" regnum="131" group="mmu" type="ckcpu_meh"/>
<reg name="mpr" bitsize="32" regnum="132" group="mmu" type="ckcpu_mpr"/>
<reg name="mcir" bitsize="32" regnum="133" group="mmu" type="ckcpu_mcir"/>
<reg name="mpgd" bitsize="32" regnum="134" group="mmu" type="ckcpu_mpgd"/>
<reg name="msa0" bitsize="32" regnum="135" group="mmu" type="ckcpu_msa"/>
<reg name="msa1" bitsize="32" regnum="136" group="mmu" type="ckcpu_msa"/>
</feature><feature name="org.gnu.csky.abiv2.mmu">
<flags id="ckcpu_mir" size="4">
<field name="Index" start="0" end="9" type="int16"/>
<field name="TF" start="30" end="30" type="int8"/>
<field name="P" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mel" size="4">
<field name="V" start="1" end="1" type="int8"/>
<field name="D" start="2" end="2" type="int8"/>
<field name="C" start="3" end="3" type="int8"/>
<field name="SEC" start="4" end="4" type="int8"/>
<field name="SO" start="5" end="5" type="int8"/>
<field name="B" start="6" end="6" type="int8"/>
<field name="PFN" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_meh" size="4">
<field name="ASID" start="0" end="7" type="int8"/>
<field name="VPN" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_mpr" size="4">
<field name="PageMask" start="13" end="24" type="int16"/>
</flags>
<flags id="ckcpu_mcir" size="4">
<field name="ASID" start="0" end="7" type="int8"/>
<field name="TLBINV_ALL" start="26" end="26" type="int8"/>
<field name="TLBINV" start="27" end="27" type="int8"/>
<field name="TLBWR" start="28" end="28" type="int8"/>
<field name="TLBWI" start="29" end="29" type="int8"/>
<field name="TLBR" start="30" end="30" type="int8"/>
<field name="TLBP" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mpgd" size="4">
<field name="HRE" start="0" end="0" type="int8"/>
<field name="PBA" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_msa" size="4">
<field name="V" start="1" end="1" type="int8"/>
<field name="D" start="2" end="2" type="int8"/>
<field name="C" start="3" end="3" type="int8"/>
<field name="SEC" start="4" end="4" type="int8"/>
<field name="SO" start="5" end="5" type="int8"/>
<field name="B" start="6" end="6" type="int8"/>
<field name="BA" start="29" end="31" type="int8"/>
</flags>
<reg name="mir" bitsize="32" regnum="128" group="mmu" type="ckcpu_mir"/>
<reg name="mel0" bitsize="32" regnum="129" group="mmu" type="ckcpu_mel"/>
<reg name="mel1" bitsize="32" regnum="130" group="mmu" type="ckcpu_mel"/>
<reg name="meh" bitsize="32" regnum="131" group="mmu" type="ckcpu_meh"/>
<reg name="mpr" bitsize="32" regnum="132" group="mmu" type="ckcpu_mpr"/>
<reg name="mcir" bitsize="32" regnum="133" group="mmu" type="ckcpu_mcir"/>
<reg name="mpgd" bitsize="32" regnum="134" group="mmu" type="ckcpu_mpgd"/>
<reg name="msa0" bitsize="32" regnum="135" group="mmu" type="ckcpu_msa"/>
<reg name="msa1" bitsize="32" regnum="136" group="mmu" type="ckcpu_msa"/>
</feature>
<feature name="org.gnu.csky.abiv2.bank1">
<reg name="cp1cr16" bitsize="32" regnum="205" group="bank1"/>
<reg name="cp1cr17" bitsize="32" regnum="206" group="bank1"/>
<reg name="cp1cr18" bitsize="32" regnum="207" group="bank1"/>
<reg name="cp1cr19" bitsize="32" regnum="208" group="bank1"/>
</feature>
</target>

View File

@ -0,0 +1,179 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r16" bitsize="32" regnum="16" group="gpr"/>
<reg name="r17" bitsize="32" regnum="17" group="gpr"/>
<reg name="r18" bitsize="32" regnum="18" group="gpr"/>
<reg name="r19" bitsize="32" regnum="19" group="gpr"/>
<reg name="r20" bitsize="32" regnum="20" group="gpr"/>
<reg name="r21" bitsize="32" regnum="21" group="gpr"/>
<reg name="r22" bitsize="32" regnum="22" group="gpr"/>
<reg name="r23" bitsize="32" regnum="23" group="gpr"/>
<reg name="r24" bitsize="32" regnum="24" group="gpr"/>
<reg name="r25" bitsize="32" regnum="25" group="gpr"/>
<reg name="r26" bitsize="32" regnum="26" group="gpr"/>
<reg name="r27" bitsize="32" regnum="27" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="r29" bitsize="32" regnum="29" group="gpr"/>
<reg name="r30" bitsize="32" regnum="30" group="gpr"/>
<reg name="r31" bitsize="32" regnum="31" group="gpr"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.fpu">
<union id="float64_union">
<field name="double64" type="ieee_double"/>
<field name="float32" type="ieee_single"/>
<field name="uint64" type="uint64"/>
</union>
<!--float register-->
<reg name="fr0" bitsize="64" regnum="40" type="float64_union" group="fpu"/>
<reg name="fr1" bitsize="64" regnum="41" type="float64_union" group="fpu"/>
<reg name="fr2" bitsize="64" regnum="42" type="float64_union" group="fpu"/>
<reg name="fr3" bitsize="64" regnum="43" type="float64_union" group="fpu"/>
<reg name="fr4" bitsize="64" regnum="44" type="float64_union" group="fpu"/>
<reg name="fr5" bitsize="64" regnum="45" type="float64_union" group="fpu"/>
<reg name="fr6" bitsize="64" regnum="46" type="float64_union" group="fpu"/>
<reg name="fr7" bitsize="64" regnum="47" type="float64_union" group="fpu"/>
<reg name="fr8" bitsize="64" regnum="48" type="float64_union" group="fpu"/>
<reg name="fr9" bitsize="64" regnum="49" type="float64_union" group="fpu"/>
<reg name="fr10" bitsize="64" regnum="50" type="float64_union" group="fpu"/>
<reg name="fr11" bitsize="64" regnum="51" type="float64_union" group="fpu"/>
<reg name="fr12" bitsize="64" regnum="52" type="float64_union" group="fpu"/>
<reg name="fr13" bitsize="64" regnum="53" type="float64_union" group="fpu"/>
<reg name="fr14" bitsize="64" regnum="54" type="float64_union" group="fpu"/>
<reg name="fr15" bitsize="64" regnum="55" type="float64_union" group="fpu"/>
<reg name="fr16" bitsize="64" regnum="1172" type="float64_union" group="fpu"/>
<reg name="fr17" bitsize="64" regnum="1173" type="float64_union" group="fpu"/>
<reg name="fr18" bitsize="64" regnum="1174" type="float64_union" group="fpu"/>
<reg name="fr19" bitsize="64" regnum="1175" type="float64_union" group="fpu"/>
<reg name="fr20" bitsize="64" regnum="1176" type="float64_union" group="fpu"/>
<reg name="fr21" bitsize="64" regnum="1177" type="float64_union" group="fpu"/>
<reg name="fr22" bitsize="64" regnum="1178" type="float64_union" group="fpu"/>
<reg name="fr23" bitsize="64" regnum="1179" type="float64_union" group="fpu"/>
<reg name="fr24" bitsize="64" regnum="1180" type="float64_union" group="fpu"/>
<reg name="fr25" bitsize="64" regnum="1181" type="float64_union" group="fpu"/>
<reg name="fr26" bitsize="64" regnum="1182" type="float64_union" group="fpu"/>
<reg name="fr27" bitsize="64" regnum="1183" type="float64_union" group="fpu"/>
<reg name="fr28" bitsize="64" regnum="1184" type="float64_union" group="fpu"/>
<reg name="fr29" bitsize="64" regnum="1185" type="float64_union" group="fpu"/>
<reg name="fr30" bitsize="64" regnum="1186" type="float64_union" group="fpu"/>
<reg name="fr31" bitsize="64" regnum="1187" type="float64_union" group="fpu"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="AF[1]" start="1" end="1" type="int8"/>
<field name="FE[4]" start="4" end="4" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TE[12]" start="12" end="12" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="fpsr" bitsize="32" regnum="92" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="fpc" bitsize="32" regnum="94" group="cr"/>
<reg name="gcr" bitsize="32" regnum="100" group="cr"/>
<reg name="gsr" bitsize="32" regnum="101" group="cr"/>
<reg name="cr13" bitsize="32" regnum="102" group="cr"/>
<reg name="cr17" bitsize="32" regnum="106" group="cr"/>
<reg name="cr18" bitsize="32" regnum="107" group="cr"/>
<reg name="cr23" bitsize="32" regnum="112" group="cr"/>
<reg name="cr25" bitsize="32" regnum="114" group="cr"/>
<reg name="cr28" bitsize="32" regnum="117" group="cr"/>
<reg name="cr29" bitsize="32" regnum="118" group="cr"/>
<reg name="cr30" bitsize="32" regnum="119" group="cr"/>
<reg name="cr31" bitsize="32" regnum="120" group="cr"/>
</feature>
<feature name="org.gnu.csky.abiv2.fvcr">
<reg name="fcr" bitsize="32" regnum="121" group="fvcr"/>
<reg name="fid" bitsize="32" regnum="122" group="fvcr"/>
<reg name="fesr" bitsize="32" regnum="123" group="fvcr"/>
<!--usp cr_bank1-->
<reg name="usp" bitsize="32" regnum="127"/>
</feature>
<feature name="org.gnu.csky.abiv2.mmu">
<flags id="ckcpu_mir" size="4">
<field name="Index[9:0]" start="0" end="9" type="int16"/>
<field name="TF[30]" start="30" end="30" type="int8"/>
<field name="P[31]" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mel" size="4">
<field name="V[1]" start="1" end="1" type="int8"/>
<field name="D[2]" start="2" end="2" type="int8"/>
<field name="C[3]" start="3" end="3" type="int8"/>
<field name="SEC[4]" start="4" end="4" type="int8"/>
<field name="SO[5]" start="5" end="5" type="int8"/>
<field name="B[6]" start="6" end="6" type="int8"/>
<field name="PFN[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_meh" size="4">
<field name="ASID[7:0]" start="0" end="7" type="int8"/>
<field name="VPN[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_mpr" size="4">
<field name="PageMask[24:13]" start="13" end="24" type="int16"/>
</flags>
<flags id="ckcpu_mcir" size="4">
<field name="ASID[7:0]" start="0" end="7" type="int8"/>
<field name="TLBINV_ALL[26]" start="26" end="26" type="int8"/>
<field name="TLBINV[27]" start="27" end="27" type="int8"/>
<field name="TLBWR[28]" start="28" end="28" type="int8"/>
<field name="TLBWI[29]" start="29" end="29" type="int8"/>
<field name="TLBR[30]" start="30" end="30" type="int8"/>
<field name="TLBP[31]" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mpgd" size="4">
<field name="HRE[0]" start="0" end="0" type="int8"/>
<field name="PBA[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_msa" size="4">
<field name="V[1]" start="1" end="1" type="int8"/>
<field name="D[2]" start="2" end="2" type="int8"/>
<field name="C[3]" start="3" end="3" type="int8"/>
<field name="SEC[4]" start="4" end="4" type="int8"/>
<field name="SO[5]" start="5" end="5" type="int8"/>
<field name="B[6]" start="6" end="6" type="int8"/>
<field name="BA[31:29]" start="29" end="31" type="int8"/>
</flags>
<reg name="mir" bitsize="32" regnum="128" group="mmu" type="ckcpu_mir"/>
<reg name="mel0" bitsize="32" regnum="129" group="mmu" type="ckcpu_mel"/>
<reg name="mel1" bitsize="32" regnum="130" group="mmu" type="ckcpu_mel"/>
<reg name="meh" bitsize="32" regnum="131" group="mmu" type="ckcpu_meh"/>
<reg name="mpr" bitsize="32" regnum="132" group="mmu" type="ckcpu_mpr"/>
<reg name="mcir" bitsize="32" regnum="133" group="mmu" type="ckcpu_mcir"/>
<reg name="mpgd" bitsize="32" regnum="134" group="mmu" type="ckcpu_mpgd"/>
<reg name="msa0" bitsize="32" regnum="135" group="mmu" type="ckcpu_msa"/>
<reg name="msa1" bitsize="32" regnum="136" group="mmu" type="ckcpu_msa"/>
</feature>
<feature name="org.gnu.csky.abiv2.bank1">
<reg name="cp1cr16" bitsize="32" regnum="205" group="bank1"/>
<reg name="cp1cr17" bitsize="32" regnum="206" group="bank1"/>
<reg name="cp1cr18" bitsize="32" regnum="207" group="bank1"/>
<reg name="cp1cr19" bitsize="32" regnum="208" group="bank1"/>
<reg name="cp1cr20" bitsize="32" regnum="209" group="bank1"/>
</feature>
</target>

View File

@ -0,0 +1,211 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r16" bitsize="32" regnum="16" group="gpr"/>
<reg name="r17" bitsize="32" regnum="17" group="gpr"/>
<reg name="r18" bitsize="32" regnum="18" group="gpr"/>
<reg name="r19" bitsize="32" regnum="19" group="gpr"/>
<reg name="r20" bitsize="32" regnum="20" group="gpr"/>
<reg name="r21" bitsize="32" regnum="21" group="gpr"/>
<reg name="r22" bitsize="32" regnum="22" group="gpr"/>
<reg name="r23" bitsize="32" regnum="23" group="gpr"/>
<reg name="r24" bitsize="32" regnum="24" group="gpr"/>
<reg name="r25" bitsize="32" regnum="25" group="gpr"/>
<reg name="r26" bitsize="32" regnum="26" group="gpr"/>
<reg name="r27" bitsize="32" regnum="27" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="r29" bitsize="32" regnum="29" group="gpr"/>
<reg name="r30" bitsize="32" regnum="30" group="gpr"/>
<reg name="r31" bitsize="32" regnum="31" group="gpr"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.fpu">
<vector id="v4f" type="ieee_single" count="4"/>
<vector id="v2d" type="ieee_double" count="2"/>
<vector id="v16i8" type="int8" count="16"/>
<vector id="v8i16" type="int16" count="8"/>
<vector id="v4i32" type="int32" count="4"/>
<vector id="v2i64" type="int64" count="2"/>
<union id="vec128">
<field name="v4_float" type="v4f"/>
<field name="v2_double" type="v2d"/>
<field name="v16_int8" type="v16i8"/>
<field name="v8_int16" type="v8i16"/>
<field name="v4_int32" type="v4i32"/>
<field name="v2_int64" type="v2i64"/>
<field name="uint128" type="uint128"/>
</union>
<union id="float64_union">
<field name="double64" type="ieee_double"/>
<field name="float32" type="ieee_single"/>
<field name="uint64" type="uint64"/>
</union>
<!--float register-->
<reg name="fr0" bitsize="64" regnum="40" type="float64_union" group="fpu"/>
<reg name="fr1" bitsize="64" regnum="41" type="float64_union" group="fpu"/>
<reg name="fr2" bitsize="64" regnum="42" type="float64_union" group="fpu"/>
<reg name="fr3" bitsize="64" regnum="43" type="float64_union" group="fpu"/>
<reg name="fr4" bitsize="64" regnum="44" type="float64_union" group="fpu"/>
<reg name="fr5" bitsize="64" regnum="45" type="float64_union" group="fpu"/>
<reg name="fr6" bitsize="64" regnum="46" type="float64_union" group="fpu"/>
<reg name="fr7" bitsize="64" regnum="47" type="float64_union" group="fpu"/>
<reg name="fr8" bitsize="64" regnum="48" type="float64_union" group="fpu"/>
<reg name="fr9" bitsize="64" regnum="49" type="float64_union" group="fpu"/>
<reg name="fr10" bitsize="64" regnum="50" type="float64_union" group="fpu"/>
<reg name="fr11" bitsize="64" regnum="51" type="float64_union" group="fpu"/>
<reg name="fr12" bitsize="64" regnum="52" type="float64_union" group="fpu"/>
<reg name="fr13" bitsize="64" regnum="53" type="float64_union" group="fpu"/>
<reg name="fr14" bitsize="64" regnum="54" type="float64_union" group="fpu"/>
<reg name="fr15" bitsize="64" regnum="55" type="float64_union" group="fpu"/>
<reg name="fr16" bitsize="64" regnum="1172" type="float64_union" group="fpu"/>
<reg name="fr17" bitsize="64" regnum="1173" type="float64_union" group="fpu"/>
<reg name="fr18" bitsize="64" regnum="1174" type="float64_union" group="fpu"/>
<reg name="fr19" bitsize="64" regnum="1175" type="float64_union" group="fpu"/>
<reg name="fr20" bitsize="64" regnum="1176" type="float64_union" group="fpu"/>
<reg name="fr21" bitsize="64" regnum="1177" type="float64_union" group="fpu"/>
<reg name="fr22" bitsize="64" regnum="1178" type="float64_union" group="fpu"/>
<reg name="fr23" bitsize="64" regnum="1179" type="float64_union" group="fpu"/>
<reg name="fr24" bitsize="64" regnum="1180" type="float64_union" group="fpu"/>
<reg name="fr25" bitsize="64" regnum="1181" type="float64_union" group="fpu"/>
<reg name="fr26" bitsize="64" regnum="1182" type="float64_union" group="fpu"/>
<reg name="fr27" bitsize="64" regnum="1183" type="float64_union" group="fpu"/>
<reg name="fr28" bitsize="64" regnum="1184" type="float64_union" group="fpu"/>
<reg name="fr29" bitsize="64" regnum="1185" type="float64_union" group="fpu"/>
<reg name="fr30" bitsize="64" regnum="1186" type="float64_union" group="fpu"/>
<reg name="fr31" bitsize="64" regnum="1187" type="float64_union" group="fpu"/>
<!--vector register-->
<reg name="vr0" bitsize="128" regnum="56" type="vec128" group="vpu"/>
<reg name="vr1" bitsize="128" regnum="57" type="vec128" group="vpu"/>
<reg name="vr2" bitsize="128" regnum="58" type="vec128" group="vpu"/>
<reg name="vr3" bitsize="128" regnum="59" type="vec128" group="vpu"/>
<reg name="vr4" bitsize="128" regnum="60" type="vec128" group="vpu"/>
<reg name="vr5" bitsize="128" regnum="61" type="vec128" group="vpu"/>
<reg name="vr6" bitsize="128" regnum="62" type="vec128" group="vpu"/>
<reg name="vr7" bitsize="128" regnum="63" type="vec128" group="vpu"/>
<reg name="vr8" bitsize="128" regnum="64" type="vec128" group="vpu"/>
<reg name="vr9" bitsize="128" regnum="65" type="vec128" group="vpu"/>
<reg name="vr10" bitsize="128" regnum="66" type="vec128" group="vpu"/>
<reg name="vr11" bitsize="128" regnum="67" type="vec128" group="vpu"/>
<reg name="vr12" bitsize="128" regnum="68" type="vec128" group="vpu"/>
<reg name="vr13" bitsize="128" regnum="69" type="vec128" group="vpu"/>
<reg name="vr14" bitsize="128" regnum="70" type="vec128" group="vpu"/>
<reg name="vr15" bitsize="128" regnum="71" type="vec128" group="vpu"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="AF[1]" start="1" end="1" type="int8"/>
<field name="FE[4]" start="4" end="4" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TE[12]" start="12" end="12" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="fpsr" bitsize="32" regnum="92" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="fpc" bitsize="32" regnum="94" group="cr"/>
<reg name="gcr" bitsize="32" regnum="100" group="cr"/>
<reg name="gsr" bitsize="32" regnum="101" group="cr"/>
<reg name="cr13" bitsize="32" regnum="102" group="cr"/>
<reg name="cr17" bitsize="32" regnum="106" group="cr"/>
<reg name="cr18" bitsize="32" regnum="107" group="cr"/>
<reg name="cr23" bitsize="32" regnum="112" group="cr"/>
<reg name="cr25" bitsize="32" regnum="114" group="cr"/>
<reg name="cr28" bitsize="32" regnum="117" group="cr"/>
<reg name="cr29" bitsize="32" regnum="118" group="cr"/>
<reg name="cr30" bitsize="32" regnum="119" group="cr"/>
<reg name="cr31" bitsize="32" regnum="120" group="cr"/>
</feature>
<feature name="org.gnu.csky.abiv2.fvcr">
<reg name="fcr" bitsize="32" regnum="121" group="fvcr"/>
<reg name="fid" bitsize="32" regnum="122" group="fvcr"/>
<reg name="fesr" bitsize="32" regnum="123" group="fvcr"/>
<!--usp cr_bank1-->
<reg name="usp" bitsize="32" regnum="127"/>
</feature>
<feature name="org.gnu.csky.abiv2.mmu">
<flags id="ckcpu_mir" size="4">
<field name="Index[9:0]" start="0" end="9" type="int16"/>
<field name="TF[30]" start="30" end="30" type="int8"/>
<field name="P[31]" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mel" size="4">
<field name="V[1]" start="1" end="1" type="int8"/>
<field name="D[2]" start="2" end="2" type="int8"/>
<field name="C[3]" start="3" end="3" type="int8"/>
<field name="SEC[4]" start="4" end="4" type="int8"/>
<field name="SO[5]" start="5" end="5" type="int8"/>
<field name="B[6]" start="6" end="6" type="int8"/>
<field name="PFN[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_meh" size="4">
<field name="ASID[7:0]" start="0" end="7" type="int8"/>
<field name="VPN[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_mpr" size="4">
<field name="PageMask[24:13]" start="13" end="24" type="int16"/>
</flags>
<flags id="ckcpu_mcir" size="4">
<field name="ASID[7:0]" start="0" end="7" type="int8"/>
<field name="TLBINV_ALL[26]" start="26" end="26" type="int8"/>
<field name="TLBINV[27]" start="27" end="27" type="int8"/>
<field name="TLBWR[28]" start="28" end="28" type="int8"/>
<field name="TLBWI[29]" start="29" end="29" type="int8"/>
<field name="TLBR[30]" start="30" end="30" type="int8"/>
<field name="TLBP[31]" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mpgd" size="4">
<field name="HRE[0]" start="0" end="0" type="int8"/>
<field name="PBA[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_msa" size="4">
<field name="V[1]" start="1" end="1" type="int8"/>
<field name="D[2]" start="2" end="2" type="int8"/>
<field name="C[3]" start="3" end="3" type="int8"/>
<field name="SEC[4]" start="4" end="4" type="int8"/>
<field name="SO[5]" start="5" end="5" type="int8"/>
<field name="B[6]" start="6" end="6" type="int8"/>
<field name="BA[31:29]" start="29" end="31" type="int8"/>
</flags>
<reg name="mir" bitsize="32" regnum="128" group="mmu" type="ckcpu_mir"/>
<reg name="mel0" bitsize="32" regnum="129" group="mmu" type="ckcpu_mel"/>
<reg name="mel1" bitsize="32" regnum="130" group="mmu" type="ckcpu_mel"/>
<reg name="meh" bitsize="32" regnum="131" group="mmu" type="ckcpu_meh"/>
<reg name="mpr" bitsize="32" regnum="132" group="mmu" type="ckcpu_mpr"/>
<reg name="mcir" bitsize="32" regnum="133" group="mmu" type="ckcpu_mcir"/>
<reg name="mpgd" bitsize="32" regnum="134" group="mmu" type="ckcpu_mpgd"/>
<reg name="msa0" bitsize="32" regnum="135" group="mmu" type="ckcpu_msa"/>
<reg name="msa1" bitsize="32" regnum="136" group="mmu" type="ckcpu_msa"/>
</feature>
<feature name="org.gnu.csky.abiv2.bank1">
<reg name="cp1cr16" bitsize="32" regnum="205" group="bank1"/>
<reg name="cp1cr17" bitsize="32" regnum="206" group="bank1"/>
<reg name="cp1cr18" bitsize="32" regnum="207" group="bank1"/>
<reg name="cp1cr19" bitsize="32" regnum="208" group="bank1"/>
<reg name="cp1cr20" bitsize="32" regnum="209" group="bank1"/>
</feature>
</target>

View File

@ -0,0 +1,136 @@
<?xml version="1.0"?>
<target>
<architecture>csky</architecture>
<feature name="org.gnu.csky.abiv2.gpr">
<reg name="r0" bitsize="32" regnum="0" group="gpr"/>
<reg name="r1" bitsize="32" regnum="1" group="gpr"/>
<reg name="r2" bitsize="32" regnum="2" group="gpr"/>
<reg name="r3" bitsize="32" regnum="3" group="gpr"/>
<reg name="r4" bitsize="32" regnum="4" group="gpr"/>
<reg name="r5" bitsize="32" regnum="5" group="gpr"/>
<reg name="r6" bitsize="32" regnum="6" group="gpr"/>
<reg name="r7" bitsize="32" regnum="7" group="gpr"/>
<reg name="r8" bitsize="32" regnum="8" group="gpr"/>
<reg name="r9" bitsize="32" regnum="9" group="gpr"/>
<reg name="r10" bitsize="32" regnum="10" group="gpr"/>
<reg name="r11" bitsize="32" regnum="11" group="gpr"/>
<reg name="r12" bitsize="32" regnum="12" group="gpr"/>
<reg name="r13" bitsize="32" regnum="13" group="gpr"/>
<reg name="r14" bitsize="32" regnum="14" group="gpr"/>
<reg name="r15" bitsize="32" regnum="15" group="gpr"/>
<reg name="r16" bitsize="32" regnum="16" group="gpr"/>
<reg name="r17" bitsize="32" regnum="17" group="gpr"/>
<reg name="r18" bitsize="32" regnum="18" group="gpr"/>
<reg name="r19" bitsize="32" regnum="19" group="gpr"/>
<reg name="r20" bitsize="32" regnum="20" group="gpr"/>
<reg name="r21" bitsize="32" regnum="21" group="gpr"/>
<reg name="r22" bitsize="32" regnum="22" group="gpr"/>
<reg name="r23" bitsize="32" regnum="23" group="gpr"/>
<reg name="r24" bitsize="32" regnum="24" group="gpr"/>
<reg name="r25" bitsize="32" regnum="25" group="gpr"/>
<reg name="r26" bitsize="32" regnum="26" group="gpr"/>
<reg name="r27" bitsize="32" regnum="27" group="gpr"/>
<reg name="r28" bitsize="32" regnum="28" group="gpr"/>
<reg name="r29" bitsize="32" regnum="29" group="gpr"/>
<reg name="r30" bitsize="32" regnum="30" group="gpr"/>
<reg name="r31" bitsize="32" regnum="31" group="gpr"/>
<reg name="pc" bitsize="32" regnum="72"/>
</feature>
<feature name="org.gnu.csky.abiv2.cr">
<flags id="ckcpu_psr" size="4">
<field name="C[0]" start="0" end="0" type="int8"/>
<field name="AF[1]" start="1" end="1" type="int8"/>
<field name="FE[4]" start="4" end="4" type="int8"/>
<field name="IE[6]" start="6" end="6" type="int8"/>
<field name="IC[7]" start="7" end="7" type="int8"/>
<field name="EE[8]" start="8" end="8" type="int8"/>
<field name="MM[9]" start="9" end="9" type="int8"/>
<field name="TE[12]" start="12" end="12" type="int8"/>
<field name="TM[15:14]" start="14" end="15" type="int8"/>
<field name="VEC[23:16]" start="16" end="23" type="int8"/>
<field name="S[31]" start="31" end="31" type="int8"/>
</flags>
<reg name="psr" bitsize="32" regnum="89" group="cr" type="ckcpu_psr"/>
<reg name="vbr" bitsize="32" regnum="90" group="cr"/>
<reg name="epsr" bitsize="32" regnum="91" group="cr"/>
<reg name="fpsr" bitsize="32" regnum="92" group="cr"/>
<reg name="epc" bitsize="32" regnum="93" group="cr"/>
<reg name="fpc" bitsize="32" regnum="94" group="cr"/>
<reg name="gcr" bitsize="32" regnum="100" group="cr"/>
<reg name="gsr" bitsize="32" regnum="101" group="cr"/>
<reg name="cr13" bitsize="32" regnum="102" group="cr"/>
<reg name="cr17" bitsize="32" regnum="106" group="cr"/>
<reg name="cr18" bitsize="32" regnum="107" group="cr"/>
<reg name="cr23" bitsize="32" regnum="112" group="cr"/>
<reg name="cr25" bitsize="32" regnum="114" group="cr"/>
<reg name="cr28" bitsize="32" regnum="117" group="cr"/>
<reg name="cr29" bitsize="32" regnum="118" group="cr"/>
<reg name="cr30" bitsize="32" regnum="119" group="cr"/>
<reg name="cr31" bitsize="32" regnum="120" group="cr"/>
</feature>
<feature name="org.gnu.csky.abiv2.fvcr">
<!--usp cr_bank1-->
<reg name="usp" bitsize="32" regnum="127"/>
</feature>
<feature name="org.gnu.csky.abiv2.mmu">
<flags id="ckcpu_mir" size="4">
<field name="Index[9:0]" start="0" end="9" type="int16"/>
<field name="TF[30]" start="30" end="30" type="int8"/>
<field name="P[31]" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mel" size="4">
<field name="V[1]" start="1" end="1" type="int8"/>
<field name="D[2]" start="2" end="2" type="int8"/>
<field name="C[3]" start="3" end="3" type="int8"/>
<field name="SEC[4]" start="4" end="4" type="int8"/>
<field name="SO[5]" start="5" end="5" type="int8"/>
<field name="B[6]" start="6" end="6" type="int8"/>
<field name="PFN[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_meh" size="4">
<field name="ASID[7:0]" start="0" end="7" type="int8"/>
<field name="VPN[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_mpr" size="4">
<field name="PageMask[24:13]" start="13" end="24" type="int16"/>
</flags>
<flags id="ckcpu_mcir" size="4">
<field name="ASID[7:0]" start="0" end="7" type="int8"/>
<field name="TLBINV_ALL[26]" start="26" end="26" type="int8"/>
<field name="TLBINV[27]" start="27" end="27" type="int8"/>
<field name="TLBWR[28]" start="28" end="28" type="int8"/>
<field name="TLBWI[29]" start="29" end="29" type="int8"/>
<field name="TLBR[30]" start="30" end="30" type="int8"/>
<field name="TLBP[31]" start="31" end="31" type="int8"/>
</flags>
<flags id="ckcpu_mpgd" size="4">
<field name="HRE[0]" start="0" end="0" type="int8"/>
<field name="PBA[31:12]" start="12" end="31" type="int32"/>
</flags>
<flags id="ckcpu_msa" size="4">
<field name="V[1]" start="1" end="1" type="int8"/>
<field name="D[2]" start="2" end="2" type="int8"/>
<field name="C[3]" start="3" end="3" type="int8"/>
<field name="SEC[4]" start="4" end="4" type="int8"/>
<field name="SO[5]" start="5" end="5" type="int8"/>
<field name="B[6]" start="6" end="6" type="int8"/>
<field name="BA[31:29]" start="29" end="31" type="int8"/>
</flags>
<reg name="mir" bitsize="32" regnum="128" group="mmu" type="ckcpu_mir"/>
<reg name="mel0" bitsize="32" regnum="129" group="mmu" type="ckcpu_mel"/>
<reg name="mel1" bitsize="32" regnum="130" group="mmu" type="ckcpu_mel"/>
<reg name="meh" bitsize="32" regnum="131" group="mmu" type="ckcpu_meh"/>
<reg name="mpr" bitsize="32" regnum="132" group="mmu" type="ckcpu_mpr"/>
<reg name="mcir" bitsize="32" regnum="133" group="mmu" type="ckcpu_mcir"/>
<reg name="mpgd" bitsize="32" regnum="134" group="mmu" type="ckcpu_mpgd"/>
<reg name="msa0" bitsize="32" regnum="135" group="mmu" type="ckcpu_msa"/>
<reg name="msa1" bitsize="32" regnum="136" group="mmu" type="ckcpu_msa"/>
</feature>
<feature name="org.gnu.csky.abiv2.bank1">
<reg name="cp1cr16" bitsize="32" regnum="205" group="bank1"/>
<reg name="cp1cr17" bitsize="32" regnum="206" group="bank1"/>
<reg name="cp1cr18" bitsize="32" regnum="207" group="bank1"/>
<reg name="cp1cr19" bitsize="32" regnum="208" group="bank1"/>
<reg name="cp1cr20" bitsize="32" regnum="209" group="bank1"/>
</feature>
</target>

Some files were not shown because too many files have changed in this diff Show More