From 57496ad0c73f596a2cdb6324d9d0100c84ad3bc5 Mon Sep 17 00:00:00 2001 From: mintsuki Date: Sun, 3 Jan 2021 02:43:27 +0100 Subject: [PATCH] stivale2: Implement MTRR Write Combining Framebuffer tag --- STIVALE2.md | 25 +++++++++++++++++++++++++ limine-pxe.bin | Bin 30749 -> 30838 bytes limine.bin | Bin 31133 -> 31222 bytes stage2.map | Bin 4549 -> 4549 bytes stage2/protos/stivale2.c | 16 ++++++++++++++++ stage2/sys/smp_trampoline.asm | 12 ++++++++++++ stivale/stivale2.h | 4 ++++ test/stivale2.c | 12 +++++++++++- 8 files changed, 68 insertions(+), 1 deletion(-) diff --git a/STIVALE2.md b/STIVALE2.md index 80963407..4575a204 100644 --- a/STIVALE2.md +++ b/STIVALE2.md @@ -210,6 +210,22 @@ struct stivale2_header_tag_framebuffer { } __attribute__((packed)); ``` +#### Framebuffer MTRR write-combining header tag + +The presence of this tag tells the bootloader to, in case a framebuffer was +requested, make that framebuffer's caching type write-combining using x86's +MTRR model specific registers. This caching type helps speed up framebuffer writes +on real hardware. + +It is recommended to use this tag in conjunction with the SMP tag in order to +let the bootloader make the MTRR settings uniform across all CPUs. + +If no framebuffer was requested, this tag has no effect. + +Identifier: `0x4c7bb07731282e00` + +This tag does not have extra members. + #### 5-level paging header tag The presence of this tag enables support for 5-level paging, if available. @@ -345,6 +361,15 @@ struct stivale2_struct_tag_framebuffer { } __attribute__((packed)); ``` +#### Framebuffer MTRR write-combining structure tag + +This tag exists if MTRR write-combining for the framebuffer was requested and +successfully enabled. + +Identifier: `0x6bc1a78ebe871172` + +This tag does not have extra members. + #### Modules structure tag This tag lists modules that the bootloader loaded alongside the kernel, if any. diff --git a/limine-pxe.bin b/limine-pxe.bin index 85cd4f514c1845b16216171d907059df7648d696..4f668ce83ea8a06ba5aea49c3baa4925ff6fef97 100644 GIT binary patch delta 28877 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

54>aK;&bLAz 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 diff --git a/limine.bin b/limine.bin index 57c90ebf3633623e86e96c4f1160b9d2a98907f3..9efcbd5281020637cf87acdd916907afec5a21f3 100644 GIT binary patch delta 28874 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

95_;H9F6B8hp=Z(C@sg%VexJL$Eu4W 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 delta 28784 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 literal 4549 zcmai2Z>$wZ6+h2nDMSq>HqjVbBeq(Cx33Q*7^7(7pIH5%jUTGfPWJB3y>GaCcZb>8 z_wGf5)YzEl7sV0_wj}hQjn;nwwMknFg`&09B2)`jsa1?rjScMwlhS~{Gc&t)?|qoZ z7tZf@&di>3X6Br8A8jKNg^i4*RkheMGR>nz#07m2WFf8411UP1t_Nf>j?$EFYJgT- z+2XqOG-z^hu|=Ak?rCytw|0gOG`X<(;U*^wO}}aq-Ne#S5T-9?;|@Jji`A!J9x>s= zbaQ3invJq9UE;CIEKS#9wfy=K6P6D~43>y2rw2z&h~wypVUM34!MwD>$ZkO=Mx4q# z^`{ZVVVwr#FHCO`R>i$S#Ce%nY3R&Ip$bE10kyKCNTt*w$`Y};1k5whlS6G}QP5Ri zS%Q6B+n#$adEqF5cEx4)V>zhM17s73X9*m zfNJ&gMB?^+W}zm_2Q!gYF@5!7y7#1W^!B)FxDz7H7)s8Eq)4O zU-n}?BmnoA;9^ zwnu?=WO^#=BKXry)N&_xc8uZ!TDrYnf&f=GkzcZAjN&CXfk{-+6J6AcLdG^XqEK5T z{kl>Z86|Y*tweF2=A{wsRAvb+-$69jmO`gF*BQDNSky$j>&%>H6I*s8(aG^xjI>5c zWbKLOdd^ta;Q1u9^*fDy4g8^>H<@~4r+Treif1E3>NaG6U1B7 z=q)=DvWey^JO^CFCP#6c+U39Q?8ycsvj{;~=Gy{`tTpLd1I=~Ue@N)Opa%lY>21)* z8`f41tmt&WP9bkVP_qZ_Y?>j&vpu2T)cv3zgNL{ zR>nO%lx`N;(nz}ezDmPRbxYhkSyQ=|8SVH1#{&QTR{MX5#A8z{1-fz`i+-fZ{203o z?2LPi&bWmNU|Z8IG?J(_P1pStr!(xMQ1*n)afF0>ojPp~#}Xq)pH$3?j2CP0)+7!fKOi+?yj8SwgE1*H^GFvl2~M zO8UfO;mP?g&>iC#x2x#UdykA6@tjEq!8N>^i_%ik)?ebHrJeQbM5J{(M3}hh5rP)%XG!oCmrrpOB-DgKFgazkoO{tufmz{~gO|J`Z^%WUS;z@gXm| z2Qn9E^!Pg~8uBqOqj}QbA!5|Q5nIG~!!dUWP&L4`hu(#!E7D!n*Bu|3&|}X85Xy(j z5;>rAC%~G_^}Vs9Uvttc;OQ9u`M|3&_R>Fk>vEj_QJ@E7#;cx1H_=F)r89r#bu3+g zgkptO{{B;_6c8}I9DL4;m`YAU42_W6K3(yb8h7Rs8Uh;Ww!$wQJ{CFw3b}C|9bb?p z!?g5~=WCKm$ebrPKkoXge?FsTD+aW8AvvTcL1MSQNTln9Oa2yc-D$pEG2A;peLAS; zjk1zndj=4LF>QMRf{9}3JL)SnjFQAn_aFFY$PNEwi+j$N4uLF|XpU zFY$z%m9+6y2-aZ!!(Gpfl?kbu!rjDKqWWw)Us*+P<)sS2H;j(R(ghUB6n#;6r`FIE z6{v((p~^9(WI?@4rh*3;t-0~NZON3Yc>#VL(6y0(?+5l`XqMiUdoP{h#wVZ(y!*05 z86Ij$w=exaYTCCz;}$$VNz*AXTtyasg08-7Qbij;@gvUIsT5OgN)}Wm=Y>Y$=0JA? z<9~uB}skvOYRsd(%|L9h2X_lA)s{9xI*Vnn&k2A6wR zY}BQ_ki$;Cj?y=-K>qOu0e9_hywaPtbBxV}G$@%+baL7Qg}aFEo*jF8K&~RaZ`Bk< zGt<6Zk_pI9f;9DxaC~yZ%rxBwl=6?XVEkx}-A*TK=-<`L!2U;Fu>aUqH4*k#BgSp< zr4jaf>;SN)XNU$YefXLw n5_p+&iCRl{uV#Rml);KM49cK-)4LrCx^=Be=ZJN50ssC7_#IRL diff --git a/stage2/protos/stivale2.c b/stage2/protos/stivale2.c index 8532f23a..6f354ff1 100644 --- a/stage2/protos/stivale2.c +++ b/stage2/protos/stivale2.c @@ -21,6 +21,7 @@ #include #include #include +#include #include #include @@ -274,6 +275,19 @@ void stivale2_load(char *config, char *cmdline, bool pxe) { tag->blue_mask_shift = fbinfo.blue_mask_shift; append_tag(&stivale2_struct, (struct stivale2_tag *)tag); + + if (get_tag(&stivale2_hdr, STIVALE2_HEADER_TAG_FB_MTRR_ID) != NULL) { + mtrr_restore(); + bool ret = mtrr_set_range(tag->framebuffer_addr, + (uint64_t)tag->framebuffer_pitch * tag->framebuffer_height, + MTRR_MEMORY_TYPE_WC); + if (ret) { + struct stivale2_tag *tag = ext_mem_alloc(sizeof(struct stivale2_tag)); + tag->identifier = STIVALE2_STRUCT_TAG_FB_MTRR_ID; + append_tag(&stivale2_struct, (struct stivale2_tag *)tag); + } + mtrr_save(); + } } } } @@ -289,6 +303,8 @@ void stivale2_load(char *config, char *cmdline, bool pxe) { // Create SMP struct tag ////////////////////////////////////////////// { + mtrr_restore(); + struct stivale2_header_tag_smp *smp_hdr_tag = get_tag(&stivale2_hdr, STIVALE2_HEADER_TAG_SMP_ID); if (smp_hdr_tag != NULL) { struct stivale2_struct_tag_smp *tag; diff --git a/stage2/sys/smp_trampoline.asm b/stage2/sys/smp_trampoline.asm index 2cf7ed60..06c6558d 100644 --- a/stage2/sys/smp_trampoline.asm +++ b/stage2/sys/smp_trampoline.asm @@ -3,6 +3,14 @@ extern smp_tpl_booted_flag extern smp_tpl_pagemap extern smp_tpl_target_mode +extern mtrr_restore + +section .bss + +temp_stack: + resb 1024 + .top: + section .realmode global smp_trampoline @@ -46,6 +54,10 @@ smp_trampoline: wrmsr .nox2apic: + mov esp, temp_stack.top + + call mtrr_restore + test dword [smp_tpl_target_mode], (1 << 0) jz parking32 diff --git a/stivale/stivale2.h b/stivale/stivale2.h index 4086c7da..df1e6ba5 100644 --- a/stivale/stivale2.h +++ b/stivale/stivale2.h @@ -20,6 +20,8 @@ struct stivale2_header { #define STIVALE2_HEADER_TAG_FRAMEBUFFER_ID 0x3ecc1bc43d0f7971 +#define STIVALE2_HEADER_TAG_FB_MTRR_ID 0x4c7bb07731282e00 + struct stivale2_header_tag_framebuffer { struct stivale2_tag tag; uint16_t framebuffer_width; @@ -103,6 +105,8 @@ struct stivale2_struct_tag_framebuffer { uint8_t blue_mask_shift; } __attribute__((packed)); +#define STIVALE2_STRUCT_TAG_FB_MTRR_ID 0x6bc1a78ebe871172 + #define STIVALE2_STRUCT_TAG_MODULES_ID 0x4b6fe466aade04ce struct stivale2_module { diff --git a/test/stivale2.c b/test/stivale2.c index 609e9e48..6932227b 100644 --- a/test/stivale2.c +++ b/test/stivale2.c @@ -15,10 +15,15 @@ struct stivale2_header_tag_smp smp_request = { .flags = 0 }; +struct stivale2_tag fb_mtrr_request = { + .identifier = STIVALE2_HEADER_TAG_FB_MTRR_ID, + .next = (uint64_t)&smp_request +}; + struct stivale2_header_tag_framebuffer framebuffer_request = { .tag = { .identifier = STIVALE2_HEADER_TAG_FRAMEBUFFER_ID, - .next = (uint64_t)&smp_request + .next = (uint64_t)&fb_mtrr_request }, .framebuffer_width = 0, .framebuffer_height = 0, @@ -82,6 +87,11 @@ void stivale2_main(struct stivale2_struct *info) { e9_printf("\tBlue mask size: %d", f->blue_mask_shift); break; } + case STIVALE2_STRUCT_TAG_FB_MTRR_ID: { + e9_puts("Framebuffer WC MTRR tag:"); + e9_puts("\tFramebuffer WC MTRR enabled"); + break; + } case STIVALE2_STRUCT_TAG_MODULES_ID: { struct stivale2_struct_tag_modules *m = (struct stivale2_struct_tag_modules *)tag; e9_puts("Modules tag:");