Changeset 349


Ignore:
Timestamp:
Jun 29, 2014, 12:39:48 PM (10 years ago)
Author:
alain
Message:

Introducing a new attribute "local" in the mapping_vseg_t structure,
to support distributed page tables, kernel code and user code:
A "local" vseg is only mapped in the local page table
(The local page table is the page table stored in the same cluster
as the vseg itself).

Location:
soft/giet_vm/giet_xml
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • soft/giet_vm/giet_xml/mapping_info.h

    r323 r349  
    210210    char            mapped;          // mapped if non zero
    211211    char            ident;           // identity mapping if non zero
    212     char            rsvd0;           // reserved
    213     char            rsvd1;           // reserved
     212    char            local;           // only mapped in the local PTAB
     213    char            reserved;        // reserved
    214214} mapping_vseg_t;
    215215
  • soft/giet_vm/giet_xml/xml_driver.c

    r323 r349  
    361361        fprintf(fpout, " psegname=\"%s\"", pseg[pseg_id].name);
    362362        if( vseg[vseg_id].ident ) fprintf(fpout, " ident=\"1\"");
     363        if( vseg[vseg_id].local ) fprintf(fpout, " local=\"1\"");
    363364        fprintf(fpout, " >\n");
    364365
     
    409410            fprintf(fpout, " psegname=\"%s\"", pseg[pseg_id].name);
    410411            if( vseg[vseg_id].ident ) fprintf(fpout, " ident=\"1\"");
     412            if( vseg[vseg_id].local ) fprintf(fpout, " local=\"1\"");
    411413            fprintf(fpout, " >\n");
    412414
  • soft/giet_vm/giet_xml/xml_parser.c

    r323 r349  
    960960    }
    961961
     962    ////////// get local attribute (optional : 0 if missing)
     963    value = getIntValue(reader, "local", &ok);
     964    if (ok)
     965    {
     966#if XML_PARSER_DEBUG
     967printf("      local       = %d\n", value);
     968#endif
     969        vseg[vseg_index]->local = value;
     970    } 
     971    else
     972    {
     973        vseg[vseg_index]->local = 0;
     974    }
     975
    962976    /////////// get vbase attribute
    963977    value = getIntValue(reader, "vbase", &ok);
Note: See TracChangeset for help on using the changeset viewer.