Changeset ec1c8e6 in mainline


Ignore:
Timestamp:
2011-11-09T00:06:57Z (12 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
ddcc8a0
Parents:
6641295
Message:

Partition sparc64 kernel memory.

Location:
kernel/arch/sparc64
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/sparc64/include/mm/sun4u/km.h

    r6641295 rec1c8e6  
    3636#define KERN_sparc64_sun4u_KM_H_
    3737
     38/*
     39 * Be conservative and assume the 44-bit virtual address width as found
     40 * on the UltraSPARC CPU, even when running on a newer CPU, such as
     41 * UltraSPARC III, which has the full 64-bit virtual address width.
     42 *
     43 * Do not use the 4 GiB area on either side of the VA hole to meet the
     44 * limitations of the UltraSPARC CPU.
     45 */
     46
     47#define KM_SPARC64_US_IDENTITY_START            UINT64_C(0x0000000000000000)
     48#define KM_SPARC64_US_IDENTITY_SIZE             UINT64_C(0x000007ff00000000)
     49
     50#define KM_SPARC64_US_NON_IDENTITY_START        UINT64_C(0xfffff80100000000)
     51#define KM_SPARC64_US_NON_IDENTITY_SIZE         UINT64_C(0x000007ff00000000)
     52
    3853extern void km_identity_arch_init(void);
    3954extern void km_non_identity_arch_init(void);
  • kernel/arch/sparc64/include/mm/sun4v/km.h

    r6641295 rec1c8e6  
    3636#define KERN_sparc64_sun4v_KM_H_
    3737
     38/*
     39 * Do not use the 4 GiB area on either side of the VA hole to meet the
     40 * limitations of the UltraSPARC T1 CPU.
     41 */
     42
     43#define KM_SPARC64_T1_IDENTITY_START            UINT64_C(0x0000000000000000)
     44#define KM_SPARC64_T1_IDENTITY_SIZE             UINT64_C(0x00007fff00000000)
     45
     46#define KM_SPARC64_T1_NON_IDENTITY_START        UINT64_C(0xffff800100000000)
     47#define KM_SPARC64_T1_NON_IDENTITY_SIZE         UINT64_C(0x00007fff00000000)
     48
    3849extern void km_identity_arch_init(void);
    3950extern void km_non_identity_arch_init(void);
  • kernel/arch/sparc64/src/mm/sun4u/km.c

    r6641295 rec1c8e6  
    3232
    3333#include <arch/mm/km.h>
     34#include <mm/km.h>
     35#include <config.h>
    3436
    3537void km_identity_arch_init(void)
    3638{
     39        config.identity_base = KM_SPARC64_US_IDENTITY_START;
     40        config.identity_size = KM_SPARC64_US_IDENTITY_SIZE;
    3741}
    3842
    3943void km_non_identity_arch_init(void)
    4044{
     45        km_non_identity_span_add(KM_SPARC64_US_NON_IDENTITY_START,
     46            KM_SPARC64_US_NON_IDENTITY_SIZE);
    4147}
    4248
  • kernel/arch/sparc64/src/mm/sun4v/km.c

    r6641295 rec1c8e6  
    3232
    3333#include <arch/mm/km.h>
     34#include <mm/km.h>
     35#include <config.h>
    3436
    3537void km_identity_arch_init(void)
    3638{
     39        config.identity_base = KM_SPARC64_T1_IDENTITY_START;
     40        config.identity_size = KM_SPARC64_T1_IDENTITY_SIZE;
    3741}
    3842
    3943void km_non_identity_arch_init(void)
    4044{
     45        km_non_identity_span_add(KM_SPARC64_T1_NON_IDENTITY_START,
     46            KM_SPARC64_T1_NON_IDENTITY_SIZE);
    4147}
    4248
Note: See TracChangeset for help on using the changeset viewer.