mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu-mainline.git
				synced 2025-03-21 01:53:15 +00:00 
			
		
		
		
	memory: Set page-table pointers before setting attribute = Memory
This commit is contained in:
		
							parent
							
								
									52882a93a5
								
							
						
					
					
						commit
						76bd617b2d
					
				| @ -548,9 +548,9 @@ struct Memory::Impl { | |||||||
|                         // longer exist, and we should just leave the pagetable entry blank.
 |                         // longer exist, and we should just leave the pagetable entry blank.
 | ||||||
|                         page_type = Common::PageType::Unmapped; |                         page_type = Common::PageType::Unmapped; | ||||||
|                     } else { |                     } else { | ||||||
|                         page_type = Common::PageType::Memory; |  | ||||||
|                         current_page_table->pointers[vaddr >> PAGE_BITS] = |                         current_page_table->pointers[vaddr >> PAGE_BITS] = | ||||||
|                             pointer - (vaddr & ~PAGE_MASK); |                             pointer - (vaddr & ~PAGE_MASK); | ||||||
|  |                         page_type = Common::PageType::Memory; | ||||||
|                     } |                     } | ||||||
|                     break; |                     break; | ||||||
|                 } |                 } | ||||||
| @ -591,9 +591,12 @@ struct Memory::Impl { | |||||||
|                    base + page_table.pointers.size()); |                    base + page_table.pointers.size()); | ||||||
| 
 | 
 | ||||||
|         if (!target) { |         if (!target) { | ||||||
|  |             ASSERT_MSG(type != Common::PageType::Memory, | ||||||
|  |                        "Mapping memory page without a pointer @ {:016x}", base * PAGE_SIZE); | ||||||
|  | 
 | ||||||
|             while (base != end) { |             while (base != end) { | ||||||
|                 page_table.pointers[base] = nullptr; |  | ||||||
|                 page_table.attributes[base] = type; |                 page_table.attributes[base] = type; | ||||||
|  |                 page_table.pointers[base] = nullptr; | ||||||
|                 page_table.backing_addr[base] = 0; |                 page_table.backing_addr[base] = 0; | ||||||
| 
 | 
 | ||||||
|                 base += 1; |                 base += 1; | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 MerryMage
						MerryMage