Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp177680ybt; Thu, 9 Jul 2020 19:06:36 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxkZpWxeKbsuNaN0dMquXunK6Zx13yRBPZx4m+B+TwWDqfB+1iQJOJg4tReG1ok5ej/Ubmv X-Received: by 2002:a17:906:f1d5:: with SMTP id gx21mr57914297ejb.121.1594346795881; Thu, 09 Jul 2020 19:06:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1594346795; cv=none; d=google.com; s=arc-20160816; b=sp7/7OC0wbwdvazmKHTEDIDGWwDbChztwhG+SYBU9VMyLDM6dsO4YJjgdnYIjdyyD0 1Lrb/l28amod7KNJz7RXkkHpOVgNUcFPzT6hMECooPz6YgimXsnLdZgUWMJq1v1tvZwT fem23a2p2jy0eRsth/lKBsbNDZtDvTmgZl6c6jRIHMV6Z/y9rQtR0L0RqGjZZKuyPVQT lYVDbsXl6wjWVtURFxAoC5xWJVr964xfCM8byslTqXU9JQ6Mt3Ngwz7F+oy3ZYVDpzoo Pj8xUUUI4N6GhWpt0VhgttKyDLsnwNqGe4gE+4e8X8PykYN5TrEYKmBhKdJEfnmPQ/Wl S48g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:message-id:references :in-reply-to:organization:subject:cc:to:from:date :content-transfer-encoding:mime-version; bh=+6nOAP5bAOPeomG4BgZmZkU8jkWGWmzswoSJ7uoBX8U=; b=uFsgJy4r7nAo7hLUurM0VtS3N1LLMQmYFcymRG1O6MgrzWV0r0N3341RpOGy75Z8qI r0Szpfg56x3ZkoEkuQH1isW6I/LTcyhahLn2G3mb5lpo4OIWZZQDF3+489asJuitawin cxExnRK4UX3ptdOhnCodgCGSnWOuVJFGpk7e7RB9dQ2LLQJR7OJAtBDVdlYqaYOjKkRY 41uau3OkhWwcxq5r+lsY9VtkrJyYGVFOPCAiwvPnNrbPV034mLnqDZ/AJLNpMQpxxQqS VNMY7co/nZhp1JiBCEM7a7hxN9dCIDQT5WrYeGzqgnywtC/NLrH5P4fmISx2w2o9KFHW 6O3A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id o15si2931114eja.702.2020.07.09.19.06.12; Thu, 09 Jul 2020 19:06:35 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726495AbgGJCGC (ORCPT + 99 others); Thu, 9 Jul 2020 22:06:02 -0400 Received: from mailgate-2.ics.forth.gr ([139.91.1.5]:47454 "EHLO mailgate-2.ics.forth.gr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726323AbgGJCGC (ORCPT ); Thu, 9 Jul 2020 22:06:02 -0400 Received: from av3.ics.forth.gr (av3in [139.91.1.77]) by mailgate-2.ics.forth.gr (8.14.4/ICS-FORTH/V10-1.8-GATE) with ESMTP id 06A25UB9024578; Fri, 10 Jul 2020 02:05:32 GMT X-AuditID: 8b5b014d-241ff700000045c5-78-5f07ccea105d Received: from enigma.ics.forth.gr (enigma.ics.forth.gr [139.91.151.35]) by av3.ics.forth.gr (Symantec Messaging Gateway) with SMTP id DC.64.17861.AECC70F5; Fri, 10 Jul 2020 05:05:30 +0300 (EEST) X-ICS-AUTH-INFO: Authenticated user: at ics.forth.gr MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Date: Fri, 10 Jul 2020 05:05:30 +0300 From: Nick Kossifidis To: Palmer Dabbelt Cc: zong.li@sifive.com, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, Paul Walmsley Subject: Re: [PATCH 1/2] riscv: Register System RAM as iomem resources Organization: FORTH In-Reply-To: References: Message-ID: <6d5006efde7affcb3307f5dcb85af7aa@mailhost.ics.forth.gr> X-Sender: mick@mailhost.ics.forth.gr User-Agent: Roundcube Webmail/1.3.9 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrCLMWRmVeSWpSXmKPExsXSHT1dWffVGfZ4g5U3DSwu75rDZrHtcwub xcvLPcwWbbP4LT7cnc3mwOrx5uVLFo/NS+o9LjVfZ/f4vEkugCWKyyYlNSezLLVI3y6BK+PN tKeMBReUKnY9vczYwHhbuouRk0NCwETiwPQG5i5GLg4hgaOMEg86V7JCJEwlZu/tZASxeQUE JU7OfMICYjMLWEhMvbKfEcKWl2jeOpsZxGYRUJX4OvMImM0moCkx/9JBsHoRAXWJA6/vgC1g FuhglDj/FSIhLOAm8erfXjCbX0BY4tPdi2CLOQX8JXpfvARawAF0kZ9E84YSiBtcJG5Oes0M cZuKxIffD9hBbFEBZYmbh5+zT2AUnIXk1FlITp2F5NQFjMyrGAUSy4z1MpOL9dLyi0oy9NKL NjGCA5rRdwfj7c1v9Q4xMnEwHmKU4GBWEuE1UGSNF+JNSaysSi3Kjy8qzUktPsQozcGiJM6b x708VkggPbEkNTs1tSC1CCbLxMEp1cBUUWS2PnpWA1so06GYmJO2r23CN05eFjX7mkFd2OGc Y9Gmh4r8+1oC/yetfx6xQp1xaWSBxPfYsxXLT1Zejt8d657keNff+Ia2cQeD3Wn3a6xrdvFx 6722Vjw9T3DjhYJPdTlCNb8lfj8I13KxL/wjynTqxvOyR0UuBZ2OS2fsLL84uyzuW0lUq9h+ EZk696iTjNkHTinX9v+YfMK6WW3fKnfrBaHN7xjvyfxnsUvy5pP8VVgievKM9dJKm3Unvth3 iFS1z+7YvELtrKOQ6DymEGmzgjs2r13jb7bOszHa51g7N7PxxiL7By2LzsmmrVvx4di/jdIv 7shNMq5MSUhxyrvk9WCxpfHX0H6neUosxRmJhlrMRcWJAAkiNnXXAgAA X-Greylist: inspected by milter-greylist-4.6.2 (mailgate-2.ics.forth.gr [139.91.1.5]); Fri, 10 Jul 2020 02:05:32 +0000 (GMT) for IP:'139.91.1.77' DOMAIN:'av3in' HELO:'av3.ics.forth.gr' FROM:'mick@ics.forth.gr' RCPT:'' X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.6.2 (mailgate-2.ics.forth.gr [139.91.1.5]); Fri, 10 Jul 2020 02:05:32 +0000 (GMT) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Στις 2020-07-09 21:27, Palmer Dabbelt έγραψε: > On Tue, 16 Jun 2020 00:45:46 PDT (-0700), zong.li@sifive.com wrote: >> Add System RAM to /proc/iomem, various tools expect it such as kdump. >> It is also needed for page_is_ram API which checks the specified >> address >> whether registered as System RAM in iomem_resource list. >> >> Signed-off-by: Zong Li >> --- >> arch/riscv/mm/init.c | 22 ++++++++++++++++++++++ >> 1 file changed, 22 insertions(+) >> >> diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c >> index f4adb3684f3d..bbe816e03b2f 100644 >> --- a/arch/riscv/mm/init.c >> +++ b/arch/riscv/mm/init.c >> @@ -517,6 +517,27 @@ void mark_rodata_ro(void) >> } >> #endif >> >> +void __init resource_init(void) >> +{ >> + struct memblock_region *region; >> + >> + for_each_memblock(memory, region) { >> + struct resource *res; >> + >> + res = memblock_alloc(sizeof(struct resource), SMP_CACHE_BYTES); >> + if (!res) >> + panic("%s: Failed to allocate %zu bytes\n", __func__, >> + sizeof(struct resource)); >> + >> + res->name = "System RAM"; >> + res->start = >> __pfn_to_phys(memblock_region_memory_base_pfn(region)); >> + res->end = __pfn_to_phys(memblock_region_memory_end_pfn(region)) - >> 1; >> + res->flags = IORESOURCE_SYSTEM_RAM | IORESOURCE_BUSY; > > Looks like everyone else is checking MEMBLOCK_NOMAP before registering > memory > regions. I've added that and put this on for-next. Thanks! > > commit 11dc632bf515874c84887727614e8044452f1f28 > gpg: Signature made Thu 09 Jul 2020 11:24:08 AM PDT > gpg: using RSA key > 2B3C3747446843B24A943A7A2E1319F35FBB1889 > gpg: issuer "palmer@dabbelt.com" > gpg: Good signature from "Palmer Dabbelt " > [ultimate] > gpg: aka "Palmer Dabbelt " > [ultimate] > Author: Zong Li > Date: Tue Jun 16 15:45:46 2020 +0800 > > riscv: Register System RAM as iomem resources > Add System RAM to /proc/iomem, various tools expect it such as > kdump. > It is also needed for page_is_ram API which checks the specified > address > whether registered as System RAM in iomem_resource list. > Signed-off-by: Zong Li > [Palmer: check MEMBLOCK_NOMAP] > Signed-off-by: Palmer Dabbelt > > diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c > index f4adb3684f3d..8b78fd23713e 100644 > --- a/arch/riscv/mm/init.c > +++ b/arch/riscv/mm/init.c > @@ -517,6 +517,32 @@ void mark_rodata_ro(void) > } > #endif > > +void __init resource_init(void) > +{ > + struct memblock_region *region; > + > + for_each_memblock(memory, region) { > + struct resource *res; > + > + res = memblock_alloc(sizeof(struct resource), SMP_CACHE_BYTES); > + if (!res) > + panic("%s: Failed to allocate %zu bytes\n", __func__, > + sizeof(struct resource)); > + > + if (memblock_is_nomap(region) { > + res->name = "reserved"; > + res->flags = IORESOURCE_MEM; > + } else { > + res->name = "System RAM"; > + res->flags = IORESOURCE_SYSTEM_RAM | IORESOURCE_BUSY; > + } > + res->start = __pfn_to_phys(memblock_region_memory_base_pfn(region)); > + res->end = __pfn_to_phys(memblock_region_memory_end_pfn(region)) - > 1; > + > + request_resource(&iomem_resource, res); > + } > +} > + > void __init paging_init(void) > { > setup_vm_final(); > @@ -524,6 +550,7 @@ void __init paging_init(void) > sparse_init(); > setup_zero_page(); > zone_sizes_init(); > + resource_init(); > } > > #ifdef CONFIG_SPARSEMEM_VMEMMAP > > >> + >> + request_resource(&iomem_resource, res); >> + } >> +} >> + >> void __init paging_init(void) >> { >> setup_vm_final(); >> @@ -524,6 +545,7 @@ void __init paging_init(void) >> sparse_init(); >> setup_zero_page(); >> zone_sizes_init(); >> + resource_init(); >> } >> >> #ifdef CONFIG_SPARSEMEM_VMEMMAP > > _______________________________________________ > linux-riscv mailing list > linux-riscv@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-riscv Zong Li sent a newer version of this series without this patch, since I'm handling this on the kexec/kdump series as well where other sections needed for kdump are also registered.