[v0.94][ARM] Add Kirin and Broadcom ASCII arts. Fix Broadcom SoCs detection

This commit is contained in:
Dr-Noob
2020-11-28 13:51:02 +01:00
parent fd898331f8
commit 35c2aa7e6f
3 changed files with 73 additions and 9 deletions

View File

@@ -15,7 +15,7 @@ static char* soc_trademark_string[] = {
[SOC_MEDIATEK] = "MediaTek ", [SOC_MEDIATEK] = "MediaTek ",
[SOC_EXYNOS] = "Exynos ", [SOC_EXYNOS] = "Exynos ",
[SOC_KIRIN] = "Kirin ", [SOC_KIRIN] = "Kirin ",
[SOC_BROADCOM] = "Broadcom", [SOC_BROADCOM] = "Broadcom BCM",
}; };
void fill_soc(struct system_on_chip* soc, char* soc_name, VENDOR soc_vendor, int32_t process) { void fill_soc(struct system_on_chip* soc, char* soc_name, VENDOR soc_vendor, int32_t process) {
@@ -415,6 +415,9 @@ struct system_on_chip* parse_soc_from_string(struct system_on_chip* soc) {
if(match_hisilicon(raw_name, soc)) if(match_hisilicon(raw_name, soc))
return soc; return soc;
if(match_broadcom(raw_name, soc))
return soc;
match_special(raw_name, soc); match_special(raw_name, soc);
return soc; return soc;

View File

@@ -109,6 +109,47 @@
\ \
" "
#define KIRIN_ASCII \
" \
\
\
\
\
####### \
##### #################### \
###################################### \
####################################### \
####################################### \
############################## \
########################## \
######################### \
######################## \
######################## \
######################### \
######################### \
\
"
#define BROADCOM_ASCII \
" \
################ \
######################### \
############################### \
################@@@@################ \
################@@@@@@################ \
#################@@@@@@################ \
#################@@@@@@@@################# \
#################@@@@@@@@################# \
#################@@@@##@@@@################ \
################@@@@##@@@@################ \
###############@@@@####@@@@############### \
@@@@@@@@@@####@@@@####@@@@####@@@@@@@@@@ \
######@@@@@@@@@@######@@@@@@@@@@###### \
################################## \
############################## \
######################## \
############### \
"
#define ARM_ASCII \ #define ARM_ASCII \
" \ " \
@@ -159,6 +200,8 @@ static const char* ASCII_ARRAY [] = {
SNAPDRAGON_ASCII, SNAPDRAGON_ASCII,
MEDIATEK_ASCII, MEDIATEK_ASCII,
EXYNOS_ASCII, EXYNOS_ASCII,
KIRIN_ASCII,
BROADCOM_ASCII,
UNKNOWN_ASCII UNKNOWN_ASCII
}; };

View File

@@ -190,6 +190,20 @@ struct ascii* set_ascii(VENDOR vendor, STYLE style, struct colors* cs) {
COL_FANCY_4 = COLOR_FG_WHITE; COL_FANCY_4 = COLOR_FG_WHITE;
art->ascii_chars[0] = '@'; art->ascii_chars[0] = '@';
} }
else if(art->vendor == SOC_KIRIN) {
COL_FANCY_1 = COLOR_BG_WHITE;
COL_FANCY_2 = COLOR_BG_RED;
COL_FANCY_3 = COLOR_FG_WHITE;
COL_FANCY_4 = COLOR_FG_RED;
art->ascii_chars[0] = '@';
}
else if(art->vendor == SOC_BROADCOM) {
COL_FANCY_1 = COLOR_BG_WHITE;
COL_FANCY_2 = COLOR_BG_RED;
COL_FANCY_3 = COLOR_FG_WHITE;
COL_FANCY_4 = COLOR_FG_RED;
art->ascii_chars[0] = '@';
}
else { else {
COL_FANCY_1 = COLOR_BG_CYAN; COL_FANCY_1 = COLOR_BG_CYAN;
COL_FANCY_2 = COLOR_BG_CYAN; COL_FANCY_2 = COLOR_BG_CYAN;
@@ -295,6 +309,10 @@ struct ascii* set_ascii(VENDOR vendor, STYLE style, struct colors* cs) {
strcpy(tmp, MEDIATEK_ASCII); strcpy(tmp, MEDIATEK_ASCII);
else if(art->vendor == SOC_EXYNOS) else if(art->vendor == SOC_EXYNOS)
strcpy(tmp, EXYNOS_ASCII); strcpy(tmp, EXYNOS_ASCII);
else if(art->vendor == SOC_KIRIN)
strcpy(tmp, KIRIN_ASCII);
else if(art->vendor == SOC_BROADCOM)
strcpy(tmp, BROADCOM_ASCII);
else else
strcpy(tmp, ARM_ASCII); strcpy(tmp, ARM_ASCII);
#endif #endif
@@ -574,7 +592,7 @@ void print_ascii_arm(struct ascii* art, uint32_t la, void (*callback_print_algor
void print_ascii(struct ascii* art) { void print_ascii(struct ascii* art) {
uint32_t longest_attribute = longest_attribute_length(art); uint32_t longest_attribute = longest_attribute_length(art);
if(art->vendor == SOC_SNAPDRAGON || art->vendor == SOC_MEDIATEK) if(art->vendor == SOC_SNAPDRAGON || art->vendor == SOC_MEDIATEK || art->vendor == SOC_KIRIN || art->vendor == SOC_BROADCOM)
print_ascii_arm(art, longest_attribute, &print_algorithm_snapd_mtk); print_ascii_arm(art, longest_attribute, &print_algorithm_snapd_mtk);
else if(art->vendor == SOC_EXYNOS) else if(art->vendor == SOC_EXYNOS)
print_ascii_arm(art, longest_attribute, &print_algorithm_samsung); print_ascii_arm(art, longest_attribute, &print_algorithm_samsung);