20 #include "pedigree/kernel/debugger/commands/IoCommand.h" 21 #include "pedigree/kernel/processor/IoPortManager.h" 22 #include "pedigree/kernel/processor/PhysicalMemoryManager.h" 23 #include "pedigree/kernel/processor/types.h" 24 #include "pedigree/kernel/utilities/Vector.h" 25 #include "pedigree/kernel/utilities/utility.h" 46 #if !defined(KERNEL_PROCESSOR_NO_PORT_IO) 53 output +=
"I/O ports:\n";
63 output.append((*i)->ioPort, 16);
65 output.append((*i)->ioPort + (*i)->sIoPort - 1, 16);
81 output +=
"Memory regions:\n";
85 MemoryRegions.
begin();
91 output += (*i)->pName;
92 output +=
": virtual 0x";
94 reinterpret_cast<uintptr_t>((*i)->pVirtualAddress), 16,
95 sizeof(processor_register_t) * 2,
'0');
98 reinterpret_cast<uintptr_t>((*i)->pVirtualAddress) +
99 (*i)->sVirtualAddress,
100 16,
sizeof(processor_register_t) * 2,
'0');
101 if ((*i)->physicalAddress != 0)
104 output.append(
' ', StringLength((*i)->pName) + 3,
' ');
105 output +=
"physical 0x";
107 (*i)->physicalAddress, 16,
sizeof(physical_uintptr_t) * 2,
111 (*i)->physicalAddress + (*i)->sVirtualAddress, 16,
112 sizeof(physical_uintptr_t) * 2,
'0');
bool execute(const HugeStaticString &input, HugeStaticString &output, InterruptState &state, DebuggerIO *screen)
static PhysicalMemoryManager & instance()
A vector / dynamic array.
static IoPortManager & instance()
void allocateMemoryRegionList(Vector< MemoryRegionInfo * > &MemoryRegions)
Manages hardware I/O port (de)allocations.
void allocateIoPortList(Vector< IoPortInfo * > &IoPorts)
void autocomplete(const HugeStaticString &input, HugeStaticString &output)
void freeIoPortList(Vector< IoPortInfo * > &IoPorts)