From aaeb21136b51668ccda801682058285e5eb57f55 Mon Sep 17 00:00:00 2001 From: Johannes Schlatow Date: Fri, 12 Apr 2024 09:11:05 +0200 Subject: [PATCH] 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 --- .../src/driver/platform/pc/intel/context_table.cc | 5 ++--- .../src/driver/platform/pc/intel/context_table.h | 2 +- repos/pc/src/driver/platform/pc/intel/io_mmu.cc | 2 +- .../pc/src/driver/platform/pc/intel/page_table.cc | 10 +++------- repos/pc/src/driver/platform/pc/intel/page_table.h | 14 ++++++-------- .../pc/src/driver/platform/pc/intel/root_table.cc | 3 +-- repos/pc/src/driver/platform/pc/intel/root_table.h | 2 +- 7 files changed, 15 insertions(+), 23 deletions(-) diff --git a/repos/pc/src/driver/platform/pc/intel/context_table.cc b/repos/pc/src/driver/platform/pc/intel/context_table.cc index d4cd22b35c..87dd09a35e 100644 --- a/repos/pc/src/driver/platform/pc/intel/context_table.cc +++ b/repos/pc/src/driver/platform/pc/intel/context_table.cc @@ -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(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(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", [&] () {}); diff --git a/repos/pc/src/driver/platform/pc/intel/context_table.h b/repos/pc/src/driver/platform/pc/intel/context_table.h index 1aeccd616d..eeff25f413 100644 --- a/repos/pc/src/driver/platform/pc/intel/context_table.h +++ b/repos/pc/src/driver/platform/pc/intel/context_table.h @@ -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() { diff --git a/repos/pc/src/driver/platform/pc/intel/io_mmu.cc b/repos/pc/src/driver/platform/pc/intel/io_mmu.cc index 3b423c5c96..24694dee31 100644 --- a/repos/pc/src/driver/platform/pc/intel/io_mmu.cc +++ b/repos/pc/src/driver/platform/pc/intel/io_mmu.cc @@ -282,7 +282,7 @@ void Intel::Io_mmu::generate(Xml_generator & xml) /* dump root table, context table, and page tables */ _report_helper.with_table(rt_addr, [&] (Root_table & root_table) { - root_table.generate(xml, _env, _report_helper); + root_table.generate(xml, _report_helper); }); }); } diff --git a/repos/pc/src/driver/platform/pc/intel/page_table.cc b/repos/pc/src/driver/platform/pc/intel/page_table.cc index 8b40f4a966..e31eb7f627 100644 --- a/repos/pc/src/driver/platform/pc/intel/page_table.cc +++ b/repos/pc/src/driver/platform/pc/intel/page_table.cc @@ -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(i, e, xml, env, report_helper); + Descriptor::Table::generate(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(i, e, xml, env, report_helper); + Descriptor::Table::generate(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(i, e, xml, env, report_helper); + Descriptor::generate(i, e, xml, report_helper); }); } diff --git a/repos/pc/src/driver/platform/pc/intel/page_table.h b/repos/pc/src/driver/platform/pc/intel/page_table.h index 332c76e0a9..7a582edf4c 100644 --- a/repos/pc/src/driver/platform/pc/intel/page_table.h +++ b/repos/pc/src/driver/platform/pc/intel/page_table.h @@ -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(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(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))); } diff --git a/repos/pc/src/driver/platform/pc/intel/root_table.cc b/repos/pc/src/driver/platform/pc/intel/root_table.cc index 1e1ce7f34c..e40a59d8c5 100644 --- a/repos/pc/src/driver/platform/pc/intel/root_table.cc +++ b/repos/pc/src/driver/platform/pc/intel/root_table.cc @@ -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 */ diff --git a/repos/pc/src/driver/platform/pc/intel/root_table.h b/repos/pc/src/driver/platform/pc/intel/root_table.h index f67b1ff541..ab6203fbf3 100644 --- a/repos/pc/src/driver/platform/pc/intel/root_table.h +++ b/repos/pc/src/driver/platform/pc/intel/root_table.h @@ -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() {