<geist>
unclear if it's updated frequently but it's linked off the About page of the wiki
<geist>
judging from the time stamps of the files inside it....it's not up to date
<geist>
everything seems to be dated 2018-01-21
pretty_dumm_guy has quit [Quit: WeeChat 3.3]
dude12312414 has quit [Remote host closed the connection]
dude12312414 has joined #osdev
gdown has joined #osdev
<Maka_Albarn>
I just thought about this, but can you edit inactive descriptors in the GDT/LDT? that is, descriptors that are not pointed to by the segment selectors?
<Maka_Albarn>
or do you need to flush the gdt each time to make a change?
<zid>
depends if it's cached or not and I'm not sure you can tell
<Maka_Albarn>
zid: soooo.... flush anyway to be sure?
<Maka_Albarn>
hmm. gotta go. see ya
Maka_Albarn has left #osdev [#osdev]
wootehfoot has quit [Quit: Leaving]
Burgundy has quit [Ping timeout: 245 seconds]
darkstarx has joined #osdev
darkstardev13 has quit [Ping timeout: 256 seconds]
CaCode_ has joined #osdev
CaCode has quit [Ping timeout: 264 seconds]
isaacwoods has quit [Quit: WeeChat 3.3]
_caveman has joined #osdev
darkstarx has quit [Remote host closed the connection]
darkstarx has joined #osdev
gog has quit []
gog has joined #osdev
_caveman has quit [Quit: WeeChat 2.8]
radens has joined #osdev
c2a1 has quit [Ping timeout: 264 seconds]
ElectronApps has joined #osdev
<eryjus>
geist: do you know if chase hosts osdev dot org on his own equipment or in a data center?
<junon>
eryjus: it's a linode instance IIRC.
<junon>
It's dog slow. Is it getting DOSed?
<junon>
Was down a few days ago entirely too :/
Oli has quit [Ping timeout: 268 seconds]
Oli has joined #osdev
<eryjus>
junon: thx
mctpyt has quit [Ping timeout: 260 seconds]
nyah has quit [Ping timeout: 260 seconds]
sonny has joined #osdev
[itchyjunk] has quit [Read error: Connection reset by peer]
<kazinsal>
it is kind of bizarre that we don't really have any way to get a hold of the guy who has the keys to the site, but then again, for the longest time we were at most unofficially tangentially related to the site
CaCode_ has quit [Ping timeout: 260 seconds]
<junon>
yeah.
<junon>
I wonder how much it costs. I'd be willing to contribute.
<kazinsal>
my suspicion is it's not really a cost problem, but more likely something on the linode box ate 100% of the CPU and is choking out nginx or whatever
wleslie has joined #osdev
mctpyt has joined #osdev
gdown has quit [Remote host closed the connection]
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
mctpyt has quit [Ping timeout: 256 seconds]
mctpyt has joined #osdev
radens has quit [Quit: Connection closed for inactivity]
<Ameisen>
Did any company (I don't think that Motorola did) ever make a 64-bit variant of the 68k?
<zid>
I'm not sure there are many 64bit cpus in general
<Ameisen>
apparnetly Apollo was supposedly making a 64-bit version, the AC-68080?
<Ameisen>
that or they _did_?
<wleslie>
if you were going to, why not start from the m88k?
<Ameisen>
I mean
<Ameisen>
they're pretty different ISAs
<wleslie>
sure, I guess it depends on why you're doing that
sonny has quit [Quit: Going offline, see ya! (www.adiirc.com)]
pounce has joined #osdev
ElectronApps has quit [Remote host closed the connection]
<bslsk05>
github.com: lk-overlay/arm.c at master · librerpi/lk-overlay · GitHub
<klange>
I'm not really sure that's easier to use? You have to write an assembly shell, vs. this single command.
<clever>
when you do ../../foo/binary.bin, you wind up with a _binary_foo_binary_bin_start symbol
<clever>
and if your path was dynamically generated at build time, your symbol is now dynamic
<clever>
so you need to replace every special character with an _ to create a matching symbol
<Mutabah>
A workaround is to copy (or symlink) to a known location
<clever>
yeah, a symlink could solve that
<klange>
You can also eliminate the path prefix by shoving it in -L
<clever>
ahhh, `-L custom_symbol`, that solves pretty much everything
<klange>
More like `-L my/stupid/dynamically/generated/path`
<klange>
This is ld, after all - it's just interpreting your binary payload as a library to link with the "binary" bfd format handler, so it'll happily search for it in the `-L` path.
lkronnus has joined #osdev
<clever>
the man page says -L is `[-L symbolname|--localize-symbol=symbolname]`
extern has joined #osdev
<klange>
Uh, what? -L is searchdir
<extern>
why this Makefile generates all.o first... foo.o is the first target
<bslsk05>
linux.die.net: objcopy(1): copy/translate object files - Linux man page
<klange>
objcopy was not mentioned
<clever>
ahh, i misread your original msg
<clever>
ive seen nearly identical advice before, but with objcopy, to create a .o
<klange>
objcopy _can_ change symbol names, so that's a viable next step - it can probably also take the 'binary' bfd input.
<clever>
but your using ld -r, to create a .o
<klange>
extern: Make doesn't care about the order of inputs.
mahmutov has quit [Ping timeout: 260 seconds]
ElectronApps has quit [Remote host closed the connection]
<extern>
klange: so what am i missing
<klange>
Nothing in your Makefile imbues an ordering upon the creation of the three .o targets.
<extern>
why the first statement that this Makefile is running is echo "int main() { return 0; }" > all.c
<klange>
Why shouldn't it be?
<klange>
Make only cares about dependency graphs.
<extern>
foo.o is the first prerequisite that Makefile is checking which is not yet created
<klange>
Why do you think it's first?
<klange>
Because you wrote it first?
<klange>
That doesn't matter.
<extern>
yes..
<klange>
Make doesn't care.
<extern>
ok so why does it decided that all.o is created first
<klange>
You have three leaf nodes in your dependency graph - the three C files - and Make will perform the rules to make those files in an indeterminate order.
<extern>
it is determined order if on every run and on every permutation of 'objects' all.o is always created first
<extern>
so there must be something to that
<klange>
Indeterminate does not mean inconsistent.
extern has left #osdev [WeeChat 3.3]
netester is now known as CaCode
pretty_dumm_guy has joined #osdev
Burgundy has joined #osdev
dre has joined #osdev
sortie has quit [Remote host closed the connection]
sortie has joined #osdev
<geist>
also if you run make with any sort of -j option, it'll just do them in whatever order
<geist>
but i guess they left
<klange>
Must have been something I said.
<geist>
well, you were being a bit harsh, but yeah
<geist>
my take on precisely why it was doing all.o first is it built a graph and then either solved it from the bottom up, deepest nodes first
<geist>
or it literally ran it backwards, like last thing added
<geist>
though as yuo were pointing out it doesn't care
machinecode has joined #osdev
<geist>
i have always meant to look into precisely how gnu make tracks things internally. is it a big tree? if so how does it choose to solve it?
<machinecode>
Hi, are chrome apps really dead and do I make a Node or other server/game? I think I should use web tech. Asking here, because everywhere else is desolate.
<sortie>
Unfortunately operating systems development is also dead
<klange>
We're all dead, on the inside at least.
<geist>
also we get to relive this hour in a few minutes
<klange>
My magic eightball says you should invest in JPEGs.
<Affliction>
brb, writing an OS with Electron
<sortie>
It's all empty developers going through the motions of a Unix system with no light inside
<geist>
all hail unix
<geist>
at least until multics becomes retro enough
dre has quit [Ping timeout: 260 seconds]
<machinecode>
Gentlemen, install Debian 11 and then p0wn it. Trust me, I'm an android.
<machinecode>
Also, vector interrupt table is a function struct between the kernel and bios.
<Affliction>
Now my brain is working through the incredible amount of infrastructure required so the bootloader can start the kernel with an <iframe src="kernel.html" />
<bslsk05>
ebpf.io: eBPF - Introduction, Tutorials & Community Resources
<Arsen>
>eBPF is a revolutionary technology with origins in the Linux kernel that can run sandboxed programs in an operating system kernel. It is used to safely and efficiently extend the capabilities of the kernel without requiring to change kernel source code or load kernel modules.
<Affliction>
yeah, it really has caught on, hasn't it
<Arsen>
a revolutionary technology! because linux is the first to invent bytecode!
<Arsen>
Affliction: nah not even ebpf, I'm just laughing at the website
<Affliction>
heh
<Affliction>
That said, there are some fancy things that would be more difficult without it
<Affliction>
I understand there are network cards that can run eBPF bytecode, for instance
<bslsk05>
github.com: Leo/raspberrypi_config.txt at 2e3b8e9e5339f3f544b4bd6d00c5ce4883ddf63c · SikkiLadho/Leo · GitHub
<j`ey>
I mean before booting
<j`ey>
before booting linux
<j`ey>
when linux boots it needs the device tree of the rpi
<sikkiladho>
so I am loading the device tree at some address using initramfs. el1-kernel.img is the device tree for linux.
<j`ey>
that's a kernel, not a device tree?
<j`ey>
or it has the device tree inside of it?
<sikkiladho>
that's the kernel, usually kernel8.img. .dts is the device tree. It seems I am just loading the kernel at some address but I'm not loading the device tree? I'm really a beginner and trying to learn while building the project so bear me please.
<sikkiladho>
* .dtb
<j`ey>
yes, that's what im saying, you need a device tree too
<j`ey>
you could load one like you did with initramfs
<sikkiladho>
How can I set the device tree? We can also build a kernel with appended device tree.
<sikkiladho>
So, I would first load device tree. and then following it, the kernel image?
<j`ey>
yep
<j`ey>
you can get a device tree from the linux kernel, or from the rpi firmware repo
<sikkiladho>
Let me try it right now.
[itchyjunk] has joined #osdev
nyah has joined #osdev
dutch has quit [Quit: WeeChat 3.3]
dutch has joined #osdev
kajiryoji has joined #osdev
sikkiladho has quit [Ping timeout: 264 seconds]
sikkiladho has joined #osdev
<sikkiladho>
j`ey: won't it be easier to merge the device tree with the kernel image so that device tree comes first. and load it as a signle image?
<j`ey>
you could do that, make sure you pad the end of the DT
<j`ey>
so the kernel is aligned properly
freakazoid343 has quit [Ping timeout: 260 seconds]
[itchyjunk] has quit [Remote host closed the connection]
mahmutov has joined #osdev
mahmutov_ has quit [Ping timeout: 268 seconds]
mctpyt has quit [Ping timeout: 264 seconds]
_xor has quit [Read error: Connection reset by peer]
_xor has joined #osdev
sikkiladho has quit [Quit: Connection closed]
Matt|home has quit [Ping timeout: 260 seconds]
_xor has quit [Read error: Connection reset by peer]
_xor has joined #osdev
heat has joined #osdev
Matt|home has joined #osdev
ad__ has joined #osdev
<ad__>
hi, brief question you may know: calling an assembly func as "void func() " that is func: bx lr
<ad__>
(arm of course) but systyem does not return, why ?
<GeDaMo>
You're calling an assembly language function from C?
<GeDaMo>
Doesn't bx switch between ARM and Thumb mode?
<j`ey>
GeDaMo: if the lsb of the function addr is set
<ad__>
GeDaMo, yes, calling from C.
<zid>
also you mean void func(void);
<zid>
() means unspecified number of arguments, (void) means no arguments
<ad__>
yes ai am testing just a void func(void);
<zid>
what does your debugger say happens?
<ad__>
actually cannot use it, running on embedded board
<j`ey>
ad__: does the asm save lr?
<ad__>
j`ey, mm i am calling the function from C, supposing yes
<GeDaMo>
What should happen in the C program after func returns?
<j`ey>
ad__: is this your code?
<ad__>
i call a printf
<heat>
printfs are more complex and it's possible you're corrupting the stack
<GeDaMo>
Can you show your whole program?
<zid>
ideally you'd have 'turn off LED with mmio' f(); 'turn on LED with mmio' :P
<GeDaMo>
Does printf work before calling func?
<ad__>
mm the whole program is u-boot i am modifying, so not small. Btw, what i do is:
<ad__>
yes printf works before
<ad__>
so i di:
<ad__>
from c : extern void _func(void); printf("before call\n"); func(); printf("acter call\n");
<ad__>
in assembly i just do
<ad__>
.pushsection ._special.text, "ax"
<ad__>
.globl _func
<ad__>
bxlr
<ad__>
.popsection
<ad__>
_func:
<zid>
blexr.
<heat>
please use gists/pastebins
<zid>
My favourite instruction
<j`ey>
ad__: comment out the func call, do you see the 'after' message?
<ad__>
yes
<j`ey>
objdump uboot, is it getting the right address for func?
<zid>
and what does the callsite look look
<zid>
look like*
<ad__>
ok i can objdump and see what it would do
<zid>
*proceeds to paste the entire disassembly of uboot to irc*
<heat>
pasting code to irc is based
heat_ has joined #osdev
<Ameisen>
wleslie: since everyone likes the 68k
<Ameisen>
so making a 64-bit 68k workstation would be fun
<Ameisen>
as said, there does appear to be _one_ kind of 64-bit 68k (the 68080), but it's only really distributed in a form meant for Amigas
<Ameisen>
and I'm not sure what Amigas are doing with a 64-bit chip
heat has quit [Ping timeout: 260 seconds]
CaCode has quit [Quit: Leaving]
brettgilio has quit [Quit: Leaving...]
[itchyjunk] has joined #osdev
brettgilio has joined #osdev
Maka_Albarn has joined #osdev
<Maka_Albarn>
IT'S BACK!!!
eremitah has joined #osdev
eremitah has quit [Remote host closed the connection]
devcpu has quit [Quit: leaving]
devcpu has joined #osdev
GeDaMo has quit [Remote host closed the connection]
<wleslie>
cool I guess. I did look recently at m68k prices online as I'd love to upgrade my LC to have an MMU; they are still several hundred dollars new, unfortunately
heat_ has quit [Remote host closed the connection]
<wleslie>
my intuition (which may not be very good) is that people like the m68k because it was reasonably popular and there's plenty of software for it, but the ISA itself is mostly nothing special and has a lot of inconveniences
eryjus has joined #osdev
eryjus has quit [Client Quit]
Maka_Albarn has quit [Quit: -a- IRC for Android 2.1.59]
mahmutov has quit [Ping timeout: 256 seconds]
dre has joined #osdev
<geist>
oh i dunno, i kinda enjoy working with 68k
<zid>
yea I thought the consensus is that 68k is nice
<geist>
at least if you're into older stuff it's one of the nicer older things to work with
<zid>
pretty clean and orthogonal and 'modern' ish
<geist>
yah
<geist>
and kinda 386 level complexity in terms of mmu/etc (though cleaner designed) so it's a bit of a 'powerful retro' feel to play with
<geist>
yah i got a fairly modernish copy of netbsd on this microvax here and it's definitely an exercise in patience
<geist>
wleslie: re 68k do you mean on some sort of card? I managed to buy a few 68030s off ebay fairly recently (3 or 4 months ago) and they ended up about $20 a piece
eryjus has joined #osdev
eryjus has quit [Read error: Connection reset by peer]
eryjus has joined #osdev
eryjus has quit [Read error: Connection reset by peer]
eryjus has joined #osdev
<Ameisen>
IIRC, you cannot use 68060s with macs because of missing instructions?