cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

regd_common.h (14468B)


      1/*
      2 * Copyright (c) 2008-2009 Atheros Communications Inc.
      3 *
      4 * Permission to use, copy, modify, and/or distribute this software for any
      5 * purpose with or without fee is hereby granted, provided that the above
      6 * copyright notice and this permission notice appear in all copies.
      7 *
      8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
      9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
     10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
     11 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
     12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
     13 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
     14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
     15 */
     16
     17#ifndef REGD_COMMON_H
     18#define REGD_COMMON_H
     19
     20enum EnumRd {
     21	NO_ENUMRD = 0x00,
     22	NULL1_WORLD = 0x03,
     23	NULL1_ETSIB = 0x07,
     24	NULL1_ETSIC = 0x08,
     25	FCC1_FCCA = 0x10,
     26	FCC1_WORLD = 0x11,
     27	FCC4_FCCA = 0x12,
     28	FCC5_FCCA = 0x13,
     29	FCC6_FCCA = 0x14,
     30
     31	FCC2_FCCA = 0x20,
     32	FCC2_WORLD = 0x21,
     33	FCC2_ETSIC = 0x22,
     34	FCC6_WORLD = 0x23,
     35	FRANCE_RES = 0x31,
     36	FCC3_FCCA = 0x3A,
     37	FCC3_WORLD = 0x3B,
     38	FCC3_ETSIC = 0x3F,
     39
     40	ETSI1_WORLD = 0x37,
     41	ETSI3_ETSIA = 0x32,
     42	ETSI2_WORLD = 0x35,
     43	ETSI3_WORLD = 0x36,
     44	ETSI4_WORLD = 0x30,
     45	ETSI4_ETSIC = 0x38,
     46	ETSI5_WORLD = 0x39,
     47	ETSI6_WORLD = 0x34,
     48	ETSI8_WORLD = 0x3D,
     49	ETSI9_WORLD = 0x3E,
     50	ETSI_RESERVED = 0x33,
     51
     52	MKK1_MKKA = 0x40,
     53	MKK1_MKKB = 0x41,
     54	APL4_WORLD = 0x42,
     55	MKK2_MKKA = 0x43,
     56	APL_RESERVED = 0x44,
     57	APL2_WORLD = 0x45,
     58	APL2_APLC = 0x46,
     59	APL3_WORLD = 0x47,
     60	MKK1_FCCA = 0x48,
     61	APL2_APLD = 0x49,
     62	MKK1_MKKA1 = 0x4A,
     63	MKK1_MKKA2 = 0x4B,
     64	MKK1_MKKC = 0x4C,
     65	APL2_FCCA = 0x4D,
     66
     67	APL3_FCCA = 0x50,
     68	APL1_WORLD = 0x52,
     69	APL1_FCCA = 0x53,
     70	APL1_APLA = 0x54,
     71	APL1_ETSIC = 0x55,
     72	APL2_ETSIC = 0x56,
     73	APL5_WORLD = 0x58,
     74	APL13_WORLD = 0x5A,
     75	APL6_WORLD = 0x5B,
     76	APL7_FCCA = 0x5C,
     77	APL8_WORLD = 0x5D,
     78	APL9_WORLD = 0x5E,
     79	APL10_WORLD = 0x5F,
     80
     81	WOR0_WORLD = 0x60,
     82	WOR1_WORLD = 0x61,
     83	WOR2_WORLD = 0x62,
     84	WOR3_WORLD = 0x63,
     85	WOR4_WORLD = 0x64,
     86	WOR5_ETSIC = 0x65,
     87
     88	WOR01_WORLD = 0x66,
     89	WOR02_WORLD = 0x67,
     90	EU1_WORLD = 0x68,
     91
     92	WOR9_WORLD = 0x69,
     93	WORA_WORLD = 0x6A,
     94	WORB_WORLD = 0x6B,
     95	WORC_WORLD = 0x6C,
     96
     97	MKK3_MKKB = 0x80,
     98	MKK3_MKKA2 = 0x81,
     99	MKK3_MKKC = 0x82,
    100
    101	MKK4_MKKB = 0x83,
    102	MKK4_MKKA2 = 0x84,
    103	MKK4_MKKC = 0x85,
    104
    105	MKK5_MKKB = 0x86,
    106	MKK5_MKKA2 = 0x87,
    107	MKK5_MKKC = 0x88,
    108
    109	MKK6_MKKB = 0x89,
    110	MKK6_MKKA2 = 0x8A,
    111	MKK6_MKKC = 0x8B,
    112
    113	MKK7_MKKB = 0x8C,
    114	MKK7_MKKA2 = 0x8D,
    115	MKK7_MKKC = 0x8E,
    116
    117	MKK8_MKKB = 0x8F,
    118	MKK8_MKKA2 = 0x90,
    119	MKK8_MKKC = 0x91,
    120
    121	MKK14_MKKA1 = 0x92,
    122	MKK15_MKKA1 = 0x93,
    123
    124	MKK10_FCCA = 0xD0,
    125	MKK10_MKKA1 = 0xD1,
    126	MKK10_MKKC = 0xD2,
    127	MKK10_MKKA2 = 0xD3,
    128
    129	MKK11_MKKA = 0xD4,
    130	MKK11_FCCA = 0xD5,
    131	MKK11_MKKA1 = 0xD6,
    132	MKK11_MKKC = 0xD7,
    133	MKK11_MKKA2 = 0xD8,
    134
    135	MKK12_MKKA = 0xD9,
    136	MKK12_FCCA = 0xDA,
    137	MKK12_MKKA1 = 0xDB,
    138	MKK12_MKKC = 0xDC,
    139	MKK12_MKKA2 = 0xDD,
    140
    141	MKK13_MKKB = 0xDE,
    142
    143	MKK3_MKKA = 0xF0,
    144	MKK3_MKKA1 = 0xF1,
    145	MKK3_FCCA = 0xF2,
    146	MKK4_MKKA = 0xF3,
    147	MKK4_MKKA1 = 0xF4,
    148	MKK4_FCCA = 0xF5,
    149	MKK9_MKKA = 0xF6,
    150	MKK10_MKKA = 0xF7,
    151	MKK6_MKKA1 = 0xF8,
    152	MKK6_FCCA = 0xF9,
    153	MKK7_MKKA1 = 0xFA,
    154	MKK7_FCCA = 0xFB,
    155	MKK9_FCCA = 0xFC,
    156	MKK9_MKKA1 = 0xFD,
    157	MKK9_MKKC = 0xFE,
    158	MKK9_MKKA2 = 0xFF,
    159
    160	WORLD = 0x0199,
    161	DEBUG_REG_DMN = 0x01ff,
    162};
    163
    164/* Regpair to CTL band mapping */
    165static struct reg_dmn_pair_mapping regDomainPairs[] = {
    166	/* regpair, 5 GHz CTL, 2 GHz CTL */
    167	{NO_ENUMRD, DEBUG_REG_DMN, DEBUG_REG_DMN},
    168	{NULL1_WORLD, NO_CTL, CTL_ETSI},
    169	{NULL1_ETSIB, NO_CTL, CTL_ETSI},
    170	{NULL1_ETSIC, NO_CTL, CTL_ETSI},
    171
    172	{FCC2_FCCA, CTL_FCC, CTL_FCC},
    173	{FCC2_WORLD, CTL_FCC, CTL_ETSI},
    174	{FCC2_ETSIC, CTL_FCC, CTL_ETSI},
    175	{FCC3_FCCA, CTL_FCC, CTL_FCC},
    176	{FCC3_WORLD, CTL_FCC, CTL_ETSI},
    177	{FCC3_ETSIC, CTL_FCC, CTL_ETSI},
    178	{FCC4_FCCA, CTL_FCC, CTL_FCC},
    179	{FCC5_FCCA, CTL_FCC, CTL_FCC},
    180	{FCC6_FCCA, CTL_FCC, CTL_FCC},
    181	{FCC6_WORLD, CTL_FCC, CTL_ETSI},
    182
    183	{ETSI1_WORLD, CTL_ETSI, CTL_ETSI},
    184	{ETSI2_WORLD, CTL_ETSI, CTL_ETSI},
    185	{ETSI3_WORLD, CTL_ETSI, CTL_ETSI},
    186	{ETSI4_WORLD, CTL_ETSI, CTL_ETSI},
    187	{ETSI5_WORLD, CTL_ETSI, CTL_ETSI},
    188	{ETSI6_WORLD, CTL_ETSI, CTL_ETSI},
    189	{ETSI8_WORLD, CTL_ETSI, CTL_ETSI},
    190	{ETSI9_WORLD, CTL_ETSI, CTL_ETSI},
    191
    192	/* XXX: For ETSI3_ETSIA, Was NO_CTL meant for the 2 GHz band ? */
    193	{ETSI3_ETSIA, CTL_ETSI, CTL_ETSI},
    194	{FRANCE_RES, CTL_ETSI, CTL_ETSI},
    195
    196	{FCC1_WORLD, CTL_FCC, CTL_ETSI},
    197	{FCC1_FCCA, CTL_FCC, CTL_FCC},
    198	{APL1_WORLD, CTL_FCC, CTL_ETSI},
    199	{APL2_WORLD, CTL_FCC, CTL_ETSI},
    200	{APL2_FCCA, CTL_FCC, CTL_FCC},
    201	{APL3_WORLD, CTL_FCC, CTL_ETSI},
    202	{APL4_WORLD, CTL_FCC, CTL_ETSI},
    203	{APL5_WORLD, CTL_FCC, CTL_ETSI},
    204	{APL13_WORLD, CTL_ETSI, CTL_ETSI},
    205	{APL6_WORLD, CTL_ETSI, CTL_ETSI},
    206	{APL8_WORLD, CTL_ETSI, CTL_ETSI},
    207	{APL9_WORLD, CTL_ETSI, CTL_ETSI},
    208	{APL10_WORLD, CTL_ETSI, CTL_ETSI},
    209
    210	{APL3_FCCA, CTL_FCC, CTL_FCC},
    211	{APL7_FCCA, CTL_FCC, CTL_FCC},
    212	{APL1_ETSIC, CTL_FCC, CTL_ETSI},
    213	{APL2_ETSIC, CTL_FCC, CTL_ETSI},
    214	{APL2_APLD, CTL_FCC, NO_CTL},
    215
    216	{MKK1_MKKA, CTL_MKK, CTL_MKK},
    217	{MKK1_MKKB, CTL_MKK, CTL_MKK},
    218	{MKK1_FCCA, CTL_MKK, CTL_FCC},
    219	{MKK1_MKKA1, CTL_MKK, CTL_MKK},
    220	{MKK1_MKKA2, CTL_MKK, CTL_MKK},
    221	{MKK1_MKKC, CTL_MKK, CTL_MKK},
    222
    223	{MKK2_MKKA, CTL_MKK, CTL_MKK},
    224	{MKK3_MKKA, CTL_MKK, CTL_MKK},
    225	{MKK3_MKKB, CTL_MKK, CTL_MKK},
    226	{MKK3_MKKA1, CTL_MKK, CTL_MKK},
    227	{MKK3_MKKA2, CTL_MKK, CTL_MKK},
    228	{MKK3_MKKC, CTL_MKK, CTL_MKK},
    229	{MKK3_FCCA, CTL_MKK, CTL_FCC},
    230
    231	{MKK4_MKKA, CTL_MKK, CTL_MKK},
    232	{MKK4_MKKB, CTL_MKK, CTL_MKK},
    233	{MKK4_MKKA1, CTL_MKK, CTL_MKK},
    234	{MKK4_MKKA2, CTL_MKK, CTL_MKK},
    235	{MKK4_MKKC, CTL_MKK, CTL_MKK},
    236	{MKK4_FCCA, CTL_MKK, CTL_FCC},
    237
    238	{MKK5_MKKB, CTL_MKK, CTL_MKK},
    239	{MKK5_MKKA2, CTL_MKK, CTL_MKK},
    240	{MKK5_MKKC, CTL_MKK, CTL_MKK},
    241
    242	{MKK6_MKKB, CTL_MKK, CTL_MKK},
    243	{MKK6_MKKA1, CTL_MKK, CTL_MKK},
    244	{MKK6_MKKA2, CTL_MKK, CTL_MKK},
    245	{MKK6_MKKC, CTL_MKK, CTL_MKK},
    246	{MKK6_FCCA, CTL_MKK, CTL_FCC},
    247
    248	{MKK7_MKKB, CTL_MKK, CTL_MKK},
    249	{MKK7_MKKA1, CTL_MKK, CTL_MKK},
    250	{MKK7_MKKA2, CTL_MKK, CTL_MKK},
    251	{MKK7_MKKC, CTL_MKK, CTL_MKK},
    252	{MKK7_FCCA, CTL_MKK, CTL_FCC},
    253
    254	{MKK8_MKKB, CTL_MKK, CTL_MKK},
    255	{MKK8_MKKA2, CTL_MKK, CTL_MKK},
    256	{MKK8_MKKC, CTL_MKK, CTL_MKK},
    257
    258	{MKK9_MKKA, CTL_MKK, CTL_MKK},
    259	{MKK9_FCCA, CTL_MKK, CTL_FCC},
    260	{MKK9_MKKA1, CTL_MKK, CTL_MKK},
    261	{MKK9_MKKA2, CTL_MKK, CTL_MKK},
    262	{MKK9_MKKC, CTL_MKK, CTL_MKK},
    263
    264	{MKK10_MKKA, CTL_MKK, CTL_MKK},
    265	{MKK10_FCCA, CTL_MKK, CTL_FCC},
    266	{MKK10_MKKA1, CTL_MKK, CTL_MKK},
    267	{MKK10_MKKA2, CTL_MKK, CTL_MKK},
    268	{MKK10_MKKC, CTL_MKK, CTL_MKK},
    269
    270	{MKK11_MKKA, CTL_MKK, CTL_MKK},
    271	{MKK11_FCCA, CTL_MKK, CTL_FCC},
    272	{MKK11_MKKA1, CTL_MKK, CTL_MKK},
    273	{MKK11_MKKA2, CTL_MKK, CTL_MKK},
    274	{MKK11_MKKC, CTL_MKK, CTL_MKK},
    275
    276	{MKK12_MKKA, CTL_MKK, CTL_MKK},
    277	{MKK12_FCCA, CTL_MKK, CTL_FCC},
    278	{MKK12_MKKA1, CTL_MKK, CTL_MKK},
    279	{MKK12_MKKA2, CTL_MKK, CTL_MKK},
    280	{MKK12_MKKC, CTL_MKK, CTL_MKK},
    281
    282	{MKK13_MKKB, CTL_MKK, CTL_MKK},
    283	{MKK14_MKKA1, CTL_MKK, CTL_MKK},
    284	{MKK15_MKKA1, CTL_MKK, CTL_MKK},
    285
    286	{WOR0_WORLD, NO_CTL, NO_CTL},
    287	{WOR1_WORLD, NO_CTL, NO_CTL},
    288	{WOR2_WORLD, NO_CTL, NO_CTL},
    289	{WOR3_WORLD, NO_CTL, NO_CTL},
    290	{WOR4_WORLD, NO_CTL, NO_CTL},
    291	{WOR5_ETSIC, NO_CTL, NO_CTL},
    292	{WOR01_WORLD, NO_CTL, NO_CTL},
    293	{WOR02_WORLD, NO_CTL, NO_CTL},
    294	{EU1_WORLD, NO_CTL, NO_CTL},
    295	{WOR9_WORLD, NO_CTL, NO_CTL},
    296	{WORA_WORLD, NO_CTL, NO_CTL},
    297	{WORB_WORLD, NO_CTL, NO_CTL},
    298	{WORC_WORLD, NO_CTL, NO_CTL},
    299};
    300
    301static struct country_code_to_enum_rd allCountries[] = {
    302	{CTRY_DEBUG, NO_ENUMRD, "DB"},
    303	{CTRY_DEFAULT, FCC1_FCCA, "CO"},
    304	{CTRY_ALBANIA, ETSI1_WORLD, "AL"},
    305	{CTRY_ALGERIA, APL13_WORLD, "DZ"},
    306	{CTRY_ARGENTINA, FCC3_WORLD, "AR"},
    307	{CTRY_ARMENIA, ETSI4_WORLD, "AM"},
    308	{CTRY_ARUBA, ETSI1_WORLD, "AW"},
    309	{CTRY_AUSTRALIA, FCC3_WORLD, "AU"},
    310	{CTRY_AUSTRALIA2, FCC6_WORLD, "AU"},
    311	{CTRY_AUSTRIA, ETSI1_WORLD, "AT"},
    312	{CTRY_AZERBAIJAN, ETSI4_WORLD, "AZ"},
    313	{CTRY_BAHAMAS, FCC3_WORLD, "BS"},
    314	{CTRY_BAHRAIN, APL6_WORLD, "BH"},
    315	{CTRY_BANGLADESH, APL1_WORLD, "BD"},
    316	{CTRY_BARBADOS, FCC2_WORLD, "BB"},
    317	{CTRY_BELARUS, ETSI1_WORLD, "BY"},
    318	{CTRY_BELGIUM, ETSI1_WORLD, "BE"},
    319	{CTRY_BELGIUM2, ETSI4_WORLD, "BL"},
    320	{CTRY_BELIZE, APL1_ETSIC, "BZ"},
    321	{CTRY_BERMUDA, FCC3_FCCA, "BM"},
    322	{CTRY_BOLIVIA, APL1_ETSIC, "BO"},
    323	{CTRY_BOSNIA_HERZ, ETSI1_WORLD, "BA"},
    324	{CTRY_BRAZIL, FCC3_WORLD, "BR"},
    325	{CTRY_BRUNEI_DARUSSALAM, APL6_WORLD, "BN"},
    326	{CTRY_BULGARIA, ETSI1_WORLD, "BG"},
    327	{CTRY_CAMBODIA, ETSI1_WORLD, "KH"},
    328	{CTRY_CANADA, FCC3_FCCA, "CA"},
    329	{CTRY_CANADA2, FCC6_FCCA, "CA"},
    330	{CTRY_CHILE, APL6_WORLD, "CL"},
    331	{CTRY_CHINA, APL1_WORLD, "CN"},
    332	{CTRY_COLOMBIA, FCC3_WORLD, "CO"},
    333	{CTRY_COSTA_RICA, FCC1_WORLD, "CR"},
    334	{CTRY_CROATIA, ETSI1_WORLD, "HR"},
    335	{CTRY_CYPRUS, ETSI1_WORLD, "CY"},
    336	{CTRY_CZECH, ETSI1_WORLD, "CZ"},
    337	{CTRY_DENMARK, ETSI1_WORLD, "DK"},
    338	{CTRY_DOMINICAN_REPUBLIC, FCC1_FCCA, "DO"},
    339	{CTRY_ECUADOR, FCC1_WORLD, "EC"},
    340	{CTRY_EGYPT, ETSI3_WORLD, "EG"},
    341	{CTRY_EL_SALVADOR, FCC1_WORLD, "SV"},
    342	{CTRY_ESTONIA, ETSI1_WORLD, "EE"},
    343	{CTRY_FINLAND, ETSI1_WORLD, "FI"},
    344	{CTRY_FRANCE, ETSI1_WORLD, "FR"},
    345	{CTRY_GEORGIA, ETSI4_WORLD, "GE"},
    346	{CTRY_GERMANY, ETSI1_WORLD, "DE"},
    347	{CTRY_GREECE, ETSI1_WORLD, "GR"},
    348	{CTRY_GREENLAND, ETSI1_WORLD, "GL"},
    349	{CTRY_GRENADA, FCC3_FCCA, "GD"},
    350	{CTRY_GUAM, FCC1_FCCA, "GU"},
    351	{CTRY_GUATEMALA, FCC1_FCCA, "GT"},
    352	{CTRY_HAITI, ETSI1_WORLD, "HT"},
    353	{CTRY_HONDURAS, FCC3_WORLD, "HN"},
    354	{CTRY_HONG_KONG, FCC3_WORLD, "HK"},
    355	{CTRY_HUNGARY, ETSI1_WORLD, "HU"},
    356	{CTRY_ICELAND, ETSI1_WORLD, "IS"},
    357	{CTRY_INDIA, APL6_WORLD, "IN"},
    358	{CTRY_INDONESIA, NULL1_WORLD, "ID"},
    359	{CTRY_IRAN, APL1_WORLD, "IR"},
    360	{CTRY_IRELAND, ETSI1_WORLD, "IE"},
    361	{CTRY_ISRAEL, ETSI3_WORLD, "IL"},
    362	{CTRY_ITALY, ETSI1_WORLD, "IT"},
    363	{CTRY_JAMAICA, FCC3_WORLD, "JM"},
    364
    365	{CTRY_JAPAN, MKK1_MKKA, "JP"},
    366	{CTRY_JAPAN1, MKK1_MKKB, "JP"},
    367	{CTRY_JAPAN2, MKK1_FCCA, "JP"},
    368	{CTRY_JAPAN3, MKK2_MKKA, "JP"},
    369	{CTRY_JAPAN4, MKK1_MKKA1, "JP"},
    370	{CTRY_JAPAN5, MKK1_MKKA2, "JP"},
    371	{CTRY_JAPAN6, MKK1_MKKC, "JP"},
    372	{CTRY_JAPAN7, MKK3_MKKB, "JP"},
    373	{CTRY_JAPAN8, MKK3_MKKA2, "JP"},
    374	{CTRY_JAPAN9, MKK3_MKKC, "JP"},
    375	{CTRY_JAPAN10, MKK4_MKKB, "JP"},
    376	{CTRY_JAPAN11, MKK4_MKKA2, "JP"},
    377	{CTRY_JAPAN12, MKK4_MKKC, "JP"},
    378	{CTRY_JAPAN13, MKK5_MKKB, "JP"},
    379	{CTRY_JAPAN14, MKK5_MKKA2, "JP"},
    380	{CTRY_JAPAN15, MKK5_MKKC, "JP"},
    381	{CTRY_JAPAN16, MKK6_MKKB, "JP"},
    382	{CTRY_JAPAN17, MKK6_MKKA2, "JP"},
    383	{CTRY_JAPAN18, MKK6_MKKC, "JP"},
    384	{CTRY_JAPAN19, MKK7_MKKB, "JP"},
    385	{CTRY_JAPAN20, MKK7_MKKA2, "JP"},
    386	{CTRY_JAPAN21, MKK7_MKKC, "JP"},
    387	{CTRY_JAPAN22, MKK8_MKKB, "JP"},
    388	{CTRY_JAPAN23, MKK8_MKKA2, "JP"},
    389	{CTRY_JAPAN24, MKK8_MKKC, "JP"},
    390	{CTRY_JAPAN25, MKK3_MKKA, "JP"},
    391	{CTRY_JAPAN26, MKK3_MKKA1, "JP"},
    392	{CTRY_JAPAN27, MKK3_FCCA, "JP"},
    393	{CTRY_JAPAN28, MKK4_MKKA1, "JP"},
    394	{CTRY_JAPAN29, MKK4_FCCA, "JP"},
    395	{CTRY_JAPAN30, MKK6_MKKA1, "JP"},
    396	{CTRY_JAPAN31, MKK6_FCCA, "JP"},
    397	{CTRY_JAPAN32, MKK7_MKKA1, "JP"},
    398	{CTRY_JAPAN33, MKK7_FCCA, "JP"},
    399	{CTRY_JAPAN34, MKK9_MKKA, "JP"},
    400	{CTRY_JAPAN35, MKK10_MKKA, "JP"},
    401	{CTRY_JAPAN36, MKK4_MKKA, "JP"},
    402	{CTRY_JAPAN37, MKK9_FCCA, "JP"},
    403	{CTRY_JAPAN38, MKK9_MKKA1, "JP"},
    404	{CTRY_JAPAN39, MKK9_MKKC, "JP"},
    405	{CTRY_JAPAN40, MKK9_MKKA2, "JP"},
    406	{CTRY_JAPAN41, MKK10_FCCA, "JP"},
    407	{CTRY_JAPAN42, MKK10_MKKA1, "JP"},
    408	{CTRY_JAPAN43, MKK10_MKKC, "JP"},
    409	{CTRY_JAPAN44, MKK10_MKKA2, "JP"},
    410	{CTRY_JAPAN45, MKK11_MKKA, "JP"},
    411	{CTRY_JAPAN46, MKK11_FCCA, "JP"},
    412	{CTRY_JAPAN47, MKK11_MKKA1, "JP"},
    413	{CTRY_JAPAN48, MKK11_MKKC, "JP"},
    414	{CTRY_JAPAN49, MKK11_MKKA2, "JP"},
    415	{CTRY_JAPAN50, MKK12_MKKA, "JP"},
    416	{CTRY_JAPAN51, MKK12_FCCA, "JP"},
    417	{CTRY_JAPAN52, MKK12_MKKA1, "JP"},
    418	{CTRY_JAPAN53, MKK12_MKKC, "JP"},
    419	{CTRY_JAPAN54, MKK12_MKKA2, "JP"},
    420	{CTRY_JAPAN57, MKK13_MKKB, "JP"},
    421	{CTRY_JAPAN58, MKK14_MKKA1, "JP"},
    422	{CTRY_JAPAN59, MKK15_MKKA1, "JP"},
    423
    424	{CTRY_JORDAN, ETSI2_WORLD, "JO"},
    425	{CTRY_KAZAKHSTAN, NULL1_WORLD, "KZ"},
    426	{CTRY_KENYA, APL1_WORLD, "KE"},
    427	{CTRY_KOREA_NORTH, APL9_WORLD, "KP"},
    428	{CTRY_KOREA_ROC, APL9_WORLD, "KR"},
    429	{CTRY_KOREA_ROC2, APL2_WORLD, "K2"},
    430	{CTRY_KOREA_ROC3, APL9_WORLD, "K3"},
    431	{CTRY_KOREA_ROC4, APL10_WORLD, "K4"},
    432	{CTRY_KUWAIT, ETSI3_WORLD, "KW"},
    433	{CTRY_LATVIA, ETSI1_WORLD, "LV"},
    434	{CTRY_LEBANON, NULL1_WORLD, "LB"},
    435	{CTRY_LIECHTENSTEIN, ETSI1_WORLD, "LI"},
    436	{CTRY_LITHUANIA, ETSI1_WORLD, "LT"},
    437	{CTRY_LUXEMBOURG, ETSI1_WORLD, "LU"},
    438	{CTRY_MACAU, FCC2_WORLD, "MO"},
    439	{CTRY_MACEDONIA, ETSI1_WORLD, "MK"},
    440	{CTRY_MALAYSIA, FCC1_WORLD, "MY"},
    441	{CTRY_MALTA, ETSI1_WORLD, "MT"},
    442	{CTRY_MAURITIUS, ETSI1_WORLD, "MU"},
    443	{CTRY_MEXICO, FCC1_FCCA, "MX"},
    444	{CTRY_MONACO, ETSI4_WORLD, "MC"},
    445	{CTRY_MONTENEGRO, ETSI1_WORLD, "ME"},
    446	{CTRY_MOROCCO, APL4_WORLD, "MA"},
    447	{CTRY_NEPAL, APL1_WORLD, "NP"},
    448	{CTRY_NETHERLANDS, ETSI1_WORLD, "NL"},
    449	{CTRY_NETHERLANDS_ANTILLES, ETSI1_WORLD, "AN"},
    450	{CTRY_NEW_ZEALAND, FCC3_ETSIC, "NZ"},
    451	{CTRY_NICARAGUA, FCC3_FCCA, "NI"},
    452	{CTRY_NORWAY, ETSI1_WORLD, "NO"},
    453	{CTRY_OMAN, FCC3_WORLD, "OM"},
    454	{CTRY_PAKISTAN, NULL1_WORLD, "PK"},
    455	{CTRY_PANAMA, FCC1_FCCA, "PA"},
    456	{CTRY_PAPUA_NEW_GUINEA, FCC1_WORLD, "PG"},
    457	{CTRY_PARAGUAY, FCC3_WORLD, "PY"},
    458	{CTRY_PERU, FCC3_WORLD, "PE"},
    459	{CTRY_PHILIPPINES, FCC3_WORLD, "PH"},
    460	{CTRY_POLAND, ETSI1_WORLD, "PL"},
    461	{CTRY_PORTUGAL, ETSI1_WORLD, "PT"},
    462	{CTRY_PUERTO_RICO, FCC1_FCCA, "PR"},
    463	{CTRY_QATAR, APL1_WORLD, "QA"},
    464	{CTRY_ROMANIA, ETSI1_WORLD, "RO"},
    465	{CTRY_RUSSIA, ETSI8_WORLD, "RU"},
    466	{CTRY_SAUDI_ARABIA, NULL1_WORLD, "SA"},
    467	{CTRY_SERBIA, ETSI1_WORLD, "RS"},
    468	{CTRY_SERBIA_MONTENEGRO, ETSI1_WORLD, "CS"},
    469	{CTRY_SINGAPORE, FCC3_WORLD, "SG"},
    470	{CTRY_SLOVAKIA, ETSI1_WORLD, "SK"},
    471	{CTRY_SLOVENIA, ETSI1_WORLD, "SI"},
    472	{CTRY_SOUTH_AFRICA, FCC3_WORLD, "ZA"},
    473	{CTRY_SPAIN, ETSI1_WORLD, "ES"},
    474	{CTRY_SRI_LANKA, FCC3_WORLD, "LK"},
    475	{CTRY_SWEDEN, ETSI1_WORLD, "SE"},
    476	{CTRY_SWITZERLAND, ETSI1_WORLD, "CH"},
    477	{CTRY_SYRIA, NULL1_WORLD, "SY"},
    478	{CTRY_TAIWAN, APL3_FCCA, "TW"},
    479	{CTRY_TANZANIA, APL1_WORLD, "TZ"},
    480	{CTRY_THAILAND, FCC3_WORLD, "TH"},
    481	{CTRY_TRINIDAD_Y_TOBAGO, FCC3_WORLD, "TT"},
    482	{CTRY_TUNISIA, ETSI3_WORLD, "TN"},
    483	{CTRY_TURKEY, ETSI3_WORLD, "TR"},
    484	{CTRY_UGANDA, FCC3_WORLD, "UG"},
    485	{CTRY_UKRAINE, ETSI9_WORLD, "UA"},
    486	{CTRY_UAE, NULL1_WORLD, "AE"},
    487	{CTRY_UNITED_KINGDOM, ETSI1_WORLD, "GB"},
    488	{CTRY_UNITED_STATES, FCC3_FCCA, "US"},
    489	{CTRY_UNITED_STATES2, FCC3_FCCA, "US"},
    490	{CTRY_UNITED_STATES3, FCC3_FCCA, "US"},
    491	/* This "PS" is for US public safety actually... to support this we
    492	 * would need to assign new special alpha2 to CRDA db as with the world
    493	 * regdomain and use another alpha2 */
    494	{CTRY_UNITED_STATES_FCC49, FCC4_FCCA, "PS"},
    495	{CTRY_URUGUAY, FCC3_WORLD, "UY"},
    496	{CTRY_UZBEKISTAN, FCC3_FCCA, "UZ"},
    497	{CTRY_VENEZUELA, APL2_ETSIC, "VE"},
    498	{CTRY_VIET_NAM, NULL1_WORLD, "VN"},
    499	{CTRY_YEMEN, NULL1_WORLD, "YE"},
    500	{CTRY_ZIMBABWE, ETSI1_WORLD, "ZW"},
    501};
    502
    503#endif