limine: Clarify ambiguity with response revision and internal modules
diff --git a/PROTOCOL.md b/PROTOCOL.md
index 3a107d68..9100f5c5 100644
--- a/PROTOCOL.md
+++ b/PROTOCOL.md
@@ -605,7 +605,7 @@ struct limine_framebuffer {
uint64_t edid_size;
void *edid;
- /* Revision 1 */
+ /* Response revision 1 */
uint64_t mode_count;
struct limine_video_mode **modes;
};
@@ -907,7 +907,7 @@ struct limine_module_request {
uint64_t revision;
struct limine_module_response *response;
- /* Revision 1 */
+ /* Request revision 1 */
uint64_t internal_module_count;
struct limine_internal_module **internal_modules;
};
@@ -917,6 +917,8 @@ struct limine_module_request {
* `internal_modules` - Pointer to an array of `internal_module_count` pointers to
`struct limine_internal_module` structures.
+Note: Internal modules are honoured if the module response has revision >= 1.
+
As part of `struct limine_internal_module`:
* `path` - Path to the module to load. This path is *relative* to the location of
diff --git a/common/protos/limine.c b/common/protos/limine.c
index 96558245..8da7d295 100644
--- a/common/protos/limine.c
+++ b/common/protos/limine.c
@@ -662,6 +662,8 @@ FEAT_START
struct limine_module_response *module_response =
ext_mem_alloc(sizeof(struct limine_module_response));
+ module_response->revision = 1;
+
struct limine_file *modules = ext_mem_alloc(module_count * sizeof(struct limine_file));
size_t final_module_count = 0;
diff --git a/limine.h b/limine.h
index d7d6b108..a9afb7e9 100644
--- a/limine.h
+++ b/limine.h
@@ -380,7 +380,7 @@ struct limine_module_request {
uint64_t revision;
LIMINE_PTR(struct limine_module_response *) response;
- /* Revision 1 */
+ /* Request revision 1 */
uint64_t internal_module_count;
LIMINE_PTR(struct limine_internal_module **) internal_modules;
};
