cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

numa_32.c (1921B)


      1/*
      2 * Written by: Patricia Gaughen <gone@us.ibm.com>, IBM Corporation
      3 * August 2002: added remote node KVA remap - Martin J. Bligh 
      4 *
      5 * Copyright (C) 2002, IBM Corp.
      6 *
      7 * All rights reserved.          
      8 *
      9 * This program is free software; you can redistribute it and/or modify
     10 * it under the terms of the GNU General Public License as published by
     11 * the Free Software Foundation; either version 2 of the License, or
     12 * (at your option) any later version.
     13 *
     14 * This program is distributed in the hope that it will be useful, but
     15 * WITHOUT ANY WARRANTY; without even the implied warranty of
     16 * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or
     17 * NON INFRINGEMENT.  See the GNU General Public License for more
     18 * details.
     19 *
     20 * You should have received a copy of the GNU General Public License
     21 * along with this program; if not, write to the Free Software
     22 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
     23 */
     24
     25#include <linux/memblock.h>
     26#include <linux/init.h>
     27
     28#include "numa_internal.h"
     29
     30extern unsigned long highend_pfn, highstart_pfn;
     31
     32void __init initmem_init(void)
     33{
     34	x86_numa_init();
     35
     36#ifdef CONFIG_HIGHMEM
     37	highstart_pfn = highend_pfn = max_pfn;
     38	if (max_pfn > max_low_pfn)
     39		highstart_pfn = max_low_pfn;
     40	printk(KERN_NOTICE "%ldMB HIGHMEM available.\n",
     41	       pages_to_mb(highend_pfn - highstart_pfn));
     42	high_memory = (void *) __va(highstart_pfn * PAGE_SIZE - 1) + 1;
     43#else
     44	high_memory = (void *) __va(max_low_pfn * PAGE_SIZE - 1) + 1;
     45#endif
     46	printk(KERN_NOTICE "%ldMB LOWMEM available.\n",
     47			pages_to_mb(max_low_pfn));
     48	printk(KERN_DEBUG "max_low_pfn = %lx, highstart_pfn = %lx\n",
     49			max_low_pfn, highstart_pfn);
     50
     51	printk(KERN_DEBUG "Low memory ends at vaddr %08lx\n",
     52			(ulong) pfn_to_kaddr(max_low_pfn));
     53
     54	printk(KERN_DEBUG "High memory starts at vaddr %08lx\n",
     55			(ulong) pfn_to_kaddr(highstart_pfn));
     56
     57	__vmalloc_start_set = true;
     58	setup_bootmem_allocator();
     59}