Merge pull request #397 from lioncash/core
core/memory: Move logging macros over to the new fmt-capable ones
This commit is contained in:
		
						commit
						60746e4e52
					
				@ -39,8 +39,8 @@ PageTable* GetCurrentPageTable() {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void MapPages(PageTable& page_table, VAddr base, u64 size, u8* memory, PageType type) {
 | 
			
		||||
    LOG_DEBUG(HW_Memory, "Mapping %p onto %016" PRIX64 "-%016" PRIX64, memory, base * PAGE_SIZE,
 | 
			
		||||
              (base + size) * PAGE_SIZE);
 | 
			
		||||
    NGLOG_DEBUG(HW_Memory, "Mapping {} onto {:016X}-{:016X}", fmt::ptr(memory), base * PAGE_SIZE,
 | 
			
		||||
                (base + size) * PAGE_SIZE);
 | 
			
		||||
 | 
			
		||||
    RasterizerFlushVirtualRegion(base << PAGE_BITS, size * PAGE_SIZE,
 | 
			
		||||
                                 FlushMode::FlushAndInvalidate);
 | 
			
		||||
@ -169,10 +169,10 @@ T Read(const VAddr vaddr) {
 | 
			
		||||
    PageType type = current_page_table->attributes[vaddr >> PAGE_BITS];
 | 
			
		||||
    switch (type) {
 | 
			
		||||
    case PageType::Unmapped:
 | 
			
		||||
        LOG_ERROR(HW_Memory, "unmapped Read%lu @ 0x%08X", sizeof(T) * 8, vaddr);
 | 
			
		||||
        NGLOG_ERROR(HW_Memory, "Unmapped Read{} @ {:#010X}", sizeof(T) * 8, vaddr);
 | 
			
		||||
        return 0;
 | 
			
		||||
    case PageType::Memory:
 | 
			
		||||
        ASSERT_MSG(false, "Mapped memory page without a pointer @ %08X", vaddr);
 | 
			
		||||
        ASSERT_MSG(false, "Mapped memory page without a pointer @ %016" PRIX64, vaddr);
 | 
			
		||||
        break;
 | 
			
		||||
    case PageType::RasterizerCachedMemory: {
 | 
			
		||||
        RasterizerFlushVirtualRegion(vaddr, sizeof(T), FlushMode::Flush);
 | 
			
		||||
@ -201,11 +201,11 @@ void Write(const VAddr vaddr, const T data) {
 | 
			
		||||
    PageType type = current_page_table->attributes[vaddr >> PAGE_BITS];
 | 
			
		||||
    switch (type) {
 | 
			
		||||
    case PageType::Unmapped:
 | 
			
		||||
        LOG_ERROR(HW_Memory, "unmapped Write%lu 0x%08X @ 0x%08X", sizeof(data) * 8, (u32)data,
 | 
			
		||||
                  vaddr);
 | 
			
		||||
        NGLOG_ERROR(HW_Memory, "Unmapped Write{} {:#010X} @ {:#018X}", sizeof(data) * 8, (u32)data,
 | 
			
		||||
                    vaddr);
 | 
			
		||||
        return;
 | 
			
		||||
    case PageType::Memory:
 | 
			
		||||
        ASSERT_MSG(false, "Mapped memory page without a pointer @ %08X", vaddr);
 | 
			
		||||
        ASSERT_MSG(false, "Mapped memory page without a pointer @ %016" PRIX64, vaddr);
 | 
			
		||||
        break;
 | 
			
		||||
    case PageType::RasterizerCachedMemory: {
 | 
			
		||||
        RasterizerFlushVirtualRegion(vaddr, sizeof(T), FlushMode::Invalidate);
 | 
			
		||||
@ -251,7 +251,7 @@ u8* GetPointer(const VAddr vaddr) {
 | 
			
		||||
        return GetPointerFromVMA(vaddr);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    LOG_ERROR(HW_Memory, "unknown GetPointer @ 0x%08x", vaddr);
 | 
			
		||||
    NGLOG_ERROR(HW_Memory, "Unknown GetPointer @ {:#018X}", vaddr);
 | 
			
		||||
    return nullptr;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -288,13 +288,12 @@ u8* GetPhysicalPointer(PAddr address) {
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
    if (area == std::end(memory_areas)) {
 | 
			
		||||
        LOG_ERROR(HW_Memory, "unknown GetPhysicalPointer @ 0x%016" PRIX64, address);
 | 
			
		||||
        NGLOG_ERROR(HW_Memory, "Unknown GetPhysicalPointer @ {:#018X}", address);
 | 
			
		||||
        return nullptr;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (area->paddr_base == IO_AREA_PADDR) {
 | 
			
		||||
        LOG_ERROR(HW_Memory, "MMIO mappings are not supported yet. phys_addr=0x%016" PRIX64,
 | 
			
		||||
                  address);
 | 
			
		||||
        NGLOG_ERROR(HW_Memory, "MMIO mappings are not supported yet. phys_addr={:018X}", address);
 | 
			
		||||
        return nullptr;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -341,9 +340,9 @@ void RasterizerMarkRegionCached(Tegra::GPUVAddr gpu_addr, u64 size, bool cached)
 | 
			
		||||
            Core::System::GetInstance().GPU().memory_manager->GpuToCpuAddress(gpu_addr);
 | 
			
		||||
        // The GPU <-> CPU virtual memory mapping is not 1:1
 | 
			
		||||
        if (!maybe_vaddr) {
 | 
			
		||||
            LOG_ERROR(HW_Memory,
 | 
			
		||||
                      "Trying to flush a cached region to an invalid physical address %08X",
 | 
			
		||||
                      gpu_addr);
 | 
			
		||||
            NGLOG_ERROR(HW_Memory,
 | 
			
		||||
                        "Trying to flush a cached region to an invalid physical address {:016X}",
 | 
			
		||||
                        gpu_addr);
 | 
			
		||||
            continue;
 | 
			
		||||
        }
 | 
			
		||||
        VAddr vaddr = *maybe_vaddr;
 | 
			
		||||
@ -477,8 +476,9 @@ void ReadBlock(const Kernel::Process& process, const VAddr src_addr, void* dest_
 | 
			
		||||
 | 
			
		||||
        switch (page_table.attributes[page_index]) {
 | 
			
		||||
        case PageType::Unmapped: {
 | 
			
		||||
            LOG_ERROR(HW_Memory, "unmapped ReadBlock @ 0x%08X (start address = 0x%08X, size = %zu)",
 | 
			
		||||
                      current_vaddr, src_addr, size);
 | 
			
		||||
            NGLOG_ERROR(HW_Memory,
 | 
			
		||||
                        "Unmapped ReadBlock @ {:#018X} (start address = {:#018X}, size = {})",
 | 
			
		||||
                        current_vaddr, src_addr, size);
 | 
			
		||||
            std::memset(dest_buffer, 0, copy_amount);
 | 
			
		||||
            break;
 | 
			
		||||
        }
 | 
			
		||||
@ -540,9 +540,9 @@ void WriteBlock(const Kernel::Process& process, const VAddr dest_addr, const voi
 | 
			
		||||
 | 
			
		||||
        switch (page_table.attributes[page_index]) {
 | 
			
		||||
        case PageType::Unmapped: {
 | 
			
		||||
            LOG_ERROR(HW_Memory,
 | 
			
		||||
                      "unmapped WriteBlock @ 0x%08X (start address = 0x%08X, size = %zu)",
 | 
			
		||||
                      current_vaddr, dest_addr, size);
 | 
			
		||||
            NGLOG_ERROR(HW_Memory,
 | 
			
		||||
                        "Unmapped WriteBlock @ {:#018X} (start address = {:#018X}, size = {})",
 | 
			
		||||
                        current_vaddr, dest_addr, size);
 | 
			
		||||
            break;
 | 
			
		||||
        }
 | 
			
		||||
        case PageType::Memory: {
 | 
			
		||||
@ -588,8 +588,9 @@ void ZeroBlock(const Kernel::Process& process, const VAddr dest_addr, const size
 | 
			
		||||
 | 
			
		||||
        switch (page_table.attributes[page_index]) {
 | 
			
		||||
        case PageType::Unmapped: {
 | 
			
		||||
            LOG_ERROR(HW_Memory, "unmapped ZeroBlock @ 0x%08X (start address = 0x%08X, size = %zu)",
 | 
			
		||||
                      current_vaddr, dest_addr, size);
 | 
			
		||||
            NGLOG_ERROR(HW_Memory,
 | 
			
		||||
                        "Unmapped ZeroBlock @ {:#018X} (start address = {#:018X}, size = {})",
 | 
			
		||||
                        current_vaddr, dest_addr, size);
 | 
			
		||||
            break;
 | 
			
		||||
        }
 | 
			
		||||
        case PageType::Memory: {
 | 
			
		||||
@ -628,8 +629,9 @@ void CopyBlock(const Kernel::Process& process, VAddr dest_addr, VAddr src_addr,
 | 
			
		||||
 | 
			
		||||
        switch (page_table.attributes[page_index]) {
 | 
			
		||||
        case PageType::Unmapped: {
 | 
			
		||||
            LOG_ERROR(HW_Memory, "unmapped CopyBlock @ 0x%08X (start address = 0x%08X, size = %zu)",
 | 
			
		||||
                      current_vaddr, src_addr, size);
 | 
			
		||||
            NGLOG_ERROR(HW_Memory,
 | 
			
		||||
                        "Unmapped CopyBlock @ {:#018X} (start address = {:#018X}, size = {})",
 | 
			
		||||
                        current_vaddr, src_addr, size);
 | 
			
		||||
            ZeroBlock(process, dest_addr, copy_amount);
 | 
			
		||||
            break;
 | 
			
		||||
        }
 | 
			
		||||
@ -678,7 +680,7 @@ boost::optional<PAddr> TryVirtualToPhysicalAddress(const VAddr addr) {
 | 
			
		||||
PAddr VirtualToPhysicalAddress(const VAddr addr) {
 | 
			
		||||
    auto paddr = TryVirtualToPhysicalAddress(addr);
 | 
			
		||||
    if (!paddr) {
 | 
			
		||||
        LOG_ERROR(HW_Memory, "Unknown virtual address @ 0x%016" PRIX64, addr);
 | 
			
		||||
        NGLOG_ERROR(HW_Memory, "Unknown virtual address @ {:#018X}", addr);
 | 
			
		||||
        // To help with debugging, set bit on address so that it's obviously invalid.
 | 
			
		||||
        return addr | 0x80000000;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user