From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christian Hildner Date: Fri, 13 Dec 2002 07:45:37 +0000 Subject: Re: [Linux-ia64] [PATCH] fix /proc/.../vm_info Message-Id: List-Id: References: In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-ia64@vger.kernel.org David Mosberger schrieb: > >>>>> On Thu, 12 Dec 2002 14:49:10 +0100, Christian Hildner said: > > Christian> Hi, in vm_info the information about the supported memory > Christian> attributes is wrong. The patch is based on 2.4.18, but it > Christian> should also work for 2.4.20 and 2.5.x. Please apply. > > I'd like to keep the output a bit more concise. How about the attached > patch (untested)? I agree. But I would like a distinction between both UCs like "UC (001)" and "UC (100)". Christian > > > --david > > === arch/ia64/kernel/palinfo.c 1.7 vs edited ==> --- 1.7/arch/ia64/kernel/palinfo.c Sun Dec 1 22:17:31 2002 > +++ edited/arch/ia64/kernel/palinfo.c Thu Dec 12 11:54:24 2002 > @@ -101,26 +101,15 @@ > > #define RSE_HINTS_COUNT (sizeof(rse_hints)/sizeof(const char *)) > > -/* > - * The current revision of the Volume 2 (July 2000) of > - * IA-64 Architecture Software Developer's Manual is wrong. > - * Table 4-10 has invalid information concerning the ma field: > - * Correct table is: > - * bit 0 - 001 - UC > - * bit 4 - 100 - UC > - * bit 5 - 101 - UCE > - * bit 6 - 110 - WC > - * bit 7 - 111 - NatPage > - */ > static const char *mem_attrib[]={ > - "Write Back (WB)", /* 000 */ > - "Uncacheable (UC)", /* 001 */ > - "Reserved", /* 010 */ > - "Reserved", /* 011 */ > - "Uncacheable (UC)", /* 100 */ > - "Uncacheable Exported (UCE)", /* 101 */ > - "Write Coalescing (WC)", /* 110 */ > - "NaTPage" /* 111 */ > + "WB", /* 000 */ > + "UC", /* 001 */ > + "010", /* 010 */ > + "011", /* 011 */ > + "UC", /* 100 */ > + "UCE", /* 101 */ > + "WC", /* 110 */ > + "NaTPage" /* 111 */ > }; > > /* > @@ -315,6 +304,7 @@ > pal_vm_info_2_u_t vm_info_2; > pal_tc_info_u_t tc_info; > ia64_ptce_info_t ptce; > + const char *sep; > int i, j; > s64 status; > > @@ -339,7 +329,14 @@ > > if (ia64_pal_mem_attrib(&attrib) != 0) return 0; > > - p += sprintf(p, "Supported memory attributes : %s\n", mem_attrib[attrib&0x7]); > + p += sprintf(p, "Supported memory attributes : "); > + sep = ""; > + for (i = 0; i < 8; i++) { > + if (attrib & (1 << i)) { > + p += sprintf(p, "%s%s\n", sep, mem_attrib[i]); > + sep = ", "; > + } > + } > > if ((status=ia64_pal_vm_page_size(&tr_pages, &vw_pages)) !=0) { > printk("ia64_pal_vm_page_size=%ld\n", status);