IRC channel logs

2023-06-29.log

back to list of logs

<gabber>actually i mean more code wise -- the architecture independent code
<damo22>gabber: the source is available...
<damo22>(23:13:19) spk121: Theoretically, how hard would it be to make hurd do SATA and a console via UART or USB? There are couple Intel-based SBCs lying around here I could try. <<<< hurd already does SATA two different ways and UART console is supported in gnumach
<damo22>USB disk is experimental but theres no USB serial driver yet
<spk121>damo: cool
<gabber>damo22: it's not like i hadn't been looking at the source for some time now....
<damo22>(07:26:36) gabber: what is Mach's entry point? what is in .boot (the first section in the ldscript)? <--- i dont know what is in the .boot section, but wouldnt it be easy to find out?
<gabber>damo22: if i knew how, i wouldn't ask!
<damo22>look in the ldscript, like you suggested?
<gabber>i guess i lack some essential knowledge/skills, but i'm more than keen to learn any/all of them
<damo22>or git grep boot
<gabber>ok, the ldscript (x86_64 that is) refrers to the ld input .boot.text, which is defined in x86_64/boothdr.S:27 -- but the comment on the very next line put me off: "/* We should never be entered this way. */"
<gabber>so is x86_64 Mach *not* entered that way?
<damo22>gabber: i think the following message just means nobody should use the boot_start symbol to enter in there
<damo22> /* We should never be entered this way. */
<damo22> .globl boot_start
<damo22>boot_start:
<damo22>ie, the only way to hit that line is from the reset vector
<luckyluke>gabber: that is probably a leftover from the pre-multiboot era, basically copied from the 32-bit entry point
<luckyluke>The real entry point is just below that
<gabber>ok, so .boot contains hardware specific boot-code (initializing hardware features and handling bios settings and whatnot in x86), right? And actual Mach business starts in the .text section -- which takes the .text sections of all the input object files (i hope i got this right so far). so what's the first architecture-independent (C-)function of Mach? i'd *guess* it's in bootstrap.c? it's not called main() -- i've searched for that
<gabber>(but maybe in the wrong places) and only found kern/boot_script.c (which seems to be some kind of command-line script)
<gabber>... please tell me if i'm annoying by asking such noobish questions, i could stop and might eventually find the answers by other means
<biblio>gabber: "Specific Components" - https://www.gnu.org/software/hurd/documentation.html
<gabber>oh, there's so much i haven't read yet! thanks!