Update ROM diagnostic patches

This commit is contained in:
Ehmry - 2020-11-28 18:55:45 +01:00
parent 25ca508821
commit 066a91bd31
2 changed files with 66 additions and 13 deletions

View File

@ -1,4 +1,4 @@
From e5da4aa414e19b808e544e7bd89888cc7a3b85d3 Mon Sep 17 00:00:00 2001
From 55f35e33680287ba925accf3bddadaa46d5ff30a Mon Sep 17 00:00:00 2001
From: Emery Hemingway <ehmry@posteo.net>
Date: Sat, 7 Nov 2020 08:37:29 +0100
Subject: [PATCH] core: log ROM requests with affirmative "diag" flag
@ -8,7 +8,7 @@ Subject: [PATCH] core: log ROM requests with affirmative "diag" flag
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/repos/base/src/core/include/rom_session_component.h b/repos/base/src/core/include/rom_session_component.h
index c584701f5f..2c9623afcf 100644
index c584701f5f..2c93302e14 100644
--- a/repos/base/src/core/include/rom_session_component.h
+++ b/repos/base/src/core/include/rom_session_component.h
@@ -35,12 +35,20 @@ namespace Genode {
@ -30,10 +30,10 @@ index c584701f5f..2c9623afcf 100644
return *rom;
+ }
+ if (diag) error("ROM \"", name, "\" not found for \"", label, "\"");
+ error("ROM not found for ", args);
throw Service_denied();
}
--
2.28.0
2.29.2

View File

@ -1,7 +1,7 @@
From dc4594b0bb0effdd261c70147a47ff0f0b8ee1f3 Mon Sep 17 00:00:00 2001
From 735e7af9458005092451f448ddf3dfc1cad4acbd Mon Sep 17 00:00:00 2001
From: Emery Hemingway <ehmry@posteo.net>
Date: Sat, 25 Apr 2020 17:10:03 +0530
Subject: [PATCH 1/3] init/sandbox: <routes> support
Subject: [PATCH 1/4] init/sandbox: <routes> support
Apply routing rules to a child from a <routes> node at the top-level of
a sandbox config, unless the corresponding start node has as <route>
@ -180,13 +180,13 @@ index 7afcaebf00..36aab737f2 100644
if (!scoped_label)
return false;
--
2.28.0
2.29.2
From 13f2b3357f0e366a61d8b440fb56a52e5d2dfaff Mon Sep 17 00:00:00 2001
From 0b65d7660784dbff4ef4fe392af686103c60a32d Mon Sep 17 00:00:00 2001
From: Emery Hemingway <ehmry@posteo.net>
Date: Wed, 4 Nov 2020 11:03:49 +0100
Subject: [PATCH 2/3] init/sandbox: do not parse <parent-provides> if <routes>
Subject: [PATCH 2/4] init/sandbox: do not parse <parent-provides> if <routes>
is present
---
@ -331,13 +331,13 @@ index 30d0f2dfc1..caa9840ea6 100644
--
2.28.0
2.29.2
From f89d8cbc3aa5fe9f7162ad66819fd2cedd76ba02 Mon Sep 17 00:00:00 2001
From 67d834c4556969e37bc050e151baeedddfb05ac9 Mon Sep 17 00:00:00 2001
From: Emery Hemingway <ehmry@posteo.net>
Date: Wed, 4 Nov 2020 20:02:03 +0100
Subject: [PATCH 3/3] init/sandbox: simplify routing
Subject: [PATCH 3/4] init/sandbox: simplify routing
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@ -697,5 +697,58 @@ index 36aab737f2..639a4be4dd 100644
* Find service with certain values in given registry
*
--
2.28.0
2.29.2
From 92c1f192d432f177c681e3ab001214e66e96e0f0 Mon Sep 17 00:00:00 2001
From: Emery Hemingway <ehmry@posteo.net>
Date: Sat, 28 Nov 2020 14:00:49 +0100
Subject: [PATCH 4/4] Do not default Child::binary_name() to Child::name()
---
repos/base/include/base/child.h | 2 +-
repos/base/src/core/main.cc | 2 ++
repos/os/src/lib/sandbox/child.h | 1 +
3 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/repos/base/include/base/child.h b/repos/base/include/base/child.h
index 8c7b33a9d9..bca0d566f2 100644
--- a/repos/base/include/base/child.h
+++ b/repos/base/include/base/child.h
@@ -58,7 +58,7 @@ struct Genode::Child_policy
/**
* ROM module name of the binary to start
*/
- virtual Binary_name binary_name() const { return name(); }
+ virtual Binary_name binary_name() const = 0;
/**
* ROM module name of the dynamic linker
diff --git a/repos/base/src/core/main.cc b/repos/base/src/core/main.cc
index d480585221..7acacf0ffd 100644
--- a/repos/base/src/core/main.cc
+++ b/repos/base/src/core/main.cc
@@ -145,6 +145,8 @@ class Core_child : public Child_policy
Name name() const override { return "init"; }
+ Binary_name binary_name() const override { return "init"; }
+
Route resolve_session_request(Service::Name const &name,
Session_label const &label) override
{
diff --git a/repos/os/src/lib/sandbox/child.h b/repos/os/src/lib/sandbox/child.h
index f9d04cfdaf..a1e45dab0d 100644
--- a/repos/os/src/lib/sandbox/child.h
+++ b/repos/os/src/lib/sandbox/child.h
@@ -595,6 +595,7 @@ class Sandbox::Child : Child_policy, Routed_service::Wakeup
****************************/
Child_policy::Name name() const override { return _unique_name; }
+ Child_policy::Binary_name binary_name() const override { return _binary_name; }
Pd_session &ref_pd() override { return _env.pd(); }
Pd_session_capability ref_pd_cap() const override { return _env.pd_session_cap(); }
--
2.29.2