Changeset d5a89a3 in mainline for kernel/arch/sparc64/include/arch/mm/sun4u/tlb.h
- Timestamp:
- 2019-02-11T22:31:04Z (6 years ago)
- Children:
- aaf9789c
- Parents:
- e3272101 (diff), 4805495 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/sparc64/include/arch/mm/sun4u/tlb.h
re3272101 rd5a89a3 243 243 * Determine the number of entries in the DMMU's small TLB. 244 244 */ 245 NO_TRACE static inline uint16_t tlb_dsmall_size(void)245 _NO_TRACE static inline uint16_t tlb_dsmall_size(void) 246 246 { 247 247 return 16; … … 251 251 * Determine the number of entries in each DMMU's big TLB. 252 252 */ 253 NO_TRACE static inline uint16_t tlb_dbig_size(void)253 _NO_TRACE static inline uint16_t tlb_dbig_size(void) 254 254 { 255 255 return 512; … … 259 259 * Determine the number of entries in the IMMU's small TLB. 260 260 */ 261 NO_TRACE static inline uint16_t tlb_ismall_size(void)261 _NO_TRACE static inline uint16_t tlb_ismall_size(void) 262 262 { 263 263 return 16; … … 267 267 * Determine the number of entries in the IMMU's big TLB. 268 268 */ 269 NO_TRACE static inline uint16_t tlb_ibig_size(void)269 _NO_TRACE static inline uint16_t tlb_ibig_size(void) 270 270 { 271 271 if (((ver_reg_t) ver_read()).impl == IMPL_ULTRASPARCIV_PLUS) … … 281 281 * @return Current value of Primary Context Register. 282 282 */ 283 NO_TRACE static inline uint64_t mmu_primary_context_read(void)283 _NO_TRACE static inline uint64_t mmu_primary_context_read(void) 284 284 { 285 285 return asi_u64_read(ASI_DMMU, VA_PRIMARY_CONTEXT_REG); … … 290 290 * @param v New value of Primary Context Register. 291 291 */ 292 NO_TRACE static inline void mmu_primary_context_write(uint64_t v)292 _NO_TRACE static inline void mmu_primary_context_write(uint64_t v) 293 293 { 294 294 asi_u64_write(ASI_DMMU, VA_PRIMARY_CONTEXT_REG, v); … … 300 300 * @return Current value of Secondary Context Register. 301 301 */ 302 NO_TRACE static inline uint64_t mmu_secondary_context_read(void)302 _NO_TRACE static inline uint64_t mmu_secondary_context_read(void) 303 303 { 304 304 return asi_u64_read(ASI_DMMU, VA_SECONDARY_CONTEXT_REG); … … 309 309 * @param v New value of Primary Context Register. 310 310 */ 311 NO_TRACE static inline void mmu_secondary_context_write(uint64_t v)311 _NO_TRACE static inline void mmu_secondary_context_write(uint64_t v) 312 312 { 313 313 asi_u64_write(ASI_DMMU, VA_SECONDARY_CONTEXT_REG, v); … … 324 324 * Register. 325 325 */ 326 NO_TRACE static inline uint64_t itlb_data_access_read(size_t entry)326 _NO_TRACE static inline uint64_t itlb_data_access_read(size_t entry) 327 327 { 328 328 itlb_data_access_addr_t reg; … … 338 338 * @param value Value to be written. 339 339 */ 340 NO_TRACE static inline void itlb_data_access_write(size_t entry, uint64_t value)340 _NO_TRACE static inline void itlb_data_access_write(size_t entry, uint64_t value) 341 341 { 342 342 itlb_data_access_addr_t reg; … … 355 355 * Register. 356 356 */ 357 NO_TRACE static inline uint64_t dtlb_data_access_read(size_t entry)357 _NO_TRACE static inline uint64_t dtlb_data_access_read(size_t entry) 358 358 { 359 359 dtlb_data_access_addr_t reg; … … 369 369 * @param value Value to be written. 370 370 */ 371 NO_TRACE static inline void dtlb_data_access_write(size_t entry, uint64_t value)371 _NO_TRACE static inline void dtlb_data_access_write(size_t entry, uint64_t value) 372 372 { 373 373 dtlb_data_access_addr_t reg; … … 385 385 * @return Current value of specified IMMU TLB Tag Read Register. 386 386 */ 387 NO_TRACE static inline uint64_t itlb_tag_read_read(size_t entry)387 _NO_TRACE static inline uint64_t itlb_tag_read_read(size_t entry) 388 388 { 389 389 itlb_tag_read_addr_t tag; … … 400 400 * @return Current value of specified DMMU TLB Tag Read Register. 401 401 */ 402 NO_TRACE static inline uint64_t dtlb_tag_read_read(size_t entry)402 _NO_TRACE static inline uint64_t dtlb_tag_read_read(size_t entry) 403 403 { 404 404 dtlb_tag_read_addr_t tag; … … 419 419 * Register. 420 420 */ 421 NO_TRACE static inline uint64_t itlb_data_access_read(int tlb, size_t entry)421 _NO_TRACE static inline uint64_t itlb_data_access_read(int tlb, size_t entry) 422 422 { 423 423 itlb_data_access_addr_t reg; … … 434 434 * @param value Value to be written. 435 435 */ 436 NO_TRACE static inline void itlb_data_access_write(int tlb, size_t entry,436 _NO_TRACE static inline void itlb_data_access_write(int tlb, size_t entry, 437 437 uint64_t value) 438 438 { … … 454 454 * Register. 455 455 */ 456 NO_TRACE static inline uint64_t dtlb_data_access_read(int tlb, size_t entry)456 _NO_TRACE static inline uint64_t dtlb_data_access_read(int tlb, size_t entry) 457 457 { 458 458 dtlb_data_access_addr_t reg; … … 470 470 * @param value Value to be written. 471 471 */ 472 NO_TRACE static inline void dtlb_data_access_write(int tlb, size_t entry,472 _NO_TRACE static inline void dtlb_data_access_write(int tlb, size_t entry, 473 473 uint64_t value) 474 474 { … … 489 489 * @return Current value of specified IMMU TLB Tag Read Register. 490 490 */ 491 NO_TRACE static inline uint64_t itlb_tag_read_read(int tlb, size_t entry)491 _NO_TRACE static inline uint64_t itlb_tag_read_read(int tlb, size_t entry) 492 492 { 493 493 itlb_tag_read_addr_t tag; … … 506 506 * @return Current value of specified DMMU TLB Tag Read Register. 507 507 */ 508 NO_TRACE static inline uint64_t dtlb_tag_read_read(int tlb, size_t entry)508 _NO_TRACE static inline uint64_t dtlb_tag_read_read(int tlb, size_t entry) 509 509 { 510 510 dtlb_tag_read_addr_t tag; … … 522 522 * @param v Value to be written. 523 523 */ 524 NO_TRACE static inline void itlb_tag_access_write(uint64_t v)524 _NO_TRACE static inline void itlb_tag_access_write(uint64_t v) 525 525 { 526 526 asi_u64_write(ASI_IMMU, VA_IMMU_TAG_ACCESS, v); … … 532 532 * @return Current value of IMMU TLB Tag Access Register. 533 533 */ 534 NO_TRACE static inline uint64_t itlb_tag_access_read(void)534 _NO_TRACE static inline uint64_t itlb_tag_access_read(void) 535 535 { 536 536 return asi_u64_read(ASI_IMMU, VA_IMMU_TAG_ACCESS); … … 541 541 * @param v Value to be written. 542 542 */ 543 NO_TRACE static inline void dtlb_tag_access_write(uint64_t v)543 _NO_TRACE static inline void dtlb_tag_access_write(uint64_t v) 544 544 { 545 545 asi_u64_write(ASI_DMMU, VA_DMMU_TAG_ACCESS, v); … … 551 551 * @return Current value of DMMU TLB Tag Access Register. 552 552 */ 553 NO_TRACE static inline uint64_t dtlb_tag_access_read(void)553 _NO_TRACE static inline uint64_t dtlb_tag_access_read(void) 554 554 { 555 555 return asi_u64_read(ASI_DMMU, VA_DMMU_TAG_ACCESS); … … 560 560 * @param v Value to be written. 561 561 */ 562 NO_TRACE static inline void itlb_data_in_write(uint64_t v)562 _NO_TRACE static inline void itlb_data_in_write(uint64_t v) 563 563 { 564 564 asi_u64_write(ASI_ITLB_DATA_IN_REG, 0, v); … … 570 570 * @param v Value to be written. 571 571 */ 572 NO_TRACE static inline void dtlb_data_in_write(uint64_t v)572 _NO_TRACE static inline void dtlb_data_in_write(uint64_t v) 573 573 { 574 574 asi_u64_write(ASI_DTLB_DATA_IN_REG, 0, v); … … 580 580 * @return Current content of I-SFSR register. 581 581 */ 582 NO_TRACE static inline uint64_t itlb_sfsr_read(void)582 _NO_TRACE static inline uint64_t itlb_sfsr_read(void) 583 583 { 584 584 return asi_u64_read(ASI_IMMU, VA_IMMU_SFSR); … … 589 589 * @param v New value of I-SFSR register. 590 590 */ 591 NO_TRACE static inline void itlb_sfsr_write(uint64_t v)591 _NO_TRACE static inline void itlb_sfsr_write(uint64_t v) 592 592 { 593 593 asi_u64_write(ASI_IMMU, VA_IMMU_SFSR, v); … … 599 599 * @return Current content of D-SFSR register. 600 600 */ 601 NO_TRACE static inline uint64_t dtlb_sfsr_read(void)601 _NO_TRACE static inline uint64_t dtlb_sfsr_read(void) 602 602 { 603 603 return asi_u64_read(ASI_DMMU, VA_DMMU_SFSR); … … 608 608 * @param v New value of D-SFSR register. 609 609 */ 610 NO_TRACE static inline void dtlb_sfsr_write(uint64_t v)610 _NO_TRACE static inline void dtlb_sfsr_write(uint64_t v) 611 611 { 612 612 asi_u64_write(ASI_DMMU, VA_DMMU_SFSR, v); … … 618 618 * @return Current content of D-SFAR register. 619 619 */ 620 NO_TRACE static inline uint64_t dtlb_sfar_read(void)620 _NO_TRACE static inline uint64_t dtlb_sfar_read(void) 621 621 { 622 622 return asi_u64_read(ASI_DMMU, VA_DMMU_SFAR); … … 631 631 * @param page Address which is on the page to be demapped. 632 632 */ 633 NO_TRACE static inline void itlb_demap(int type, int context_encoding, uintptr_t page)633 _NO_TRACE static inline void itlb_demap(int type, int context_encoding, uintptr_t page) 634 634 { 635 635 tlb_demap_addr_t da; … … 657 657 * @param page Address which is on the page to be demapped. 658 658 */ 659 NO_TRACE static inline void dtlb_demap(int type, int context_encoding, uintptr_t page)659 _NO_TRACE static inline void dtlb_demap(int type, int context_encoding, uintptr_t page) 660 660 { 661 661 tlb_demap_addr_t da;
Note:
See TracChangeset
for help on using the changeset viewer.