Changeset 7b187ef in mainline
- Timestamp:
- 2009-02-02T16:22:35Z (16 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 0867321
- Parents:
- 34259b9
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
boot/arch/ppc32/loader/asm.S
r34259b9 r7b187ef 30 30 #include "regname.h" 31 31 32 .macro FLUSH_CACHEaddr32 .macro SMC_COHERENCY addr 33 33 dcbst 0, \addr 34 34 sync 35 35 icbi 0, \addr 36 sync 36 37 isync 38 .endm 39 40 .macro FLUSH_DCACHE addr 41 dcbst 0, \addr 42 sync 43 isync 44 .endm 45 46 .macro TLB_FLUSH reg 47 tlbie \reg 48 addi \reg, \reg, 0x1000 37 49 .endm 38 50 … … 172 184 stw r28, 0(r30) 173 185 174 FLUSH_CACHEr30186 SMC_COHERENCY r30 175 187 176 188 addi r29, r29, 4 … … 269 281 270 282 stw r29, 0(r31) 271 FLUSH_ CACHE r31283 FLUSH_DCACHE r31 272 284 273 285 addi r31, r31, 4 … … 329 341 #endif 330 342 343 # flush TLB 344 345 li r31, 0 346 sync 347 348 TLB_FLUSH r31 349 TLB_FLUSH r31 350 TLB_FLUSH r31 351 TLB_FLUSH r31 352 TLB_FLUSH r31 353 TLB_FLUSH r31 354 TLB_FLUSH r31 355 TLB_FLUSH r31 356 357 TLB_FLUSH r31 358 TLB_FLUSH r31 359 TLB_FLUSH r31 360 TLB_FLUSH r31 361 TLB_FLUSH r31 362 TLB_FLUSH r31 363 TLB_FLUSH r31 364 TLB_FLUSH r31 365 366 TLB_FLUSH r31 367 TLB_FLUSH r31 368 TLB_FLUSH r31 369 TLB_FLUSH r31 370 TLB_FLUSH r31 371 TLB_FLUSH r31 372 TLB_FLUSH r31 373 TLB_FLUSH r31 374 375 TLB_FLUSH r31 376 TLB_FLUSH r31 377 TLB_FLUSH r31 378 TLB_FLUSH r31 379 TLB_FLUSH r31 380 TLB_FLUSH r31 381 TLB_FLUSH r31 382 TLB_FLUSH r31 383 384 TLB_FLUSH r31 385 TLB_FLUSH r31 386 TLB_FLUSH r31 387 TLB_FLUSH r31 388 TLB_FLUSH r31 389 TLB_FLUSH r31 390 TLB_FLUSH r31 391 TLB_FLUSH r31 392 393 TLB_FLUSH r31 394 TLB_FLUSH r31 395 TLB_FLUSH r31 396 TLB_FLUSH r31 397 TLB_FLUSH r31 398 TLB_FLUSH r31 399 TLB_FLUSH r31 400 TLB_FLUSH r31 401 402 TLB_FLUSH r31 403 TLB_FLUSH r31 404 TLB_FLUSH r31 405 TLB_FLUSH r31 406 TLB_FLUSH r31 407 TLB_FLUSH r31 408 TLB_FLUSH r31 409 TLB_FLUSH r31 410 411 TLB_FLUSH r31 412 TLB_FLUSH r31 413 TLB_FLUSH r31 414 TLB_FLUSH r31 415 TLB_FLUSH r31 416 TLB_FLUSH r31 417 TLB_FLUSH r31 418 TLB_FLUSH r31 419 420 eieio 331 421 tlbsync 422 sync 332 423 333 424 # start the kernel -
boot/arch/ppc32/loader/regname.h
r34259b9 r7b187ef 218 218 #define hid0_icfi (1 << 11) 219 219 #define hid0_dci (1 << 10) 220 #define hid0_sten (1 << 7) 220 221 221 222 #endif -
kernel/arch/ppc32/include/asm/regname.h
r34259b9 r7b187ef 225 225 #define hid0_icfi (1 << 11) 226 226 #define hid0_dci (1 << 10) 227 #define hid0_sten (1 << 7) 227 228 228 229 #endif -
kernel/arch/ppc32/include/barrier.h
r34259b9 r7b187ef 56 56 "sync\n" 57 57 "icbi 0, %0\n" 58 "sync\n" 58 59 "isync\n" 59 60 :: "r" (addr) … … 77 78 } 78 79 79 asm volatile ("isync"); 80 asm volatile ( 81 "sync\n" 82 "isync\n" 83 ); 80 84 } 81 85 -
kernel/arch/ppc32/src/mm/tlb.c
r34259b9 r7b187ef 27 27 */ 28 28 29 /** @addtogroup ppc32mm 29 /** @addtogroup ppc32mm 30 30 * @{ 31 31 */ … … 46 46 static unsigned int seed = 10; 47 47 static 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" 48 53 49 54 … … 412 417 void tlb_invalidate_all(void) 413 418 { 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" 415 497 "tlbsync\n" 498 "sync\n" 499 : "=r" (index) 416 500 ); 417 501 }
Note:
See TracChangeset
for help on using the changeset viewer.