Search logs:

channel logs for 2004 - 2010 are archived at http://tunes.org/~nef/logs/old/ ·· can't be searched

#osdev2 = #osdev @ Libera from 23may2021 to present

#osdev @ OPN/FreeNode from 3apr2001 to 23may2021

all other channels are on OPN/FreeNode from 2004 to present


http://bespin.org/~qz/search/?view=1&c=osdev&y=18&m=11&d=6

Tuesday, 6 November 2018

12:08:27 <clever> mrvn: i was helping somebody with linux kvm on arm, i dont remember the host board (may matter less, since linux just handles it?) but they ran into issues because qemu tries to handle 3 address spaces by default (normal, hypervisor, securemode), but kvm only supports 1
11:27:19 <aalm> .roa
11:27:46 <aalm> where's the boat
11:30:04 <lkurusa> .teheo
11:30:05 <lkurusa> .theo
11:30:11 <lkurusa> OH NO glenda!
11:31:19 <aalm> she did it
11:31:30 <klange> F
11:32:24 <klange> w14:28:47 -!- glenda [~glenda⊙wsn] has quit [Ping timeout: 240 seconds]
11:32:38 <klange> rip in peace
11:33:30 <lkurusa> F
11:34:52 <aalm> U
11:35:26 <lkurusa> loving qemu
11:35:35 <lkurusa> a broken virtio operation freezes it and i have to sigkill it
11:36:11 <aalm> fix the "user"
11:36:29 <lkurusa> :(
11:36:41 <lkurusa> Theo would approve
11:41:00 <mrvn> what kind of "broken"?
11:41:21 <mrvn> server side or host side?
11:41:33 <lkurusa> driver side
11:41:46 <lkurusa> i assume lol
11:42:08 <lkurusa> like, i'm writing a virtio storage driver and passing a broken virtqueue seems to freeze it
11:49:05 <Prf_Jakob> lkurusa: Freeze or infinite looping?
11:49:13 <mrvn> lkurusa: anything in dmesg on the server?
11:49:22 <mrvn> Does it hang or use 100% cpu?
11:49:30 <lkurusa> I'd assume that it's a freeze since SIGTERM/SIGQUIT do nothing to it
11:49:45 <lkurusa> I don't really have time to debug it right now, but I'll get back to it soon
02:31:04 <JManGL> Anyone here building an OS for Armv7/Armv8?
02:31:23 <JManGL> Curious as all the talk I have seen has been x86/PC related
02:31:28 * izabera starts targeting armv9 just in case
02:32:36 * Vercas aims for armv10 directly.
02:34:23 <aalm> izabera, does it run on aarch128 ?
02:37:38 <mauz555> JManGL: Armv8 here
02:39:25 <JManGL> mauz555: Cool! what are you building?
02:43:00 <mauz555> JManGL: I'm building an OS in Rust targeting Rpi3 (can't afford better hardware for now) for mobile distributed computing applications
02:43:20 <JManGL> Sounds cool. How far have you got with it?
02:43:52 <JManGL> What would you consider better hardware for your purpose? ie why is Rpi3 not the ideal platform for you?
02:45:24 <mauz555> It boots in EL2, I almost setup the MMU, it displays things on the UART and I'm writing a SPI/DMA driver to display things on a TFT LCD
02:45:54 <mauz555> It's pretty hard to make advancement alone, even fulltime
02:47:30 <JManGL> The SPI/DMA thing sounds interesting. I am guessing you are just encoding a framebuffer in RAM to be displayed?
02:47:30 <mauz555> I would need more RAM like 2Gb or even 4 Gb
02:48:08 <JManGL> Can you still use the GPU with a SPI display?
02:49:05 <JManGL> I have wondered about this, (but haven't looked into it properly) - is it possible to send the GPU's target framebuffer over SPI to a device.
02:50:20 <mauz555> I do not have this answer, I guess the GPU framebuffer is not that close to the GPIO pins
02:52:04 <mauz555> JManGL: do you have an idea in mind ? you should look at this: https://github.com/juj/fbcp-ili9341
02:56:09 <JManGL> That looks really interesting! Thanks for the link.
03:51:10 <mrvn> The VC and ARM share memory so I guess you could let the GPU draw something and then just read out the memory.
03:52:06 <mrvn> The bad thing about the RPi3 is the USB and that the NIC is connected to USB.
03:52:46 <mrvn> The good thing is that there are decent specs and tons of barebone examples to wrok from.
04:00:14 <mrvn> mauz555: Are you using a full RPi or Pi zero?
04:03:12 <mauz555> mrvn: full RPi 3b+
04:03:22 <mrvn> 64bit?
04:03:30 <mauz555> mrvn: correct
04:09:12 <mrvn> I'm curently working on an Helios4 board, Armada 388 (ARMv7 Cortex-A9). But I have RPi3 64bit support on my ToDo.
04:09:54 <JManGL> mrvn: How far have you gotten with your project?
04:11:13 <mrvn> JManGL: just starting on the Helios. I've got the serial console to output Hello World (without interrupts) and I'm stuck at the watchdog. I can make it reset after 120s but haven't figured out how to tell it "I'm still alive"
04:12:15 <JManGL> Cool. Does the helios have a mandatory watchdog? or is it something you "can" (and have) enabled?
04:13:09 <mrvn> something you can enable. You can configure it to just cause an interrupt or reset too.
04:14:12 <mrvn> Problem for me is that the reset switch is hidden in the middle of the board so it's unreachable with my board in an enclosure. So I have to pull the power plug every time I need to reboot. I would rather not do that a million times.
04:14:29 <mrvn> So I though: Hey, watchdog. if my kernel crashes it resets itself. :)
04:14:35 <mrvn> +t
04:14:44 <JManGL> Ah, that sounds cool.
04:15:20 <JManGL> I had a similar idea for Arm8 - writing a hypervisor to catch EL1 unhandled exceptions (or triggered panics) and restarting the machine
04:15:45 <JManGL> In the end I spent a few bucks on an inline USB power switch.. haha
04:15:46 <mrvn> you could run Xen
04:16:22 <mrvn> The RPi has reset pins labeled "run" on the board. just connect a switch there.
04:17:44 <JManGL> I could. But I would still need to unplug the USB power when I had finished. So I just went with the really low tech option.
04:17:54 <lkurusa> how hot does the RPi3B+ get if you force_turbo=1 ?
04:18:20 <mrvn> lkurusa: that depends on your cooling
04:18:21 <lkurusa> contemplating whether i should buy a heatsink or nah
04:18:30 <lkurusa> mrvn: naked right now, no case
04:19:00 <mrvn> or just not use force_turbo.
04:19:43 <lkurusa> i read that you need force_turbo if you want to use the uart :/
04:19:57 <mrvn> "the uart"? The RPi has 4
04:20:23 <lkurusa> O_O
04:20:28 <lkurusa> ok, i need to dig into this board more
04:20:31 <lkurusa> i only got it a few days ago
04:21:01 <mrvn> Didn't have any problems with the uart on any of my RPi models.
04:21:20 <lkurusa> i only have the rpi1, that works great still
04:21:26 <lkurusa> probably has an uptime of over a year now
04:21:30 <mrvn> the standard uart0 in standard pin mode everyone uses.
04:22:18 <mrvn> WTF? The Armada 388 has an endianess option: Little or Mixed Endian. Since when does ARM has mixed endian?
04:58:44 <aalm> .roa
04:58:44 <glenda> 5 If you can't break a contract, bend it.
04:58:54 <aalm> .theo
04:58:54 <glenda> If you expected any of us to reply as if we are contractors or your employees, you came to the wrong place.
04:59:07 <aalm> .ken
04:59:07 <glenda> I know nothing.
04:59:31 <aalm> atleast you admit it:D
05:09:12 <mrvn> .roa
05:09:12 <glenda> - Why ask, when you can take?
05:34:54 <geist> so who is roa supposde to be?
05:43:30 <mrvn> geist: Ferengi rules of aquisition
05:43:35 <geist> oh hah
05:44:23 <geist> actualy kind of funny, you would thing a merchant culture like the ferenghi would highly value the concept of contracts and having a strict set of trading rules
05:44:38 <mrvn> they do
05:44:53 <geist> except the roa says things like steal stuff and bend contracts
05:45:01 <geist> the two examples you just gave
05:45:03 <mrvn> .roa
05:45:03 <glenda> 99 Trust is the biggest liability of all.
05:45:07 <geist> see
05:45:13 <mrvn> .roa
05:45:14 <glenda> 192 Never cheat a Klingon...unless you can get away with it.
05:45:22 <aalm> .roa
05:45:22 <glenda> 106 There is no honor in poverty.
05:45:32 <mrvn> geist: rules are for other people
05:45:39 <geist> clearly i guess it's less that they're a trader culture and more like a bunch of thugs
05:45:50 <geist> just plain crooks
05:46:20 <geist> i remember reading taht they were going to be the main antagonists of the series, which is wy they were introduced in season 1
05:46:34 <geist> but they just didn't work out, so by s2+ they had already been mostly relegated to the side
05:46:54 <geist> but in s1 every time they met one it was some big deal, they had mega ships, etc etc
06:45:41 <mrvn> geist: think of them as pirates with their own planet.
07:02:21 <cormet_> helo
07:04:03 <cormet_> I have a silly question. when the cpu processes, for example, instruction "mov virt_address, rax", the MMU will find the physical address and then the MMU does the write on memory bus or something else?
07:08:11 <rakesh4545> hello
07:10:52 <lkurusa> Hello
07:14:20 <rakesh4545> look what I did https://i.imgur.com/HJsWIBr.png
07:14:42 <mrvn> *traeller* ups, ah, I did it again
07:15:04 <mrvn> rakesh4545: you managed to load a background pic?
07:15:39 <mrvn> is there a terminal behind it with transparency?
07:15:52 <rakesh4545> no it is an image.
07:16:48 <olsner> mrvn: it's actually running skynet in the background, but since that doesn't have a UI as such you just see the desktop background
07:17:42 <mrvn> when I added a background picture to my kernel it went from 40k to 8MB in an instant. Didn't keep that while booting over serial.
07:18:06 <mrvn> I need an SVG renderer before I add it back in.
07:18:08 <mischief> just make a 256 byte demo program to generate it
07:18:10 <mischief> ;-)
07:19:23 <mrvn> mischief: 256 byte would be only 64 opcode. forget about it
07:20:07 <rakesh4545> https://i.imgur.com/6qNdm8E.png did it again. :P
07:20:45 <mrvn> again with the extra window in the background
07:23:55 <rakesh4545> actually the image height was not completely fitting so I did dat....Ignore it. here here https://i.imgur.com/VrRd18e.png
07:25:06 <mrvn> Belxjander: did you have a guru meditation?
07:26:35 <mischief> mrvn: be creative :)
07:32:48 <rakesh4545> no more background hiding https://i.imgur.com/AZzRCHQ.png
07:33:36 <mrvn> rakesh4545: you still have the window of the screenshot app in there
07:35:33 <rakesh4545> just ignore it.
07:41:14 <rakesh4545> It was challenging for a beginner like me. But I did it finally.
08:16:20 <geist> heep5ran
08:17:27 <_mjg> that's my *next* password
08:17:44 <geist> yep. already changed. sigh.
08:18:01 <_mjg> i typed a password into irc once
08:18:19 <_mjg> then it turned out it did not send to the channel because freenode reconnected me and i did not reauth automatically
08:18:28 <_mjg> changed it anyway, but nobody knew :-P
08:18:33 <geist> yah. i use lots of 2 factor and whatnot, but still. damn
08:19:36 <mrvn> geist: that password is unacceptable anyway. No upper case letter, no punctuation.
08:19:54 <geist> yah, lots of 2 factor though
08:20:18 <mrvn> geist: the browser on your mobile that also has an SMS app?
08:20:33 <geist> oh hell no. i never use SMS for 2 factor
08:21:53 <geist> physical keys or GTFO
08:22:20 <geist> but i had a good run, been on irc for 20 years or so and never typed my password into it
08:22:48 <geist> this is where focus follows mouse gets ya
08:24:18 <mrvn> You have mice? Get a cat
08:25:58 <abysslurker> most cats are lazy though. my cat was a meter away from a mouse in my room and couldn't be bothered to catch it.
08:26:48 <abysslurker> to be fair, that was one tough mouse, I had a box filled with poisoned food and the mouse just ate it all and carried on.
08:58:55 <mauz555> what would it take to setup a secure os on a secure hardware ?
09:00:20 <mischief> define secure
09:00:25 * mischief drops mic
09:00:58 <mauz555> I define secure as you store 1000 bitcoins on your computer and let other users play on it
09:01:11 <mauz555> (private keys*)
09:01:22 <mischief> physically? forget it.
09:01:34 <chartreus> Simple, make it so the other users literally can't do anything. No user interaction
09:01:52 <mauz555> What if we had an impenetrable computer (living inside some kind of metal shell)
09:02:50 <chartreuse> Have the drive with the bitcoins on it not hooked up, assuming you somehow made that shell truly impenetrable.
09:09:27 <chartreuse> The main problem you'd face with doing it yourself is that any mistake or misunderstanding leaves a security hole.
09:19:49 <mrvn> print out the bitcoins and store it at the bank
09:20:06 <mischief> .roa
09:20:06 <glenda> 139 Wives serve, brothers inherit.
09:33:00 <bcos_> mauz555: First understand that "100% secure" isn't possible - the goal is to make things so hard for an attacker that they'll find an easier way (e.g. so hard to get your bitcoins that it's cheaper for them to mine their own bitcoins). In this case "secure enough" is trivial - all you have to do is wait for the bitcoin market to collapse so that it's not worth the hassle to attack a system even if the system has no security at all.
09:37:16 <mauz555> bcos_: legit
09:42:44 <mrvn> Don't make it more secure than paying a bum $20 so he beats you with a baseball bat till you give up the bitcoins.
09:49:18 <SzateX> Yeah!! VGA works!
09:50:42 <mischief> \o/
09:51:07 <mrvn> grats. Now delete it and make a real graphics driver
09:52:37 <SzateX> mrvn, but maybe you can say: https://github.com/Tearth/MicrOS/blob/GraphicsModes/Source/Kernel/Drivers/VGA/vga_gmode.c#L47 - why this doesn't works. But when i move it as global works?
09:53:44 <mrvn> stack overflow?
09:55:45 <mrvn> In bochs you can turn on debugging for exceptions if you don't have your own handlers yet.
09:56:37 <mrvn> Why isn't g_320x200x256 a static const?
09:56:37 <SzateX> on qemu also in monitor mode
09:57:02 <SzateX> it will be now.
09:57:09 <SzateX> our stack has 30KiB
09:57:42 <mrvn> and don't use "unsigned char", use uint8_t
09:59:16 <mrvn> And "#define VGA_VRAM 0xA0000" could be "const uint8_t *VGA_VRAM = (const uint8_t *)0xA0000;
09:59:56 <SzateX> mrvn, wait wait - first i do it to make it work, them later i will do it better
09:59:57 <mrvn> or even an uint8_t[256][320]
10:02:25 <mrvn> SzateX: You have "unsigned char g_320x200x256[]" but "void writeRegisters(uint8_t* registers)". It's bad to mix types.
10:02:37 <mischief> i thought vga had attributes for a total of 2 bytes per character?
10:02:54 <mrvn> mischief: that's text mode
10:03:01 <mischief> ah.
10:03:12 <mrvn> SzateX: what pallet are you setting?
10:04:58 <SzateX> mrvn, i get values from https://files.osdev.org/mirrors/geezer/osd/graphics/modes.c
10:38:36 <bcos_> SzateX: I'd use a "2 bit blue, 3-bit green, 3-bit red" pallete - much easier to convert pixel data to. The standard/default pallete is a mess for historical reasons
10:43:30 <bcos_> Hrm
10:44:20 <bcos_> SzateX: I meant the DAC (not the "pallet registers" in the attribute controller) - you don't seem to be setting up the DAC at all, which is probably a bad idea
11:04:52 <olsner> (*palette, a pallet is a flat transport structure)