|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH RESEND v2] x86: introduce ioremap_wc()
On 17.02.2022 15:47, Roger Pau Monné wrote:
> On Thu, Feb 17, 2022 at 12:01:08PM +0100, Jan Beulich wrote:
>> @@ -179,8 +179,7 @@ void __init vesa_mtrr_init(void)
>>
>> static void lfb_flush(void)
>> {
>> - if ( vesa_mtrr == 3 )
>> - __asm__ __volatile__ ("sfence" : : : "memory");
>> + __asm__ __volatile__ ("sfence" : : : "memory");
>
> Now that the cache attribute is forced to WC using PAT don't we need
> to drop vesa_mtrr_init and vesa_mtrr? The more that the option is
> fully undocumented.
Yes indeed. You did ask to re-send this patch in isolation. This removal
is part of the full series.
>> --- a/xen/drivers/video/vga.c
>> +++ b/xen/drivers/video/vga.c
>> @@ -79,7 +79,7 @@ void __init video_init(void)
>> {
>> case XEN_VGATYPE_TEXT_MODE_3:
>> if ( page_is_ram_type(paddr_to_pfn(0xB8000), RAM_TYPE_CONVENTIONAL)
>> ||
>> - ((video = ioremap(0xB8000, 0x8000)) == NULL) )
>> + ((video = ioremap_wc(0xB8000, 0x8000)) == NULL) )
>> return;
>> outw(0x200a, 0x3d4); /* disable cursor */
>> columns = vga_console_info.u.text_mode_3.columns;
>> @@ -164,7 +164,11 @@ void __init video_endboot(void)
>> {
>> case XEN_VGATYPE_TEXT_MODE_3:
>> if ( !vgacon_keep )
>> + {
>> memset(video, 0, columns * lines * 2);
>> + iounmap(video);
>> + video = ZERO_BLOCK_PTR;
>> + }
>> break;
>> case XEN_VGATYPE_VESA_LFB:
>> case XEN_VGATYPE_EFI_LFB:
>
> I think in vesa_endboot you also need to iounmap the framebuffer
> iomem?
Again part of the full series. I guess I was a little inconsistent
with leaving the VGA unmap in here, but breaking out the VESA part.
It's been a long time, but I guess I did so because the VESA part
needs to touch two files.
> I would assume this was also required before your change, yet I'm not
> finding any iounmap call that would do it.
Indeed, this has been missing all the time.
Jan
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |