platform/pc: remove Env from generate() methods

This was a relic from a time where we dumped the page tables from NOVA
and therefore needed to attach the corresponding dataspaces.

genodelabs/genode#5066
This commit is contained in:
Johannes Schlatow 2024-04-12 09:11:05 +02:00 committed by Christian Helmuth
parent 4a0ce32faa
commit aaeb21136b
7 changed files with 15 additions and 23 deletions

View File

@ -24,7 +24,6 @@ static void attribute_hex(Genode::Xml_generator & xml, char const * name,
void Intel::Context_table::generate(Xml_generator & xml,
Env & env,
Report_helper & report_helper)
{
for_each(0, [&] (Pci::rid_t id) {
@ -51,7 +50,7 @@ void Intel::Context_table::generate(Xml_generator & xml,
/* dump stage2 table */
report_helper.with_table<Table3>(stage2_addr,
[&] (Table3 & stage2_table) {
stage2_table.generate(xml, env, report_helper); });
stage2_table.generate(xml, report_helper); });
break;
case Hi::Address_width::AGAW_4_LEVEL:
using Table4 = Intel::Level_4_translation_table;
@ -59,7 +58,7 @@ void Intel::Context_table::generate(Xml_generator & xml,
/* dump stage2 table */
report_helper.with_table<Table4>(stage2_addr,
[&] (Table4 & stage2_table) {
stage2_table.generate(xml, env, report_helper); });
stage2_table.generate(xml, report_helper); });
break;
default:
xml.node("unsupported-agaw-error", [&] () {});

View File

@ -149,7 +149,7 @@ class Intel::Context_table
clflush(&_entries[_lo_index(rid)]);
}
void generate(Xml_generator &, Env &, Intel::Report_helper &);
void generate(Xml_generator &, Intel::Report_helper &);
void flush_all()
{

View File

@ -282,7 +282,7 @@ void Intel::Io_mmu::generate(Xml_generator & xml)
/* dump root table, context table, and page tables */
_report_helper.with_table<Root_table>(rt_addr,
[&] (Root_table & root_table) {
root_table.generate(xml, _env, _report_helper);
root_table.generate(xml, _report_helper);
});
});
}

View File

@ -15,7 +15,6 @@
void Intel::Level_1_translation_table::generate(
Genode::Xml_generator & xml,
Genode::Env &,
Report_helper &)
{
for_each_entry([&] (unsigned long i, Descriptor::access_t e) {
@ -25,38 +24,35 @@ void Intel::Level_1_translation_table::generate(
void Intel::Level_2_translation_table::generate(
Genode::Xml_generator & xml,
Genode::Env & env,
Report_helper & report_helper)
{
for_each_entry([&] (unsigned long i, Descriptor::access_t e) {
if (Descriptor::maps_page(e))
Descriptor::Page::generate_page(i, e, xml);
else
Descriptor::Table::generate<Entry>(i, e, xml, env, report_helper);
Descriptor::Table::generate<Entry>(i, e, xml, report_helper);
});
}
void Intel::Level_3_translation_table::generate(
Genode::Xml_generator & xml,
Genode::Env & env,
Report_helper & report_helper)
{
for_each_entry([&] (unsigned long i, Descriptor::access_t e) {
if (Descriptor::maps_page(e))
Descriptor::Page::generate_page(i, e, xml);
else
Descriptor::Table::generate<Entry>(i, e, xml, env, report_helper);
Descriptor::Table::generate<Entry>(i, e, xml, report_helper);
});
}
void Intel::Level_4_translation_table::generate(
Genode::Xml_generator & xml,
Genode::Env & env,
Report_helper & report_helper)
{
for_each_entry([&] (unsigned long i, Descriptor::access_t e) {
Descriptor::generate<Entry>(i, e, xml, env, report_helper);
Descriptor::generate<Entry>(i, e, xml, report_helper);
});
}

View File

@ -155,7 +155,6 @@ struct Intel::Page_directory_descriptor<_PAGE_SIZE_LOG2>::Table
static void generate(unsigned long index,
access_t entry,
Genode::Xml_generator & xml,
Genode::Env & env,
Report_helper & report_helper)
{
using Genode::Hex;
@ -168,7 +167,7 @@ struct Intel::Page_directory_descriptor<_PAGE_SIZE_LOG2>::Table
xml.attribute("address", Hex_str(Hex(pd_addr)));
report_helper.with_table<ENTRY>(pd_addr, [&] (ENTRY & pd) {
pd.generate(xml, env, report_helper); });
pd.generate(xml, report_helper); });
});
}
};
@ -237,7 +236,6 @@ struct Intel::Level_4_descriptor : Common_descriptor
static void generate(unsigned long index,
access_t entry,
Genode::Xml_generator & xml,
Genode::Env & env,
Report_helper & report_helper)
{
using Genode::Hex;
@ -250,7 +248,7 @@ struct Intel::Level_4_descriptor : Common_descriptor
xml.attribute("address", Hex_str(Hex(level3_addr)));
report_helper.with_table<ENTRY>(level3_addr, [&] (ENTRY & level3_table) {
level3_table.generate(xml, env, report_helper); });
level3_table.generate(xml, report_helper); });
});
}
};
@ -264,7 +262,7 @@ namespace Intel {
{
static constexpr unsigned address_width() { return SIZE_LOG2_2MB; }
void generate(Genode::Xml_generator &, Genode::Env & env, Report_helper &);
void generate(Genode::Xml_generator &, Report_helper &);
} __attribute__((aligned(1 << ALIGNM_LOG2)));
struct Level_2_translation_table
@ -274,7 +272,7 @@ namespace Intel {
{
static constexpr unsigned address_width() { return SIZE_LOG2_1GB; }
void generate(Genode::Xml_generator &, Genode::Env & env, Report_helper &);
void generate(Genode::Xml_generator &, Report_helper &);
} __attribute__((aligned(1 << ALIGNM_LOG2)));
struct Level_3_translation_table
@ -284,7 +282,7 @@ namespace Intel {
{
static constexpr unsigned address_width() { return SIZE_LOG2_512GB; }
void generate(Genode::Xml_generator &, Genode::Env & env, Report_helper &);
void generate(Genode::Xml_generator &, Report_helper &);
} __attribute__((aligned(1 << ALIGNM_LOG2)));
struct Level_4_translation_table
@ -294,7 +292,7 @@ namespace Intel {
{
static constexpr unsigned address_width() { return SIZE_LOG2_256TB; }
void generate(Genode::Xml_generator &, Genode::Env & env, Report_helper &);
void generate(Genode::Xml_generator &, Report_helper &);
} __attribute__((aligned(1 << ALIGNM_LOG2)));
}

View File

@ -24,7 +24,6 @@ static void attribute_hex(Genode::Xml_generator & xml, char const * name,
void Intel::Root_table::generate(Xml_generator & xml,
Env & env,
Report_helper & report_helper)
{
for_each([&] (uint8_t bus) {
@ -38,7 +37,7 @@ void Intel::Root_table::generate(Xml_generator & xml,
attribute_hex(xml, "context_table", ctx_addr);
auto fn = [&] (Context_table & context) {
context.generate(xml, env, report_helper);
context.generate(xml, report_helper);
};
/* dump context table */

View File

@ -72,7 +72,7 @@ class Intel::Root_table
clflush(&_entries[bus*2]);
}
void generate(Xml_generator &, Env &, Report_helper &);
void generate(Xml_generator &, Report_helper &);
Root_table()
{