summaryrefslogtreecommitdiff
path: root/src/core/memory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/memory.cpp')
-rw-r--r--src/core/memory.cpp55
1 files changed, 28 insertions, 27 deletions
diff --git a/src/core/memory.cpp b/src/core/memory.cpp
index 0e4e0157c..316b46820 100644
--- a/src/core/memory.cpp
+++ b/src/core/memory.cpp
@@ -370,16 +370,16 @@ u64 Read64(const VAddr addr) {
370} 370}
371 371
372void ReadBlock(const Kernel::Process& process, const VAddr src_addr, void* dest_buffer, 372void ReadBlock(const Kernel::Process& process, const VAddr src_addr, void* dest_buffer,
373 const size_t size) { 373 const std::size_t size) {
374 auto& page_table = process.vm_manager.page_table; 374 auto& page_table = process.vm_manager.page_table;
375 375
376 size_t remaining_size = size; 376 std::size_t remaining_size = size;
377 size_t page_index = src_addr >> PAGE_BITS; 377 std::size_t page_index = src_addr >> PAGE_BITS;
378 size_t page_offset = src_addr & PAGE_MASK; 378 std::size_t page_offset = src_addr & PAGE_MASK;
379 379
380 while (remaining_size > 0) { 380 while (remaining_size > 0) {
381 const size_t copy_amount = 381 const std::size_t copy_amount =
382 std::min(static_cast<size_t>(PAGE_SIZE) - page_offset, remaining_size); 382 std::min(static_cast<std::size_t>(PAGE_SIZE) - page_offset, remaining_size);
383 const VAddr current_vaddr = static_cast<VAddr>((page_index << PAGE_BITS) + page_offset); 383 const VAddr current_vaddr = static_cast<VAddr>((page_index << PAGE_BITS) + page_offset);
384 384
385 switch (page_table.attributes[page_index]) { 385 switch (page_table.attributes[page_index]) {
@@ -414,7 +414,7 @@ void ReadBlock(const Kernel::Process& process, const VAddr src_addr, void* dest_
414 } 414 }
415} 415}
416 416
417void ReadBlock(const VAddr src_addr, void* dest_buffer, const size_t size) { 417void ReadBlock(const VAddr src_addr, void* dest_buffer, const std::size_t size) {
418 ReadBlock(*Core::CurrentProcess(), src_addr, dest_buffer, size); 418 ReadBlock(*Core::CurrentProcess(), src_addr, dest_buffer, size);
419} 419}
420 420
@@ -435,15 +435,15 @@ void Write64(const VAddr addr, const u64 data) {
435} 435}
436 436
437void WriteBlock(const Kernel::Process& process, const VAddr dest_addr, const void* src_buffer, 437void WriteBlock(const Kernel::Process& process, const VAddr dest_addr, const void* src_buffer,
438 const size_t size) { 438 const std::size_t size) {
439 auto& page_table = process.vm_manager.page_table; 439 auto& page_table = process.vm_manager.page_table;
440 size_t remaining_size = size; 440 std::size_t remaining_size = size;
441 size_t page_index = dest_addr >> PAGE_BITS; 441 std::size_t page_index = dest_addr >> PAGE_BITS;
442 size_t page_offset = dest_addr & PAGE_MASK; 442 std::size_t page_offset = dest_addr & PAGE_MASK;
443 443
444 while (remaining_size > 0) { 444 while (remaining_size > 0) {
445 const size_t copy_amount = 445 const std::size_t copy_amount =
446 std::min(static_cast<size_t>(PAGE_SIZE) - page_offset, remaining_size); 446 std::min(static_cast<std::size_t>(PAGE_SIZE) - page_offset, remaining_size);
447 const VAddr current_vaddr = static_cast<VAddr>((page_index << PAGE_BITS) + page_offset); 447 const VAddr current_vaddr = static_cast<VAddr>((page_index << PAGE_BITS) + page_offset);
448 448
449 switch (page_table.attributes[page_index]) { 449 switch (page_table.attributes[page_index]) {
@@ -477,19 +477,19 @@ void WriteBlock(const Kernel::Process& process, const VAddr dest_addr, const voi
477 } 477 }
478} 478}
479 479
480void WriteBlock(const VAddr dest_addr, const void* src_buffer, const size_t size) { 480void WriteBlock(const VAddr dest_addr, const void* src_buffer, const std::size_t size) {
481 WriteBlock(*Core::CurrentProcess(), dest_addr, src_buffer, size); 481 WriteBlock(*Core::CurrentProcess(), dest_addr, src_buffer, size);
482} 482}
483 483
484void ZeroBlock(const Kernel::Process& process, const VAddr dest_addr, const size_t size) { 484void ZeroBlock(const Kernel::Process& process, const VAddr dest_addr, const std::size_t size) {
485 auto& page_table = process.vm_manager.page_table; 485 auto& page_table = process.vm_manager.page_table;
486 size_t remaining_size = size; 486 std::size_t remaining_size = size;
487 size_t page_index = dest_addr >> PAGE_BITS; 487 std::size_t page_index = dest_addr >> PAGE_BITS;
488 size_t page_offset = dest_addr & PAGE_MASK; 488 std::size_t page_offset = dest_addr & PAGE_MASK;
489 489
490 while (remaining_size > 0) { 490 while (remaining_size > 0) {
491 const size_t copy_amount = 491 const std::size_t copy_amount =
492 std::min(static_cast<size_t>(PAGE_SIZE) - page_offset, remaining_size); 492 std::min(static_cast<std::size_t>(PAGE_SIZE) - page_offset, remaining_size);
493 const VAddr current_vaddr = static_cast<VAddr>((page_index << PAGE_BITS) + page_offset); 493 const VAddr current_vaddr = static_cast<VAddr>((page_index << PAGE_BITS) + page_offset);
494 494
495 switch (page_table.attributes[page_index]) { 495 switch (page_table.attributes[page_index]) {
@@ -522,15 +522,16 @@ void ZeroBlock(const Kernel::Process& process, const VAddr dest_addr, const size
522 } 522 }
523} 523}
524 524
525void CopyBlock(const Kernel::Process& process, VAddr dest_addr, VAddr src_addr, const size_t size) { 525void CopyBlock(const Kernel::Process& process, VAddr dest_addr, VAddr src_addr,
526 const std::size_t size) {
526 auto& page_table = process.vm_manager.page_table; 527 auto& page_table = process.vm_manager.page_table;
527 size_t remaining_size = size; 528 std::size_t remaining_size = size;
528 size_t page_index = src_addr >> PAGE_BITS; 529 std::size_t page_index = src_addr >> PAGE_BITS;
529 size_t page_offset = src_addr & PAGE_MASK; 530 std::size_t page_offset = src_addr & PAGE_MASK;
530 531
531 while (remaining_size > 0) { 532 while (remaining_size > 0) {
532 const size_t copy_amount = 533 const std::size_t copy_amount =
533 std::min(static_cast<size_t>(PAGE_SIZE) - page_offset, remaining_size); 534 std::min(static_cast<std::size_t>(PAGE_SIZE) - page_offset, remaining_size);
534 const VAddr current_vaddr = static_cast<VAddr>((page_index << PAGE_BITS) + page_offset); 535 const VAddr current_vaddr = static_cast<VAddr>((page_index << PAGE_BITS) + page_offset);
535 536
536 switch (page_table.attributes[page_index]) { 537 switch (page_table.attributes[page_index]) {
@@ -565,7 +566,7 @@ void CopyBlock(const Kernel::Process& process, VAddr dest_addr, VAddr src_addr,
565 } 566 }
566} 567}
567 568
568void CopyBlock(VAddr dest_addr, VAddr src_addr, size_t size) { 569void CopyBlock(VAddr dest_addr, VAddr src_addr, std::size_t size) {
569 CopyBlock(*Core::CurrentProcess(), dest_addr, src_addr, size); 570 CopyBlock(*Core::CurrentProcess(), dest_addr, src_addr, size);
570} 571}
571 572