Subversion Repositories HelenOS-doc

Rev

Rev 160 | Rev 169 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 160 Rev 168
Line 760... Line 760...
760
        by looking up the frame for the faulting translation in the ELF
760
        by looking up the frame for the faulting translation in the ELF
761
        image.</para>
761
        image.</para>
762
 
762
 
763
        <para>Shared address space areas need to consider the
763
        <para>Shared address space areas need to consider the
764
        <varname>pagemap</varname> B+tree. First they need to make sure
764
        <varname>pagemap</varname> B+tree. First they need to make sure
765
        whether to mapping is not present in the <varname>pagemap</varname>.
765
        whether the mapping is not present in the <varname>pagemap</varname>.
766
        If it is there, then the frame reference count is increased and the
766
        If it is there, then the frame reference count is increased and the
767
        page fault is resolved. Otherwise the handler proceeds similarily to
767
        page fault is resolved. Otherwise the handler proceeds similarily to
768
        the non-shared case. If it allocates a physical memory frame, it must
768
        the non-shared case. If it allocates a physical memory frame, it must
769
        increment its reference count and add it to the
769
        increment its reference count and add it to the
770
        <varname>pagemap</varname>.</para>
770
        <varname>pagemap</varname>.</para>
Line 784... Line 784...
784
      associating TLB entries with address spaces through assigning
784
      associating TLB entries with address spaces through assigning
785
      identification numbers to them. In HelenOS, the term ASID, originally
785
      identification numbers to them. In HelenOS, the term ASID, originally
786
      taken from the mips32 terminology, is used to refer to the address space
786
      taken from the mips32 terminology, is used to refer to the address space
787
      identification number. The advantage of having ASIDs is that TLB does
787
      identification number. The advantage of having ASIDs is that TLB does
788
      not have to be invalidated on thread context switch as long as ASIDs are
788
      not have to be invalidated on thread context switch as long as ASIDs are
789
      unique. Unfotunatelly, architectures supported by HelenOS use all
789
      unique. Unfortunatelly, architectures supported by HelenOS use all
790
      different widths of ASID numbers<footnote>
790
      different widths of ASID numbers<footnote>
791
          <para>amd64 and ia32 don't use similar abstraction at all, mips32
791
          <para>amd64 and ia32 don't use similar abstraction at all, mips32
792
          has 8-bit ASIDs and ia64 can have ASIDs between 18 to 24 bits
792
          has 8-bit ASIDs and ia64 can have ASIDs between 18 to 24 bits
793
          wide.</para>
793
          wide.</para>
794
        </footnote> out of which none is sufficient. The amd64 and ia32
794
        </footnote> out of which none is sufficient. The amd64 and ia32