Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(402)

Side by Side Diff: sim/bfin/machs.c

Issue 11969036: Merge GDB 7.5.1 (Closed) Base URL: http://git.chromium.org/native_client/nacl-gdb.git@master
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « sim/bfin/machs.h ('k') | sim/common/ChangeLog » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* Simulator for Analog Devices Blackfin processors. 1 /* Simulator for Analog Devices Blackfin processors.
2 2
3 Copyright (C) 2005-2012 Free Software Foundation, Inc. 3 Copyright (C) 2005-2012 Free Software Foundation, Inc.
4 Contributed by Analog Devices, Inc. 4 Contributed by Analog Devices, Inc. and Mike Frysinger.
5 5
6 This file is part of simulators. 6 This file is part of simulators.
7 7
8 This program is free software; you can redistribute it and/or modify 8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by 9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 3 of the License, or 10 the Free Software Foundation; either version 3 of the License, or
11 (at your option) any later version. 11 (at your option) any later version.
12 12
13 This program is distributed in the hope that it will be useful, 13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 but WITHOUT ANY WARRANTY; without even the implied warranty of
(...skipping 863 matching lines...) Expand 10 before | Expand all | Expand 10 after
878 #define bf54x_chipid 0x27de 878 #define bf54x_chipid 0x27de
879 #define bf542_chipid bf54x_chipid 879 #define bf542_chipid bf54x_chipid
880 #define bf544_chipid bf54x_chipid 880 #define bf544_chipid bf54x_chipid
881 #define bf547_chipid bf54x_chipid 881 #define bf547_chipid bf54x_chipid
882 #define bf548_chipid bf54x_chipid 882 #define bf548_chipid bf54x_chipid
883 #define bf549_chipid bf54x_chipid 883 #define bf549_chipid bf54x_chipid
884 static const struct bfin_memory_layout bf54x_mem[] = 884 static const struct bfin_memory_layout bf54x_mem[] =
885 { 885 {
886 LAYOUT (0xFFC00800, 0x60, read_write), /* SPORT0 stub XXX: not on BF542 /4 */ 886 LAYOUT (0xFFC00800, 0x60, read_write), /* SPORT0 stub XXX: not on BF542 /4 */
887 LAYOUT (0xFFC00900, 0x60, read_write), /* SPORT1 stub */ 887 LAYOUT (0xFFC00900, 0x60, read_write), /* SPORT1 stub */
888 LAYOUT (0xFFC01400, 0x200, read_write), /* PORT/GPIO stub */
889 LAYOUT (0xFFC02500, 0x60, read_write), /* SPORT2 stub */ 888 LAYOUT (0xFFC02500, 0x60, read_write), /* SPORT2 stub */
890 LAYOUT (0xFFC02600, 0x60, read_write), /* SPORT3 stub */ 889 LAYOUT (0xFFC02600, 0x60, read_write), /* SPORT3 stub */
891 LAYOUT (0xFFC03800, 0x70, read_write), /* ATAPI stub */ 890 LAYOUT (0xFFC03800, 0x70, read_write), /* ATAPI stub */
892 LAYOUT (0xFFC03900, 0x100, read_write), /* RSI stub */ 891 LAYOUT (0xFFC03900, 0x100, read_write), /* RSI stub */
893 LAYOUT (0xFFC03C00, 0x500, read_write), /* MUSB stub */ 892 LAYOUT (0xFFC03C00, 0x500, read_write), /* MUSB stub */
894 LAYOUT (0xFEB00000, 0x20000, read_write_exec), /* L2 */ 893 LAYOUT (0xFEB00000, 0x20000, read_write_exec), /* L2 */
895 LAYOUT (0xFF800000, 0x4000, read_write), /* Data A */ 894 LAYOUT (0xFF800000, 0x4000, read_write), /* Data A */
896 LAYOUT (0xFF804000, 0x4000, read_write), /* Data A Cache */ 895 LAYOUT (0xFF804000, 0x4000, read_write), /* Data A Cache */
897 LAYOUT (0xFF900000, 0x4000, read_write), /* Data B */ 896 LAYOUT (0xFF900000, 0x4000, read_write), /* Data B */
898 LAYOUT (0xFF904000, 0x4000, read_write), /* Data B Cache */ 897 LAYOUT (0xFF904000, 0x4000, read_write), /* Data B Cache */
899 LAYOUT (0xFFA00000, 0x8000, read_write_exec), /* Inst A [1] */ 898 LAYOUT (0xFFA00000, 0x8000, read_write_exec), /* Inst A [1] */
900 LAYOUT (0xFFA08000, 0x4000, read_write_exec), /* Inst B [1] */ 899 LAYOUT (0xFFA08000, 0x4000, read_write_exec), /* Inst B [1] */
901 LAYOUT (0xFFA10000, 0x4000, read_write_exec), /* Inst Cache [1] */ 900 LAYOUT (0xFFA10000, 0x4000, read_write_exec), /* Inst Cache [1] */
902 }; 901 };
903 #define bf542_mem bf54x_mem 902 #define bf542_mem bf54x_mem
904 #define bf544_mem bf54x_mem 903 #define bf544_mem bf54x_mem
905 #define bf547_mem bf54x_mem 904 #define bf547_mem bf54x_mem
906 #define bf548_mem bf54x_mem 905 #define bf548_mem bf54x_mem
907 #define bf549_mem bf54x_mem 906 #define bf549_mem bf54x_mem
908 static const struct bfin_dev_layout bf542_dev[] = 907 static const struct bfin_dev_layout bf542_dev[] =
909 { 908 {
910 DEVICE (0xFFC00200, BFIN_MMR_WDOG_SIZE, "bfin_wdog@0"), 909 DEVICE (0xFFC00200, BFIN_MMR_WDOG_SIZE, "bfin_wdog@0"),
911 DEVICE (0xFFC00300, BFIN_MMR_RTC_SIZE, "bfin_rtc"), 910 DEVICE (0xFFC00300, BFIN_MMR_RTC_SIZE, "bfin_rtc"),
912 DEVICE (0xFFC00400, BFIN_MMR_UART2_SIZE, "bfin_uart2@0"), 911 DEVICE (0xFFC00400, BFIN_MMR_UART2_SIZE, "bfin_uart2@0"),
913 DEVICE (0xFFC00500, BFIN_MMR_SPI_SIZE, "bfin_spi@0"), 912 DEVICE (0xFFC00500, BFIN_MMR_SPI_SIZE, "bfin_spi@0"),
914 DEVICE (0xFFC00700, BFIN_MMR_TWI_SIZE, "bfin_twi@0"), 913 DEVICE (0xFFC00700, BFIN_MMR_TWI_SIZE, "bfin_twi@0"),
915 DEVICE (0xFFC00A00, BF54X_MMR_EBIU_AMC_SIZE, "bfin_ebiu_amc"), 914 DEVICE (0xFFC00A00, BF54X_MMR_EBIU_AMC_SIZE, "bfin_ebiu_amc"),
916 DEVICE (0xFFC00A20, BFIN_MMR_EBIU_DDRC_SIZE, "bfin_ebiu_ddrc"), 915 DEVICE (0xFFC00A20, BFIN_MMR_EBIU_DDRC_SIZE, "bfin_ebiu_ddrc"),
917 _DEVICE (0xFFC01300, BFIN_MMR_EPPI_SIZE, "bfin_eppi@1", 1), 916 _DEVICE (0xFFC01300, BFIN_MMR_EPPI_SIZE, "bfin_eppi@1", 1),
917 DEVICE (0xFFC01400, BFIN_MMR_PINT_SIZE, "bfin_pint@0"),
918 DEVICE (0xFFC01430, BFIN_MMR_PINT_SIZE, "bfin_pint@1"),
919 _DEVICE (0xFFC01460, BFIN_MMR_PINT_SIZE, "bfin_pint@2", 2),
920 _DEVICE (0xFFC01490, BFIN_MMR_PINT_SIZE, "bfin_pint@3", 2),
921 DEVICE (0xFFC014C0, BFIN_MMR_GPIO2_SIZE, "bfin_gpio2@0"),
922 DEVICE (0xFFC014E0, BFIN_MMR_GPIO2_SIZE, "bfin_gpio2@1"),
923 DEVICE (0xFFC01500, BFIN_MMR_GPIO2_SIZE, "bfin_gpio2@2"),
924 DEVICE (0xFFC01520, BFIN_MMR_GPIO2_SIZE, "bfin_gpio2@3"),
925 DEVICE (0xFFC01540, BFIN_MMR_GPIO2_SIZE, "bfin_gpio2@4"),
926 DEVICE (0xFFC01560, BFIN_MMR_GPIO2_SIZE, "bfin_gpio2@5"),
927 DEVICE (0xFFC01580, BFIN_MMR_GPIO2_SIZE, "bfin_gpio2@6"),
928 DEVICE (0xFFC015A0, BFIN_MMR_GPIO2_SIZE, "bfin_gpio2@7"),
929 DEVICE (0xFFC015C0, BFIN_MMR_GPIO2_SIZE, "bfin_gpio2@8"),
930 DEVICE (0xFFC015E0, BFIN_MMR_GPIO2_SIZE, "bfin_gpio2@9"),
918 DEVICE (0xFFC01600, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@0"), 931 DEVICE (0xFFC01600, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@0"),
919 DEVICE (0xFFC01610, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@1"), 932 DEVICE (0xFFC01610, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@1"),
920 DEVICE (0xFFC01620, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@2"), 933 DEVICE (0xFFC01620, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@2"),
921 DEVICE (0xFFC01630, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@3"), 934 DEVICE (0xFFC01630, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@3"),
922 DEVICE (0xFFC01640, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@4"), 935 DEVICE (0xFFC01640, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@4"),
923 DEVICE (0xFFC01650, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@5"), 936 DEVICE (0xFFC01650, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@5"),
924 DEVICE (0xFFC01660, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@6"), 937 DEVICE (0xFFC01660, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@6"),
925 DEVICE (0xFFC01670, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@7"), 938 DEVICE (0xFFC01670, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@7"),
926 DEVICE (0xFFC02000, BFIN_MMR_UART2_SIZE, "bfin_uart2@1"), 939 DEVICE (0xFFC02000, BFIN_MMR_UART2_SIZE, "bfin_uart2@1"),
927 _DEVICE (0xFFC02100, BFIN_MMR_UART2_SIZE, "bfin_uart2@2", 1), 940 _DEVICE (0xFFC02100, BFIN_MMR_UART2_SIZE, "bfin_uart2@2", 1),
(...skipping 10 matching lines...) Expand all
938 DEVICE (0xFFC00400, BFIN_MMR_UART2_SIZE, "bfin_uart2@0"), 951 DEVICE (0xFFC00400, BFIN_MMR_UART2_SIZE, "bfin_uart2@0"),
939 DEVICE (0xFFC00500, BFIN_MMR_SPI_SIZE, "bfin_spi@0"), 952 DEVICE (0xFFC00500, BFIN_MMR_SPI_SIZE, "bfin_spi@0"),
940 DEVICE (0xFFC00600, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@8"), 953 DEVICE (0xFFC00600, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@8"),
941 DEVICE (0xFFC00610, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@9"), 954 DEVICE (0xFFC00610, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@9"),
942 DEVICE (0xFFC00620, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@10"), 955 DEVICE (0xFFC00620, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@10"),
943 DEVICE (0xFFC00700, BFIN_MMR_TWI_SIZE, "bfin_twi@0"), 956 DEVICE (0xFFC00700, BFIN_MMR_TWI_SIZE, "bfin_twi@0"),
944 DEVICE (0xFFC00A00, BF54X_MMR_EBIU_AMC_SIZE, "bfin_ebiu_amc"), 957 DEVICE (0xFFC00A00, BF54X_MMR_EBIU_AMC_SIZE, "bfin_ebiu_amc"),
945 DEVICE (0xFFC00A20, BFIN_MMR_EBIU_DDRC_SIZE, "bfin_ebiu_ddrc"), 958 DEVICE (0xFFC00A20, BFIN_MMR_EBIU_DDRC_SIZE, "bfin_ebiu_ddrc"),
946 _DEVICE (0xFFC01000, BFIN_MMR_EPPI_SIZE, "bfin_eppi@0", 1), 959 _DEVICE (0xFFC01000, BFIN_MMR_EPPI_SIZE, "bfin_eppi@0", 1),
947 _DEVICE (0xFFC01300, BFIN_MMR_EPPI_SIZE, "bfin_eppi@1", 1), 960 _DEVICE (0xFFC01300, BFIN_MMR_EPPI_SIZE, "bfin_eppi@1", 1),
961 DEVICE (0xFFC01400, BFIN_MMR_PINT_SIZE, "bfin_pint@0"),
962 DEVICE (0xFFC01430, BFIN_MMR_PINT_SIZE, "bfin_pint@1"),
963 _DEVICE (0xFFC01460, BFIN_MMR_PINT_SIZE, "bfin_pint@2", 2),
964 _DEVICE (0xFFC01490, BFIN_MMR_PINT_SIZE, "bfin_pint@3", 2),
965 DEVICE (0xFFC014C0, BFIN_MMR_GPIO2_SIZE, "bfin_gpio2@0"),
966 DEVICE (0xFFC014E0, BFIN_MMR_GPIO2_SIZE, "bfin_gpio2@1"),
967 DEVICE (0xFFC01500, BFIN_MMR_GPIO2_SIZE, "bfin_gpio2@2"),
968 DEVICE (0xFFC01520, BFIN_MMR_GPIO2_SIZE, "bfin_gpio2@3"),
969 DEVICE (0xFFC01540, BFIN_MMR_GPIO2_SIZE, "bfin_gpio2@4"),
970 DEVICE (0xFFC01560, BFIN_MMR_GPIO2_SIZE, "bfin_gpio2@5"),
971 DEVICE (0xFFC01580, BFIN_MMR_GPIO2_SIZE, "bfin_gpio2@6"),
972 DEVICE (0xFFC015A0, BFIN_MMR_GPIO2_SIZE, "bfin_gpio2@7"),
973 DEVICE (0xFFC015C0, BFIN_MMR_GPIO2_SIZE, "bfin_gpio2@8"),
974 DEVICE (0xFFC015E0, BFIN_MMR_GPIO2_SIZE, "bfin_gpio2@9"),
948 DEVICE (0xFFC01600, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@0"), 975 DEVICE (0xFFC01600, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@0"),
949 DEVICE (0xFFC01610, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@1"), 976 DEVICE (0xFFC01610, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@1"),
950 DEVICE (0xFFC01620, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@2"), 977 DEVICE (0xFFC01620, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@2"),
951 DEVICE (0xFFC01630, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@3"), 978 DEVICE (0xFFC01630, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@3"),
952 DEVICE (0xFFC01640, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@4"), 979 DEVICE (0xFFC01640, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@4"),
953 DEVICE (0xFFC01650, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@5"), 980 DEVICE (0xFFC01650, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@5"),
954 DEVICE (0xFFC01660, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@6"), 981 DEVICE (0xFFC01660, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@6"),
955 DEVICE (0xFFC01670, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@7"), 982 DEVICE (0xFFC01670, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@7"),
956 DEVICE (0xFFC02000, BFIN_MMR_UART2_SIZE, "bfin_uart2@1"), 983 DEVICE (0xFFC02000, BFIN_MMR_UART2_SIZE, "bfin_uart2@1"),
957 _DEVICE (0xFFC02100, BFIN_MMR_UART2_SIZE, "bfin_uart2@2", 1), 984 _DEVICE (0xFFC02100, BFIN_MMR_UART2_SIZE, "bfin_uart2@2", 1),
(...skipping 11 matching lines...) Expand all
969 DEVICE (0xFFC00400, BFIN_MMR_UART2_SIZE, "bfin_uart2@0"), 996 DEVICE (0xFFC00400, BFIN_MMR_UART2_SIZE, "bfin_uart2@0"),
970 DEVICE (0xFFC00500, BFIN_MMR_SPI_SIZE, "bfin_spi@0"), 997 DEVICE (0xFFC00500, BFIN_MMR_SPI_SIZE, "bfin_spi@0"),
971 DEVICE (0xFFC00600, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@8"), 998 DEVICE (0xFFC00600, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@8"),
972 DEVICE (0xFFC00610, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@9"), 999 DEVICE (0xFFC00610, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@9"),
973 DEVICE (0xFFC00620, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@10"), 1000 DEVICE (0xFFC00620, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@10"),
974 DEVICE (0xFFC00700, BFIN_MMR_TWI_SIZE, "bfin_twi@0"), 1001 DEVICE (0xFFC00700, BFIN_MMR_TWI_SIZE, "bfin_twi@0"),
975 DEVICE (0xFFC00A00, BF54X_MMR_EBIU_AMC_SIZE, "bfin_ebiu_amc"), 1002 DEVICE (0xFFC00A00, BF54X_MMR_EBIU_AMC_SIZE, "bfin_ebiu_amc"),
976 DEVICE (0xFFC00A20, BFIN_MMR_EBIU_DDRC_SIZE, "bfin_ebiu_ddrc"), 1003 DEVICE (0xFFC00A20, BFIN_MMR_EBIU_DDRC_SIZE, "bfin_ebiu_ddrc"),
977 _DEVICE (0xFFC01000, BFIN_MMR_EPPI_SIZE, "bfin_eppi@0", 1), 1004 _DEVICE (0xFFC01000, BFIN_MMR_EPPI_SIZE, "bfin_eppi@0", 1),
978 _DEVICE (0xFFC01300, BFIN_MMR_EPPI_SIZE, "bfin_eppi@1", 1), 1005 _DEVICE (0xFFC01300, BFIN_MMR_EPPI_SIZE, "bfin_eppi@1", 1),
1006 DEVICE (0xFFC01400, BFIN_MMR_PINT_SIZE, "bfin_pint@0"),
1007 DEVICE (0xFFC01430, BFIN_MMR_PINT_SIZE, "bfin_pint@1"),
1008 _DEVICE (0xFFC01460, BFIN_MMR_PINT_SIZE, "bfin_pint@2", 2),
1009 _DEVICE (0xFFC01490, BFIN_MMR_PINT_SIZE, "bfin_pint@3", 2),
1010 DEVICE (0xFFC014C0, BFIN_MMR_GPIO2_SIZE, "bfin_gpio2@0"),
1011 DEVICE (0xFFC014E0, BFIN_MMR_GPIO2_SIZE, "bfin_gpio2@1"),
1012 DEVICE (0xFFC01500, BFIN_MMR_GPIO2_SIZE, "bfin_gpio2@2"),
1013 DEVICE (0xFFC01520, BFIN_MMR_GPIO2_SIZE, "bfin_gpio2@3"),
1014 DEVICE (0xFFC01540, BFIN_MMR_GPIO2_SIZE, "bfin_gpio2@4"),
1015 DEVICE (0xFFC01560, BFIN_MMR_GPIO2_SIZE, "bfin_gpio2@5"),
1016 DEVICE (0xFFC01580, BFIN_MMR_GPIO2_SIZE, "bfin_gpio2@6"),
1017 DEVICE (0xFFC015A0, BFIN_MMR_GPIO2_SIZE, "bfin_gpio2@7"),
1018 DEVICE (0xFFC015C0, BFIN_MMR_GPIO2_SIZE, "bfin_gpio2@8"),
1019 DEVICE (0xFFC015E0, BFIN_MMR_GPIO2_SIZE, "bfin_gpio2@9"),
979 DEVICE (0xFFC01600, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@0"), 1020 DEVICE (0xFFC01600, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@0"),
980 DEVICE (0xFFC01610, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@1"), 1021 DEVICE (0xFFC01610, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@1"),
981 DEVICE (0xFFC01620, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@2"), 1022 DEVICE (0xFFC01620, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@2"),
982 DEVICE (0xFFC01630, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@3"), 1023 DEVICE (0xFFC01630, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@3"),
983 DEVICE (0xFFC01640, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@4"), 1024 DEVICE (0xFFC01640, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@4"),
984 DEVICE (0xFFC01650, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@5"), 1025 DEVICE (0xFFC01650, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@5"),
985 DEVICE (0xFFC01660, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@6"), 1026 DEVICE (0xFFC01660, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@6"),
986 DEVICE (0xFFC01670, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@7"), 1027 DEVICE (0xFFC01670, BFIN_MMR_GPTIMER_SIZE, "bfin_gptimer@7"),
987 DEVICE (0xFFC02000, BFIN_MMR_UART2_SIZE, "bfin_uart2@1"), 1028 DEVICE (0xFFC02000, BFIN_MMR_UART2_SIZE, "bfin_uart2@1"),
988 _DEVICE (0xFFC02100, BFIN_MMR_UART2_SIZE, "bfin_uart2@2", 1), 1029 _DEVICE (0xFFC02100, BFIN_MMR_UART2_SIZE, "bfin_uart2@2", 1),
989 DEVICE (0xFFC02200, BFIN_MMR_TWI_SIZE, "bfin_twi@1"), 1030 DEVICE (0xFFC02200, BFIN_MMR_TWI_SIZE, "bfin_twi@1"),
990 DEVICE (0xFFC02300, BFIN_MMR_SPI_SIZE, "bfin_spi@1"), 1031 DEVICE (0xFFC02300, BFIN_MMR_SPI_SIZE, "bfin_spi@1"),
991 _DEVICE (0xFFC02400, BFIN_MMR_SPI_SIZE, "bfin_spi@2", 1), 1032 _DEVICE (0xFFC02400, BFIN_MMR_SPI_SIZE, "bfin_spi@2", 1),
992 _DEVICE (0xFFC02900, BFIN_MMR_EPPI_SIZE, "bfin_eppi@2", 1), 1033 _DEVICE (0xFFC02900, BFIN_MMR_EPPI_SIZE, "bfin_eppi@2", 1),
993 _DEVICE (0xFFC03100, BFIN_MMR_UART2_SIZE, "bfin_uart2@3", 1), 1034 _DEVICE (0xFFC03100, BFIN_MMR_UART2_SIZE, "bfin_uart2@3", 1),
994 DEVICE (0xFFC03B00, BFIN_MMR_NFC_SIZE, "bfin_nfc"), 1035 DEVICE (0xFFC03B00, BFIN_MMR_NFC_SIZE, "bfin_nfc"),
995 }; 1036 };
996 #define bf548_dev bf547_dev 1037 #define bf548_dev bf547_dev
997 #define bf549_dev bf547_dev 1038 #define bf549_dev bf547_dev
998 static const struct bfin_dmac_layout bf54x_dmac[] = 1039 static const struct bfin_dmac_layout bf54x_dmac[] =
999 { 1040 {
1000 { BFIN_MMR_DMAC0_BASE, 12, }, 1041 { BFIN_MMR_DMAC0_BASE, 12, },
1001 { BFIN_MMR_DMAC1_BASE, 12, }, 1042 { BFIN_MMR_DMAC1_BASE, 12, },
1002 }; 1043 };
1003 #define bf542_dmac bf54x_dmac 1044 #define bf542_dmac bf54x_dmac
1004 #define bf544_dmac bf54x_dmac 1045 #define bf544_dmac bf54x_dmac
1005 #define bf547_dmac bf54x_dmac 1046 #define bf547_dmac bf54x_dmac
1006 #define bf548_dmac bf54x_dmac 1047 #define bf548_dmac bf54x_dmac
1007 #define bf549_dmac bf54x_dmac 1048 #define bf549_dmac bf54x_dmac
1049 #define PINT_PIQS(p, b, g) \
1050 PORT (p, "piq0@"#b, g, "p0"), \
1051 PORT (p, "piq1@"#b, g, "p1"), \
1052 PORT (p, "piq2@"#b, g, "p2"), \
1053 PORT (p, "piq3@"#b, g, "p3"), \
1054 PORT (p, "piq4@"#b, g, "p4"), \
1055 PORT (p, "piq5@"#b, g, "p5"), \
1056 PORT (p, "piq6@"#b, g, "p6"), \
1057 PORT (p, "piq7@"#b, g, "p7"), \
1058 PORT (p, "piq8@"#b, g, "p8"), \
1059 PORT (p, "piq9@"#b, g, "p9"), \
1060 PORT (p, "piq10@"#b, g, "p10"), \
1061 PORT (p, "piq11@"#b, g, "p11"), \
1062 PORT (p, "piq12@"#b, g, "p12"), \
1063 PORT (p, "piq13@"#b, g, "p13"), \
1064 PORT (p, "piq14@"#b, g, "p14"), \
1065 PORT (p, "piq15@"#b, g, "p15")
1008 static const struct bfin_port_layout bf54x_port[] = 1066 static const struct bfin_port_layout bf54x_port[] =
1009 { 1067 {
1010 SIC (0, 0, "bfin_pll", "pll"), 1068 SIC (0, 0, "bfin_pll", "pll"),
1011 SIC (0, 1, "bfin_dmac@0", "stat"), 1069 SIC (0, 1, "bfin_dmac@0", "stat"),
1012 SIC (0, 2, "bfin_eppi@0", "stat"), 1070 SIC (0, 2, "bfin_eppi@0", "stat"),
1013 SIC (0, 3, "bfin_sport@0", "stat"), 1071 SIC (0, 3, "bfin_sport@0", "stat"),
1014 SIC (0, 4, "bfin_sport@1", "stat"), 1072 SIC (0, 4, "bfin_sport@1", "stat"),
1015 SIC (0, 5, "bfin_spi@0", "stat"), 1073 SIC (0, 5, "bfin_spi@0", "stat"),
1016 SIC (0, 6, "bfin_uart2@0", "stat"), 1074 SIC (0, 6, "bfin_uart2@0", "stat"),
1017 SIC (0, 7, "bfin_rtc", "rtc"), 1075 SIC (0, 7, "bfin_rtc", "rtc"),
1018 SIC (0, 8, "bfin_dma@12", "di"), 1076 SIC (0, 8, "bfin_dma@12", "di"),
1019 SIC (0, 9, "bfin_dma@0", "di"), 1077 SIC (0, 9, "bfin_dma@0", "di"),
1020 SIC (0, 10, "bfin_dma@1", "di"), 1078 SIC (0, 10, "bfin_dma@1", "di"),
1021 SIC (0, 11, "bfin_dma@2", "di"), 1079 SIC (0, 11, "bfin_dma@2", "di"),
1022 SIC (0, 12, "bfin_dma@3", "di"), 1080 SIC (0, 12, "bfin_dma@3", "di"),
1023 SIC (0, 13, "bfin_dma@4", "di"), 1081 SIC (0, 13, "bfin_dma@4", "di"),
1024 SIC (0, 14, "bfin_dma@6", "di"), 1082 SIC (0, 14, "bfin_dma@6", "di"),
1025 SIC (0, 15, "bfin_dma@7", "di"), 1083 SIC (0, 15, "bfin_dma@7", "di"),
1026 SIC (0, 16, "bfin_gptimer@8", "stat"), 1084 SIC (0, 16, "bfin_gptimer@8", "stat"),
1027 SIC (0, 17, "bfin_gptimer@9", "stat"), 1085 SIC (0, 17, "bfin_gptimer@9", "stat"),
1028 SIC (0, 18, "bfin_gptimer@10", "stat"), 1086 SIC (0, 18, "bfin_gptimer@10", "stat"),
1029 SIC (0, 19, "bfin_pint@0", "stat"), 1087 SIC (0, 19, "bfin_pint@0", "stat"),
1088 PINT_PIQS ("bfin_pint@0", 0, "bfin_gpio2@0"),
1089 PINT_PIQS ("bfin_pint@0", 1, "bfin_gpio2@1"),
1030 SIC (0, 20, "bfin_pint@1", "stat"), 1090 SIC (0, 20, "bfin_pint@1", "stat"),
1091 PINT_PIQS ("bfin_pint@1", 0, "bfin_gpio2@0"),
1092 PINT_PIQS ("bfin_pint@1", 1, "bfin_gpio2@1"),
1031 SIC (0, 21, "bfin_dma@256", "di"), /* mdma0 */ 1093 SIC (0, 21, "bfin_dma@256", "di"), /* mdma0 */
1032 SIC (0, 21, "bfin_dma@257", "di"), /* mdma0 */ 1094 SIC (0, 21, "bfin_dma@257", "di"), /* mdma0 */
1033 SIC (0, 22, "bfin_dma@258", "di"), /* mdma1 */ 1095 SIC (0, 22, "bfin_dma@258", "di"), /* mdma1 */
1034 SIC (0, 22, "bfin_dma@259", "di"), /* mdma1 */ 1096 SIC (0, 22, "bfin_dma@259", "di"), /* mdma1 */
1035 SIC (0, 23, "bfin_wdog@0", "gpi"), 1097 SIC (0, 23, "bfin_wdog@0", "gpi"),
1036 SIC (0, 24, "bfin_dmac@1", "stat"), 1098 SIC (0, 24, "bfin_dmac@1", "stat"),
1037 SIC (0, 25, "bfin_sport@2", "stat"), 1099 SIC (0, 25, "bfin_sport@2", "stat"),
1038 SIC (0, 26, "bfin_sport@3", "stat"), 1100 SIC (0, 26, "bfin_sport@3", "stat"),
1039 SIC (0, 27, "bfin_mxvr", "data"), 1101 SIC (0, 27, "bfin_mxvr", "data"),
1040 SIC (0, 28, "bfin_spi@1", "stat"), 1102 SIC (0, 28, "bfin_spi@1", "stat"),
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
1102 /*SIC (2, 21, reserved),*/ 1164 /*SIC (2, 21, reserved),*/
1103 SIC (2, 22, "bfin_gptimer@0", "stat"), 1165 SIC (2, 22, "bfin_gptimer@0", "stat"),
1104 SIC (2, 23, "bfin_gptimer@1", "stat"), 1166 SIC (2, 23, "bfin_gptimer@1", "stat"),
1105 SIC (2, 24, "bfin_gptimer@2", "stat"), 1167 SIC (2, 24, "bfin_gptimer@2", "stat"),
1106 SIC (2, 25, "bfin_gptimer@3", "stat"), 1168 SIC (2, 25, "bfin_gptimer@3", "stat"),
1107 SIC (2, 26, "bfin_gptimer@4", "stat"), 1169 SIC (2, 26, "bfin_gptimer@4", "stat"),
1108 SIC (2, 27, "bfin_gptimer@5", "stat"), 1170 SIC (2, 27, "bfin_gptimer@5", "stat"),
1109 SIC (2, 28, "bfin_gptimer@6", "stat"), 1171 SIC (2, 28, "bfin_gptimer@6", "stat"),
1110 SIC (2, 29, "bfin_gptimer@7", "stat"), 1172 SIC (2, 29, "bfin_gptimer@7", "stat"),
1111 SIC (2, 30, "bfin_pint@2", "stat"), 1173 SIC (2, 30, "bfin_pint@2", "stat"),
1174 PINT_PIQS ("bfin_pint@2", 0, "bfin_gpio2@2"),
1175 PINT_PIQS ("bfin_pint@2", 1, "bfin_gpio2@3"),
1176 PINT_PIQS ("bfin_pint@2", 2, "bfin_gpio2@4"),
1177 PINT_PIQS ("bfin_pint@2", 3, "bfin_gpio2@5"),
1178 PINT_PIQS ("bfin_pint@2", 4, "bfin_gpio2@6"),
1179 PINT_PIQS ("bfin_pint@2", 5, "bfin_gpio2@7"),
1180 PINT_PIQS ("bfin_pint@2", 6, "bfin_gpio2@8"),
1181 PINT_PIQS ("bfin_pint@2", 7, "bfin_gpio2@9"),
1112 SIC (2, 31, "bfin_pint@3", "stat"), 1182 SIC (2, 31, "bfin_pint@3", "stat"),
1183 PINT_PIQS ("bfin_pint@3", 0, "bfin_gpio2@2"),
1184 PINT_PIQS ("bfin_pint@3", 1, "bfin_gpio2@3"),
1185 PINT_PIQS ("bfin_pint@3", 2, "bfin_gpio2@4"),
1186 PINT_PIQS ("bfin_pint@3", 3, "bfin_gpio2@5"),
1187 PINT_PIQS ("bfin_pint@3", 4, "bfin_gpio2@6"),
1188 PINT_PIQS ("bfin_pint@3", 5, "bfin_gpio2@7"),
1189 PINT_PIQS ("bfin_pint@3", 6, "bfin_gpio2@8"),
1190 PINT_PIQS ("bfin_pint@3", 7, "bfin_gpio2@9"),
1113 }; 1191 };
1114 #define bf542_port bf54x_port 1192 #define bf542_port bf54x_port
1115 #define bf544_port bf54x_port 1193 #define bf544_port bf54x_port
1116 #define bf547_port bf54x_port 1194 #define bf547_port bf54x_port
1117 #define bf548_port bf54x_port 1195 #define bf548_port bf54x_port
1118 #define bf549_port bf54x_port 1196 #define bf549_port bf54x_port
1119 1197
1120 /* This is only Core A of course ... */ 1198 /* This is only Core A of course ... */
1121 #define bf561_chipid 0x27bb 1199 #define bf561_chipid 0x27bb
1122 static const struct bfin_memory_layout bf561_mem[] = 1200 static const struct bfin_memory_layout bf561_mem[] =
(...skipping 411 matching lines...) Expand 10 before | Expand all | Expand 10 after
1534 BFROM (538, 5, 0x1000000), 1612 BFROM (538, 5, 0x1000000),
1535 BFROM (538, 4, 0x1000000), 1613 BFROM (538, 4, 0x1000000),
1536 BFROM (538, 3, 0x1000000), 1614 BFROM (538, 3, 0x1000000),
1537 BFROM (538, 2, 0x1000000), 1615 BFROM (538, 2, 0x1000000),
1538 BFROM (538, 1, 0x1000000), 1616 BFROM (538, 1, 0x1000000),
1539 BFROM (538, 0, 0x1000000), 1617 BFROM (538, 0, 0x1000000),
1540 BFROM_STUB, 1618 BFROM_STUB,
1541 }; 1619 };
1542 static const struct bfrom bf54x_roms[] = 1620 static const struct bfrom bf54x_roms[] =
1543 { 1621 {
1544 BFROM (54x, 4, 0), 1622 BFROM (54x, 4, 0x1000),
1545 BFROM (54x, 2, 0), 1623 BFROM (54x, 2, 0x1000),
1546 BFROM (54x, 1, 0), 1624 BFROM (54x, 1, 0x1000),
1547 BFROM (54x, 0, 0), 1625 BFROM (54x, 0, 0x1000),
1548 BFROMA (0xffa14000, 54x_l1, 4, 0), 1626 BFROMA (0xffa14000, 54x_l1, 4, 0x10000),
1549 BFROMA (0xffa14000, 54x_l1, 2, 0), 1627 BFROMA (0xffa14000, 54x_l1, 2, 0x10000),
1550 BFROMA (0xffa14000, 54x_l1, 1, 0), 1628 BFROMA (0xffa14000, 54x_l1, 1, 0x10000),
1551 BFROMA (0xffa14000, 54x_l1, 0, 0), 1629 BFROMA (0xffa14000, 54x_l1, 0, 0x10000),
1552 BFROM_STUB, 1630 BFROM_STUB,
1553 }; 1631 };
1554 static const struct bfrom bf561_roms[] = 1632 static const struct bfrom bf561_roms[] =
1555 { 1633 {
1556 /* XXX: No idea what the actual wrap limit is here. */ 1634 /* XXX: No idea what the actual wrap limit is here. */
1557 BFROM (561, 5, 0), 1635 BFROM (561, 5, 0x1000),
1558 BFROM_STUB, 1636 BFROM_STUB,
1559 }; 1637 };
1560 static const struct bfrom bf59x_roms[] = 1638 static const struct bfrom bf59x_roms[] =
1561 { 1639 {
1562 BFROM (59x, 1, 0x1000000), 1640 BFROM (59x, 1, 0x1000000),
1563 BFROM (59x, 0, 0x1000000), 1641 BFROM (59x, 0, 0x1000000),
1564 BFROMA (0xffa10000, 59x_l1, 1, 0), 1642 BFROMA (0xffa10000, 59x_l1, 1, 0x10000),
1565 BFROM_STUB, 1643 BFROM_STUB,
1566 }; 1644 };
1567 1645
1568 static void 1646 static void
1569 bfin_model_map_bfrom (SIM_DESC sd, SIM_CPU *cpu) 1647 bfin_model_map_bfrom (SIM_DESC sd, SIM_CPU *cpu)
1570 { 1648 {
1571 const struct bfin_model_data *mdata = CPU_MODEL_DATA (cpu); 1649 const struct bfin_model_data *mdata = CPU_MODEL_DATA (cpu);
1572 const struct bfin_board_data *board = STATE_BOARD_DATA (sd); 1650 const struct bfin_board_data *board = STATE_BOARD_DATA (sd);
1573 int mnum = mdata->model_num; 1651 int mnum = mdata->model_num;
1574 const struct bfrom *bfrom; 1652 const struct bfrom *bfrom;
1575 unsigned int sirev; 1653 unsigned int sirev;
1576 1654
1577 if (mnum >= 500 && mnum <= 509) 1655 if (mnum >= 500 && mnum <= 509)
1578 bfrom = bf50x_roms; 1656 bfrom = bf50x_roms;
1579 else if (mnum >= 510 && mnum <= 519) 1657 else if (mnum >= 510 && mnum <= 519)
1580 bfrom = bf51x_roms; 1658 bfrom = bf51x_roms;
1581 else if (mnum >= 520 && mnum <= 529) 1659 else if (mnum >= 520 && mnum <= 529)
1582 bfrom = (mnum & 1) ? bf527_roms : bf526_roms; 1660 bfrom = (mnum & 1) ? bf527_roms : bf526_roms;
1583 else if (mnum >= 531 && mnum <= 533) 1661 else if (mnum >= 531 && mnum <= 533)
1584 bfrom = bf533_roms; 1662 bfrom = bf533_roms;
1585 else if (mnum == 535) 1663 else if (mnum == 535)
1586 /* Stub. */; 1664 return; /* Stub. */
1587 else if (mnum >= 534 && mnum <= 537) 1665 else if (mnum >= 534 && mnum <= 537)
1588 bfrom = bf537_roms; 1666 bfrom = bf537_roms;
1589 else if (mnum >= 538 && mnum <= 539) 1667 else if (mnum >= 538 && mnum <= 539)
1590 bfrom = bf538_roms; 1668 bfrom = bf538_roms;
1591 else if (mnum >= 540 && mnum <= 549) 1669 else if (mnum >= 540 && mnum <= 549)
1592 bfrom = bf54x_roms; 1670 bfrom = bf54x_roms;
1593 else if (mnum == 561) 1671 else if (mnum == 561)
1594 bfrom = bf561_roms; 1672 bfrom = bf561_roms;
1595 else if (mnum >= 590 && mnum <= 599) 1673 else if (mnum >= 590 && mnum <= 599)
1596 bfrom = bf59x_roms; 1674 bfrom = bf59x_roms;
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after
1774 bu32 value, *reg; 1852 bu32 value, *reg;
1775 1853
1776 reg = bfin_get_reg (cpu, rn); 1854 reg = bfin_get_reg (cpu, rn);
1777 if (reg) 1855 if (reg)
1778 value = *reg; 1856 value = *reg;
1779 else if (rn == SIM_BFIN_ASTAT_REGNUM) 1857 else if (rn == SIM_BFIN_ASTAT_REGNUM)
1780 value = ASTAT; 1858 value = ASTAT;
1781 else if (rn == SIM_BFIN_CC_REGNUM) 1859 else if (rn == SIM_BFIN_CC_REGNUM)
1782 value = CCREG; 1860 value = CCREG;
1783 else 1861 else
1784 return 0; // will be an error in gdb 1862 return -1;
1785 1863
1786 /* Handle our KSP/USP shadowing in SP. While in supervisor mode, we 1864 /* Handle our KSP/USP shadowing in SP. While in supervisor mode, we
1787 have the normal SP/USP behavior. User mode is tricky though. */ 1865 have the normal SP/USP behavior. User mode is tricky though. */
1788 if (STATE_ENVIRONMENT (CPU_STATE (cpu)) == OPERATING_ENVIRONMENT 1866 if (STATE_ENVIRONMENT (CPU_STATE (cpu)) == OPERATING_ENVIRONMENT
1789 && cec_is_user_mode (cpu)) 1867 && cec_is_user_mode (cpu))
1790 { 1868 {
1791 if (rn == SIM_BFIN_SP_REGNUM) 1869 if (rn == SIM_BFIN_SP_REGNUM)
1792 value = KSPREG; 1870 value = KSPREG;
1793 else if (rn == SIM_BFIN_USP_REGNUM) 1871 else if (rn == SIM_BFIN_USP_REGNUM)
1794 value = SPREG; 1872 value = SPREG;
1795 } 1873 }
1796 1874
1797 bfin_store_unsigned_integer (buf, 4, value); 1875 bfin_store_unsigned_integer (buf, 4, value);
1798 1876
1799 return -1; // disables size checking in gdb 1877 return 4;
1800 } 1878 }
1801 1879
1802 static int 1880 static int
1803 bfin_reg_store (SIM_CPU *cpu, int rn, unsigned char *buf, int len) 1881 bfin_reg_store (SIM_CPU *cpu, int rn, unsigned char *buf, int len)
1804 { 1882 {
1805 bu32 value, *reg; 1883 bu32 value, *reg;
1806 1884
1807 value = bfin_extract_unsigned_integer (buf, 4); 1885 value = bfin_extract_unsigned_integer (buf, 4);
1808 reg = bfin_get_reg (cpu, rn); 1886 reg = bfin_get_reg (cpu, rn);
1809 1887
1810 if (reg) 1888 if (reg)
1811 /* XXX: Need register trace ? */ 1889 /* XXX: Need register trace ? */
1812 *reg = value; 1890 *reg = value;
1813 else if (rn == SIM_BFIN_ASTAT_REGNUM) 1891 else if (rn == SIM_BFIN_ASTAT_REGNUM)
1814 SET_ASTAT (value); 1892 SET_ASTAT (value);
1815 else if (rn == SIM_BFIN_CC_REGNUM) 1893 else if (rn == SIM_BFIN_CC_REGNUM)
1816 SET_CCREG (value); 1894 SET_CCREG (value);
1817 else 1895 else
1818 return 0; // will be an error in gdb 1896 return -1;
1819 1897
1820 return -1; // disables size checking in gdb 1898 return 4;
1821 } 1899 }
1822 1900
1823 static sim_cia 1901 static sim_cia
1824 bfin_pc_get (SIM_CPU *cpu) 1902 bfin_pc_get (SIM_CPU *cpu)
1825 { 1903 {
1826 return PCREG; 1904 return PCREG;
1827 } 1905 }
1828 1906
1829 static void 1907 static void
1830 bfin_pc_set (SIM_CPU *cpu, sim_cia newpc) 1908 bfin_pc_set (SIM_CPU *cpu, sim_cia newpc)
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
1933 2011
1934 case OPTION_MACH_HW_BOARD_FILE: 2012 case OPTION_MACH_HW_BOARD_FILE:
1935 board->hw_file = xstrdup (arg); 2013 board->hw_file = xstrdup (arg);
1936 return SIM_RC_OK; 2014 return SIM_RC_OK;
1937 2015
1938 default: 2016 default:
1939 sim_io_eprintf (sd, "Unknown Blackfin option %d\n", opt); 2017 sim_io_eprintf (sd, "Unknown Blackfin option %d\n", opt);
1940 return SIM_RC_FAIL; 2018 return SIM_RC_FAIL;
1941 } 2019 }
1942 } 2020 }
OLDNEW
« no previous file with comments | « sim/bfin/machs.h ('k') | sim/common/ChangeLog » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698