Changeset 7b187ef in mainline for kernel/arch/ppc32/src/mm/tlb.c


Ignore:
Timestamp:
2009-02-02T16:22:35Z (16 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
0867321
Parents:
34259b9
Message:

ppc32: strict coherency, compatible TLB flush

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/ppc32/src/mm/tlb.c

    r34259b9 r7b187ef  
    2727 */
    2828
    29 /** @addtogroup ppc32mm 
     29/** @addtogroup ppc32mm
    3030 * @{
    3131 */
     
    4646static unsigned int seed = 10;
    4747static unsigned int seed_real __attribute__ ((section("K_UNMAPPED_DATA_START"))) = 42;
     48
     49
     50#define TLB_FLUSH \
     51        "tlbie %0\n" \
     52        "addi %0, %0, 0x1000\n"
    4853
    4954
     
    412417void tlb_invalidate_all(void)
    413418{
    414         asm volatile (
     419        uint32_t index;
     420        asm volatile (
     421                "li %0, 0\n"
     422                "sync\n"
     423               
     424                TLB_FLUSH
     425                TLB_FLUSH
     426                TLB_FLUSH
     427                TLB_FLUSH
     428                TLB_FLUSH
     429                TLB_FLUSH
     430                TLB_FLUSH
     431                TLB_FLUSH
     432               
     433                TLB_FLUSH
     434                TLB_FLUSH
     435                TLB_FLUSH
     436                TLB_FLUSH
     437                TLB_FLUSH
     438                TLB_FLUSH
     439                TLB_FLUSH
     440                TLB_FLUSH
     441               
     442                TLB_FLUSH
     443                TLB_FLUSH
     444                TLB_FLUSH
     445                TLB_FLUSH
     446                TLB_FLUSH
     447                TLB_FLUSH
     448                TLB_FLUSH
     449                TLB_FLUSH
     450               
     451                TLB_FLUSH
     452                TLB_FLUSH
     453                TLB_FLUSH
     454                TLB_FLUSH
     455                TLB_FLUSH
     456                TLB_FLUSH
     457                TLB_FLUSH
     458                TLB_FLUSH
     459               
     460                TLB_FLUSH
     461                TLB_FLUSH
     462                TLB_FLUSH
     463                TLB_FLUSH
     464                TLB_FLUSH
     465                TLB_FLUSH
     466                TLB_FLUSH
     467                TLB_FLUSH
     468               
     469                TLB_FLUSH
     470                TLB_FLUSH
     471                TLB_FLUSH
     472                TLB_FLUSH
     473                TLB_FLUSH
     474                TLB_FLUSH
     475                TLB_FLUSH
     476                TLB_FLUSH
     477               
     478                TLB_FLUSH
     479                TLB_FLUSH
     480                TLB_FLUSH
     481                TLB_FLUSH
     482                TLB_FLUSH
     483                TLB_FLUSH
     484                TLB_FLUSH
     485                TLB_FLUSH
     486               
     487                TLB_FLUSH
     488                TLB_FLUSH
     489                TLB_FLUSH
     490                TLB_FLUSH
     491                TLB_FLUSH
     492                TLB_FLUSH
     493                TLB_FLUSH
     494                TLB_FLUSH
     495               
     496                "eieio\n"
    415497                "tlbsync\n"
     498                "sync\n"
     499                : "=r" (index)
    416500        );
    417501}
Note: See TracChangeset for help on using the changeset viewer.