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=1&d=11

Thursday, 11 January 2018

00:00:00 --- log: started osdev/18.01.11
00:01:24 <doug16k> pretty clever. they way they expanded it, you can just barely identify a device with a 32 bit value. 16 bit segment, 8 bit bus, 5 bit device, 3 bit function -> 16+8+5+3 = 32 bits
00:03:32 --- quit: caen23 (Ping timeout: 256 seconds)
00:06:26 --- join: caen23 (~caen23@79.118.94.187) joined #osdev
00:11:02 --- quit: caen23 (Ping timeout: 248 seconds)
00:14:31 <geist> doug16k: yeah
00:14:57 <geist> far as i know no x86 however implements multiple segments
00:14:59 --- join: bm371613 (~bartek@2a02:a317:603f:9800:391:ed9f:1c09:1285) joined #osdev
00:15:03 <geist> but, i've seen some arm machines that do
00:15:19 <geist> specifically i have access to a cavium thunderx machine that implements 6 different segments, and thus 6 different ECAMS
00:15:45 <geist> i think because of the legacy pci access method which only lets you deal with a single segment no x86 machine, intel or amd, actually allows more than one
00:16:18 <geist> though i think it gets complicated for multi socket machines. i think what happens in each of the sockets contributes a portion of the ECAM and and it gets joined together in some memory controller logic
00:16:34 <geist> whih kind of makes sense. that way you just tell socket 1 that it's busses are shifted by some amount
00:17:14 --- join: caen23 (~caen23@79.118.94.187) joined #osdev
00:17:33 --- quit: daniele_athome (Ping timeout: 260 seconds)
00:17:55 --- join: daniele_athome (~daniele_a@93-40-14-81.ip36.fastwebnet.it) joined #osdev
00:22:09 --- quit: caen23 (Ping timeout: 265 seconds)
00:22:41 --- join: Arcaelyx_ (~Arcaelyx@2601:646:c200:27a1:d5de:e49a:c8cd:8670) joined #osdev
00:24:57 --- quit: Arcaelyx (Ping timeout: 252 seconds)
00:26:32 --- quit: oaken-source (Ping timeout: 248 seconds)
00:30:27 --- join: xerpi (~xerpi@59.red-88-23-233.staticip.rima-tde.net) joined #osdev
00:31:45 --- quit: isd (Read error: Connection reset by peer)
00:32:43 --- join: caen23 (~caen23@79.118.94.187) joined #osdev
00:38:22 <doug16k> geist, ah
00:39:00 <doug16k> so, how do you enumerate? same as usual but you iterate the bus range on each segment?
00:39:15 --- quit: caen23 (Ping timeout: 268 seconds)
00:39:40 <doug16k> recursing into busses identified by bridges on the 1st bus?
00:40:02 <doug16k> and relying that the busses on the other side of the bridge are within the segment's bus range?
00:40:24 --- join: m3nt4L (~asvos@2a02:587:a019:8300:3285:a9ff:fe8f:665d) joined #osdev
00:46:10 --- join: caen23 (~caen23@79.118.94.187) joined #osdev
00:46:18 <doug16k> for now I can just ignore segments > 0, I'm just curious how I might fully implement it
00:48:17 <doug16k> I've expanded my ACPI code to capture the list of segments, expanded all my PCI APIs to transparently use ECAM, and I have added a parameter to my "pci address" structure for the segments. the only place I have left to completely implement it is expanding my PCI enumeration iterator functions
00:49:43 <nur> question, some memory addresses are forbidden to be written to right, depending on the memory map, on x86. And we can brick the system if we try?
00:50:08 <doug16k> nur, it might spontaneously reboot, VMs will abort ungracefully
00:50:21 <nur> but bricking?
00:50:25 <doug16k> or monkeys might fly out the machine's butt
00:50:28 --- quit: caen23 (Ping timeout: 240 seconds)
00:50:52 <nur> I'm curious why a bricking can potentially occur
00:51:01 <doug16k> bricking is unlikely but there is a nonzero possibility I guess if you miraculously did the right values to the right places
00:51:12 <jjuran> Debian’s man page for isatty(3) documents that it sets errno to EINVAL given a non-tty, instead of the POSIX-specified ENOTTY. But it lies — the behavior is conforming.
00:51:15 <nur> what kind of scenario would that be
00:51:20 --- quit: sinetek_ (Quit: This computer has gone to sleep)
00:51:37 <jjuran> Mac OS X 10.4 yields EPERM.
00:51:46 <doug16k> nur, accidentally doing something that messes up the flash on a stupid motherboard that lets you burn in windows or some crap like that
00:52:09 <jjuran> Its man page doesn’t even indicate what the result of isatty() means, let alone what errors are possible.
00:53:26 <doug16k> nur, your question is like "are you sure it is safe to hit these explosives with a hammer". why would you do that
00:54:23 <nur> lol :)
00:54:29 <nur> why wouldn't you ;)
00:54:42 <nur> just to see what it does.
00:54:45 <nur> and why it does it.
00:54:58 <nur> (ok I wouldn't, but it's good to know _why_)
00:55:17 <doug16k> hardware has lots of bugs. it is not hard to put a device's state machine into a very bad state. they don't test for ridiculous scenarios
00:55:32 <nur> see, that is interesting to know. :)
00:55:34 <nur> thanks
00:56:17 <nur> I guess being sent into a strange unrecoverable state isn't necessarily the end of the device but recovering it probably requires a factory tool or something right
00:56:28 --- join: caen23 (~caen23@79.118.94.187) joined #osdev
00:57:59 <doug16k> permanent damage is very unlikely, but possible though. you could cause a device to enter a state where there is a shoot-through - a short circuit in the logic
00:59:05 <doug16k> where it it simultanously pulling an output high and low, essentially pulling massive current and overheating it severely or destroying it
00:59:13 <doug16k> again, very unlikely, but nonzero probability
00:59:57 --- join: tavish (~tavish@unaffiliated/tavish) joined #osdev
01:01:19 --- quit: caen23 (Ping timeout: 264 seconds)
01:01:26 --- join: oaken-source (~oaken-sou@141.89.226.146) joined #osdev
01:05:09 --- join: caen23 (~caen23@79.118.94.187) joined #osdev
01:09:31 --- quit: CipherWizard (Ping timeout: 255 seconds)
01:09:42 --- quit: caen23 (Ping timeout: 248 seconds)
01:10:12 --- join: CipherWizard (~cipherwiz@216.21.169.52) joined #osdev
01:11:46 --- join: caen23 (~caen23@79.118.94.187) joined #osdev
01:12:58 --- quit: garit (Ping timeout: 260 seconds)
01:14:54 --- quit: osa1 (Ping timeout: 240 seconds)
01:16:16 <geist> doug16k: i think you just have some mechanism (FDT, ACPI, etc) that tells you the top level ECAMS
01:16:24 <geist> in the case of the cavium box it's simply in the FDT
01:16:38 --- quit: caen23 (Ping timeout: 256 seconds)
01:17:02 --- join: kimundi (~Kimundi@dynip-129-217-119-172.wifi.tu-dortmund.de) joined #osdev
01:17:42 <geist> as far as root busses,. i think you generally are told which ones are the root
01:17:53 <geist> in the case of this dual xeon, for example, there is one segment
01:18:03 <geist> and 4 root busses, at 0, 0x7f, 0x80, 0xff
01:18:14 <geist> where each half of the segment clearly belongs to each socket
01:18:52 <geist> https://pastebin.com/MdaGXuna
01:18:52 <bslsk05> ​pastebin.com: geist@varmit ~ $ lspci -t -+-[0000:ff]-+-08.0 | +-08.2 | - Pastebin.com
01:19:17 --- join: caen23 (~caen23@79.118.94.187) joined #osdev
01:20:36 <geist> the cavium box is more interesting (with 6 segments)
01:20:38 <geist> https://pastebin.com/y8MFwQ5C
01:20:38 <bslsk05> ​pastebin.com: -+-[0009:8f]---00.0-[90]--+-00.0 | +-00.1 | - Pastebin.com
01:20:51 --- quit: Belxjander (Ping timeout: 276 seconds)
01:20:55 <geist> oh actually 8 segments
01:21:19 --- join: Belxjander (~Belxjande@sourcemage/Mage/Abh-Elementalist) joined #osdev
01:23:28 --- quit: caen23 (Ping timeout: 240 seconds)
01:23:42 --- join: glauxosdever (~alex@ppp-94-65-236-226.home.otenet.gr) joined #osdev
01:29:43 --- join: caen23 (~caen23@79.118.94.187) joined #osdev
01:29:49 --- quit: bm371613 (Ping timeout: 265 seconds)
01:32:09 --- join: bm371613 (~bartek@2a02:a317:603f:9800:391:ed9f:1c09:1285) joined #osdev
01:36:36 --- quit: caen23 (Ping timeout: 268 seconds)
01:37:25 --- join: garit (~garit@94.197.121.2.threembb.co.uk) joined #osdev
01:37:25 --- quit: garit (Changing host)
01:37:25 --- join: garit (~garit@unaffiliated/garit) joined #osdev
01:41:00 --- join: k4m1 (~k4m1@82-181-0-34.bb.dnainternet.fi) joined #osdev
01:41:54 <doug16k> geist, on that xeon, can you expect to find 3 bridges on bus 0 corresponding to bus 0x7f 0x80 and 0xff?
01:43:38 <doug16k> 01.0, 03.0, and 1c.0 are bridges right?
01:46:00 --- join: caen23 (~caen23@79.118.94.187) joined #osdev
01:46:24 --- quit: JusticeEX (Read error: Connection reset by peer)
01:47:18 <doug16k> the iteration algorithm I use scans bus 0 and pushes bus numbers that I find on the "other side" of bridges to a todo stack. I keep iterating busses until I have drained the todo stack empty, pushing the bus numbers for the other side of any further bridges I encounter to the todo stack
01:49:48 --- quit: Arcaelyx_ (Quit: My MacBook has gone to sleep. ZZZzzz…)
01:50:20 --- quit: caen23 (Ping timeout: 240 seconds)
01:51:21 --- join: John___ (~John__@79.97.140.214) joined #osdev
01:52:19 --- join: caen23 (~caen23@79.118.94.187) joined #osdev
01:53:01 --- quit: Belxjander (Ping timeout: 265 seconds)
01:55:15 --- join: doug16k_ (~dougx@174-138-193-47.cpe.distributel.net) joined #osdev
01:55:19 --- quit: hppavilion[1] (Ping timeout: 265 seconds)
01:57:11 --- quit: oaken-source (Quit: Lost terminal)
01:57:15 --- quit: caen23 (Ping timeout: 276 seconds)
01:57:29 --- join: Tazmain (~Tazmain@41.189.78.208) joined #osdev
01:57:43 --- quit: Tazmain (Changing host)
01:57:43 --- join: Tazmain (~Tazmain@unaffiliated/tazmain) joined #osdev
01:57:52 --- quit: hmmmm (Remote host closed the connection)
01:58:14 --- join: KidBeta (~textual@202.53.53.27) joined #osdev
01:58:33 --- quit: KidBeta (Changing host)
01:58:33 --- join: KidBeta (~textual@hpavc/kidbeta) joined #osdev
01:58:46 --- quit: doug16k (Ping timeout: 248 seconds)
01:58:52 --- join: Belxjander (~Belxjande@sourcemage/Mage/Abh-Elementalist) joined #osdev
02:01:54 <geist> doug16k_: no, i dont think so. hence the way the lspci -t drew it
02:02:03 --- join: caen23 (~caen23@79.118.94.187) joined #osdev
02:02:12 <geist> i think the 7f 80 ff are independent root busses
02:02:47 --- join: osa1 (~omer@haskell/developer/osa1) joined #osdev
02:03:49 <geist> from looking at dmes that would generally confirm it
02:03:55 <geist> [ 0.607808] ACPI: PCI Root Bridge [UNC0] (domain 0000 [bus 7f])
02:04:24 <geist> [ 0.622041] ACPI: PCI Root Bridge [PCI1] (domain 0000 [bus 80-fe])
02:04:33 <geist> etc. there's one for each 4 root busses
02:05:53 <doug16k_> I'm digging through the ACPI spec and finding vague information about it. you have to parse asl/aml to get that info I guess
02:06:10 <geist> yah prbably so
02:06:23 <geist> even the fact that bus 0 is the root bus is i think just an assumption. i dont know if it's required
02:06:51 <geist> that being said, i think in general most interesting PCI devices sit on something on the other side of root bridge 0
02:06:52 --- quit: caen23 (Ping timeout: 252 seconds)
02:07:09 <geist> in the case of this xeon the 7f and ff busses are clearly internal bits to the cpu (memory controller, etc)
02:07:23 <geist> and the 80 bus is largely unpopulated. probably the second socket
02:07:43 --- join: caen23 (~caen23@79.118.94.187) joined #osdev
02:08:02 <doug16k_> ah. cool
02:08:30 <geist> i do suppose you could scan all of the busses below root bridge 0, and then just scan the rest of the ECAM for anything else that looks like a root bridge
02:08:50 <geist> i think there's a specific device type:subtype or something for that
02:09:07 <doug16k_> yeah, I already detect it for the recursion algorithm I use
02:09:52 <doug16k_> it might be a half ass compromise to repeat my scan logic on the first bus of every segment's bus range
02:10:20 <doug16k_> not perfect but better than ignoring all segments != 0
02:10:26 --- join: JusticeEX (~justiceex@pool-108-30-196-198.nycmny.fios.verizon.net) joined #osdev
02:10:32 <geist> you mean busses
02:10:37 <geist> segments are the 16 bits above bus
02:10:44 <geist> i dont think any x86 machines have more than the 0 segment
02:11:03 <doug16k_> right, I know, you mentioned it a while ago
02:11:23 <geist> not sure any x86 hardware is actually capable of more segments
02:11:30 <geist> though i dunno precisely what say thunderbolt looks like
02:11:44 <geist> *probably* just a bridge device that dynamically publishes crap under it
02:11:54 <geist> but i guess it could be a new segment with its own ECAM
02:12:12 <geist> but most likely it's just a bridge
02:12:50 <geist> if it were its own segment it'd need to be able to publish the ECAM without being on its own pci bus in the first place, so it'd need to have some sort of top level chipset integration
02:13:21 <doug16k_> probably best to ignore segment != 0 until I fully parse ACPI and I have exact segment numbers eh?
02:13:29 <doug16k_> er exact root busses
02:14:21 <geist> probably
02:14:29 <geist> oh crap it's late. nite
02:14:33 <doug16k_> nite
02:14:54 --- quit: xerpi (Quit: Leaving)
02:24:57 --- join: m_t (~m_t@p5DDA3E2B.dip0.t-ipconnect.de) joined #osdev
02:26:41 <doug16k_> it's turtles all the way down to bus 6 :P -> https://gist.github.com/doug65536/d7424ea4f5c4fd56a8b8efcf5f7a85b8
02:26:42 <bslsk05> ​gist.github.com: gist:d7424ea4f5c4fd56a8b8efcf5f7a85b8 · GitHub
02:29:29 <immibis> TIL that emacs used to have a function called "unexec"
02:29:44 <immibis> which dumped the currently running process as an executable file
02:30:01 --- quit: quc (Remote host closed the connection)
02:30:14 --- join: quc (~quc@87.116.237.134) joined #osdev
02:41:05 --- join: oaken-source (~oaken-sou@141.89.226.146) joined #osdev
02:45:22 --- quit: alphawarr1or (Quit: Connection closed for inactivity)
02:47:58 --- join: variable (~variable@freebsd/developer/variable) joined #osdev
02:53:37 --- quit: osa1 (Ping timeout: 252 seconds)
02:55:30 --- quit: variable (Remote host closed the connection)
03:04:36 --- quit: KidBeta (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
03:20:34 --- join: zwliew (uid161395@gateway/web/irccloud.com/x-fzscyiwkqgnssiak) joined #osdev
03:21:07 --- quit: caen23 (Ping timeout: 252 seconds)
03:40:01 --- quit: quc (Remote host closed the connection)
03:40:14 --- join: quc (~quc@87.116.237.134) joined #osdev
03:42:14 --- quit: oaken-source (Ping timeout: 248 seconds)
03:43:17 --- nick: sdfgsdf -> chill_pill
03:48:11 --- join: caen23 (~caen23@79.118.94.187) joined #osdev
03:48:14 --- quit: Belxjander (Ping timeout: 240 seconds)
03:48:31 --- join: Belxjander (~Belxjande@sourcemage/Mage/Abh-Elementalist) joined #osdev
03:51:55 --- join: mmu_man (~revol@vaf26-2-82-244-111-82.fbx.proxad.net) joined #osdev
03:54:44 --- quit: caen23 (Ping timeout: 256 seconds)
03:59:53 --- quit: navidr (Quit: Connection closed for inactivity)
04:01:22 --- join: caen23 (~caen23@79.118.94.187) joined #osdev
04:01:49 --- quit: shakeel (Read error: Connection reset by peer)
04:02:16 --- join: shakeel (sid164733@gateway/web/irccloud.com/x-qllebxtuscwlaubd) joined #osdev
04:06:13 --- quit: caen23 (Ping timeout: 260 seconds)
04:09:27 --- join: caen23 (~caen23@79.118.94.187) joined #osdev
04:10:36 --- quit: immibis (Ping timeout: 256 seconds)
04:14:09 --- quit: caen23 (Ping timeout: 265 seconds)
04:16:16 --- join: regreg (~regreg@85.121.54.224) joined #osdev
04:17:11 --- join: caen23 (~caen23@79.118.94.187) joined #osdev
04:20:14 --- join: vmlinuz (~vmlinuz@32.104.18.203) joined #osdev
04:20:14 --- quit: vmlinuz (Changing host)
04:20:14 --- join: vmlinuz (~vmlinuz@unaffiliated/vmlinuz) joined #osdev
04:21:15 --- join: oaken-source (~oaken-sou@141.89.226.146) joined #osdev
04:22:05 --- join: silipwn (~silipwn@unaffiliated/silipwn) joined #osdev
04:26:28 --- quit: behalebabo (Ping timeout: 256 seconds)
04:27:02 --- quit: Raito_Bezarius (Ping timeout: 256 seconds)
04:29:17 --- join: Raito_Bezarius (~Raito_Bez@51.15.7.181) joined #osdev
04:29:42 --- join: behalebabo (~behalebab@unaffiliated/behalebabo) joined #osdev
04:33:10 --- join: zng (~zng@ool-18ba49be.dyn.optonline.net) joined #osdev
04:34:32 --- quit: oaken-source (Ping timeout: 248 seconds)
04:37:26 --- join: bemeurer (~bemeurer@64.125.109.186) joined #osdev
04:39:52 --- quit: silipwn (Ping timeout: 248 seconds)
04:44:07 --- join: vaibhav (~vnagare@125.16.97.123) joined #osdev
04:47:56 --- quit: bemeurer (Quit: Leaving)
04:49:26 --- quit: kimundi (Ping timeout: 265 seconds)
04:50:46 --- join: kimundi (~Kimundi@dynip-129-217-119-172.wifi.tu-dortmund.de) joined #osdev
04:54:14 --- quit: Belxjander (Ping timeout: 248 seconds)
04:54:42 --- quit: kimundi (Remote host closed the connection)
04:55:13 --- join: kimundi (~Kimundi@129.217.119.172) joined #osdev
04:55:34 --- quit: kimundi (Remote host closed the connection)
04:55:46 --- join: kimundi (~Kimundi@dynip-129-217-119-172.wifi.tu-dortmund.de) joined #osdev
04:57:17 --- join: silipwn (~silipwn@unaffiliated/silipwn) joined #osdev
04:57:18 --- join: Belxjander (~Belxjande@sourcemage/Mage/Abh-Elementalist) joined #osdev
05:00:27 --- join: Kimundi__ (~Kimundi@dynip-129-217-119-172.wifi.tu-dortmund.de) joined #osdev
05:00:28 --- quit: kimundi (Ping timeout: 256 seconds)
05:00:38 --- join: Kimundi_ (~Kimundi@dynip-129-217-119-172.wifi.tu-dortmund.de) joined #osdev
05:00:45 --- quit: Kimundi_ (Remote host closed the connection)
05:01:44 --- quit: chill_pill (Ping timeout: 248 seconds)
05:02:34 --- quit: awang (Ping timeout: 268 seconds)
05:05:45 --- join: variable (~variable@freebsd/developer/variable) joined #osdev
05:05:46 --- quit: k4m1 (Quit: bbl)
05:07:01 --- join: oaken-source (~oaken-sou@p3E9D279C.dip0.t-ipconnect.de) joined #osdev
05:07:16 --- quit: Kimundi__ (Ping timeout: 256 seconds)
05:09:35 --- quit: silipwn (Quit: Konversation terminated!)
05:09:45 --- join: silipwn (~silipwn@unaffiliated/silipwn) joined #osdev
05:17:07 --- quit: doug16k_ (Remote host closed the connection)
05:18:34 --- join: chjk6x_ (~chjk6x@41.141.119.132) joined #osdev
05:22:34 --- quit: Belxjander (Ping timeout: 256 seconds)
05:25:19 --- quit: silipwn (Quit: Konversation terminated!)
05:27:41 --- join: Belxjander (~Belxjande@sourcemage/Mage/Abh-Elementalist) joined #osdev
05:29:42 --- quit: bm371613 (Ping timeout: 255 seconds)
05:30:54 --- join: bm371613 (~bartek@2a02:a317:603f:9800:391:ed9f:1c09:1285) joined #osdev
05:32:19 --- join: awang (~awang@rrcs-24-106-163-46.central.biz.rr.com) joined #osdev
05:34:31 --- quit: strike_ (Quit: Konversation terminated!)
05:35:51 --- quit: dlblv (Quit: AndroidIrc Disconnecting)
05:37:21 --- join: uvgroovy (~uvgroovy@c-65-96-163-219.hsd1.ma.comcast.net) joined #osdev
05:39:30 --- join: osa1 (~omer@haskell/developer/osa1) joined #osdev
05:39:51 --- quit: zwliew (Quit: Connection closed for inactivity)
05:40:05 --- quit: variable (Quit: /dev/null is full)
05:41:01 --- quit: uvgroovy (Client Quit)
05:41:37 --- join: uvgroovy (~uvgroovy@65.96.163.219) joined #osdev
05:47:04 --- join: alphawarr1or (uid243905@gateway/web/irccloud.com/x-bbvxhuknliiexzir) joined #osdev
05:48:36 --- join: rain1 (~user@unaffiliated/rain1) joined #osdev
05:55:07 <alphawarr1or> Hello everyone
05:56:56 <Vercas> Greetings.
05:58:48 <alphawarr1or> If I wanna make an upper half kernel what are the things I should be careful of? What changes when i'm in upper half?
06:02:06 <Vercas> Don't make assumptions about the contents of a pointer, that's pretty much all.
06:02:41 <Vercas> There's lots of "clever" code (that, at some point, you might find yourself trying to port) that assumes the top 16 bits in a 64-bit pointer are always null.
06:03:13 <alphawarr1or> oh I see
06:03:24 <alphawarr1or> well i'm in protected mode so I doN't have 64bit ptrs
06:03:41 <Vercas> Eh, okay. Then you've nothing to worry about.
06:04:31 <alphawarr1or> oh thanks ^^
06:04:42 <alphawarr1or> well then I'll try to transition to upper half
06:07:56 --- quit: tavish (Quit: Leaving)
06:08:41 <alphawarr1or> How can I write mov ecx, (BootPageDirectory - KERNEL_VIRTUAL_BASE) in gas syntax? BootPageDirectors is a jump tag and KERNEL_VIRTUAL_BASE is a constant?
06:09:14 <Vercas> `jump tag` as in symbol?
06:09:35 <alphawarr1or> I mean it's a "BootPageDirectory:"
06:09:46 <Vercas> So symbol.
06:09:55 <alphawarr1or> oh sorry yeah symbol then
06:11:05 <Vercas> Why not do `mov $BootPageDirectory, %ecx` followed by `sub $KERNEL_VIRTUAL_BASE, %ecx` ?
06:11:22 <alphawarr1or> oh I thought there is a simplier form
06:11:38 <Vercas> You can prolly do a subtraction because the static linker can resolve offsetted relocations.
06:12:44 <alphawarr1or> oh I see
06:13:30 <Vercas> So try `mov $BootPageDirectory - $KERNEL_VIRTUAL_BASE, %ecx` and see if it assembles. :P
06:14:16 <rmf1723> mov $(BootPageDirectory - KERNEL_VIRTUAL_BASE), %ecx
06:14:33 <alphawarr1or> Vercas that doesn't assemble
06:15:58 --- join: Guest88172 (~ard1t@46.183.122.84) joined #osdev
06:16:15 <Vercas> alphawarr1or: Try rmf1723's suggestion.
06:16:15 <alphawarr1or> well that doesn't assmeble eitehr I guess i'll use a sub instruction that should work
06:16:20 <Vercas> Lel, okay.
06:16:58 <rmf1723> It works for me. That exact line, except with different names
06:17:04 <alphawarr1or> hmm
06:17:38 <alphawarr1or> well KERNEL_VIRTUAL_BASE is set using .set
06:17:45 <rmf1723> Ah
06:18:03 <rmf1723> I just do ``KERNEL_VIRTUAL_BASE = 0xblablah
06:18:27 <rmf1723> Messed up the backticks. No backticks in the code.
06:18:44 <Vercas> alphawarr1or: Doesn't that also make it a symbol..?
06:19:03 <Vercas> I'd use `#define KERNEL_VIRTUAL_BASE 0xB1AB1A`
06:19:09 <alphawarr1or> wait a second I guess I have some problems somewhere else too
06:19:19 <Vercas> alphawarr1or: We all do. :C
06:20:11 <alphawarr1or> mov $(boot_page_table - KERNEL_VIRTUAL_BASE), %ecx apparently works I just messed up a , before
06:20:16 <alphawarr1or> thanks ^^
06:20:56 <Vercas> Lol, okay.
06:20:58 --- quit: osa1 (Remote host closed the connection)
06:21:07 <Vercas> Has anyone here ported LuaJIT? :D
06:22:03 --- join: tlaxkit (~hexchat@92.189.36.210) joined #osdev
06:24:45 --- quit: m3nt4L (Quit: Leaving)
06:30:32 <alphawarr1or> what is arch/x86/boot.S:51: Warning: indirect jmp without `*'?
06:32:04 <Mutabah> Probably doing a `jmp %eax` or similar?
06:32:15 <rmf1723> It means you should write `jmp *whatever`
06:32:16 --- quit: uvgroovy (Ping timeout: 256 seconds)
06:32:27 <rmf1723> GAS syntax :shrug:
06:33:29 <alphawarr1or> well yeah...
06:33:47 <alphawarr1or> sorry about it
06:34:00 <MrOlsen> I'm feeling it
06:34:07 <MrOlsen> Microsoft will flight a new insider build today
06:34:37 <rmf1723> `jmp *%eax` <=> Intel `jmp eax`; and `jmp *(%eax)` <=> Intel `jmp [eax]`
06:34:47 <alphawarr1or> ok now I'm getting something else XD arch/x86/linker.ld:31: nonconstant expression for load base
06:35:12 <MrOlsen> Hello again alphawarrior
06:35:20 <alphawarr1or> hello MrOlsen
06:35:26 <rmf1723> Linker script?
06:35:37 <alphawarr1or> yup
06:35:38 <rmf1723> Sure, filename is right there. I'm blind.
06:35:51 <alphawarr1or> I'm trying to adapt the higher half barebones to my project
06:36:04 <MrOlsen> I cam into this convo late, anything good happening?
06:36:44 <rmf1723> I'm pretty sure I ran into this before, but I don't remember it. What's the offending line (+ relevant context)?
06:38:13 <alphawarr1or> https://imgflip.com/i/22hvdv
06:38:13 <bslsk05> ​imgflip.com: ABSOLUTELY BARBARIC! - Imgflip
06:38:20 --- join: dennis95 (~dennis@80.145.95.29) joined #osdev
06:38:43 <alphawarr1or> https://pastebin.com/5z5MxMxZ context
06:38:44 <bslsk05> ​pastebin.com: linker.ld - Pastebin.com
06:38:59 <alphawarr1or> it's half normal barebones half higher half barebones
06:39:04 <MrOlsen> oh boy
06:39:07 <alphawarr1or> kinda a frankenstein of osdev
06:39:22 <alphawarr1or> and I have no idea how it works/worked before
06:39:32 <rmf1723> Too many "half" in that sentence for my current brain state.
06:39:33 <MrOlsen> alphawarr1or: what are you trying to make happen?
06:40:14 <rmf1723> `ADDR(COMMON)`?
06:40:22 <rmf1723> Did you mean `ADDR(.bss)`
06:40:32 <alphawarr1or> hmm
06:40:46 <alphawarr1or> oh lol
06:40:52 <alphawarr1or> is there even a COMMON?
06:40:55 <Lowl3v3l> alphawarr1or: copy pasting stuff is a bad idea.
06:41:15 <MrOlsen> yeah common is not defined
06:41:41 <alphawarr1or> well it worked before when I only had it from http://wiki.osdev.org/Bare_Bones but now I want to make the kernel higher half
06:41:42 <bslsk05> ​wiki.osdev.org: Bare Bones - OSDev Wiki
06:41:58 <alphawarr1or> so I tried changing the script a bit to be like at http://wiki.osdev.org/Higher_Half_x86_Bare_Bones
06:41:58 <bslsk05> ​wiki.osdev.org: Higher Half x86 Bare Bones - OSDev Wiki
06:42:04 <alphawarr1or> yeah it was a bad idea indeed
06:43:03 <MrOlsen> alphawarr1or: that link show ADDR(.bss) -
06:43:16 <MrOlsen> not ADDR(COMMON)
06:43:40 <alphawarr1or> thanks that works ^^
06:43:56 <alphawarr1or> and now I gotta debug
06:43:56 <MrOlsen> Time to turn on the smooth jazz
06:44:11 <MrOlsen> thats the only way to do coke
06:44:12 <MrOlsen> err
06:44:15 <MrOlsen> do code
06:49:14 <retpoline> don't worry, we won't tell o.O
06:52:30 --- join: navidr (uid112413@gateway/web/irccloud.com/x-swghdmrmrchbftqx) joined #osdev
06:52:33 <MrOlsen> reptoline: :)
06:52:48 <MrOlsen> so anyone here get the point of self hosted?
06:53:58 <alphawarr1or> lol I have an invalid opcode somewhere even before my _start function or maybe the first stuff there
06:54:38 <MrOlsen> alpha: are you jumping a the correct address?
06:54:52 <MrOlsen> it is possibly your math is wrong and you're jumping to a spot that isn't code
06:55:12 <MrOlsen> I do that all the time when i haphazzardly forget to defrefference a pointer
06:55:33 <alphawarr1or> well it seems like my _start is not even called (that's the entry point)
06:55:38 <alphawarr1or> I mean gdb doesn't break there
06:56:08 <MrOlsen> well
06:56:13 <MrOlsen> what is the address of _start
06:56:24 <MrOlsen> and does your boot loader know to jmp to that address?
06:56:43 <alphawarr1or> c01009fe <_start>:
06:56:50 <alphawarr1or> well I have grub
06:57:00 <alphawarr1or> oh wait
06:57:08 <alphawarr1or> I have to put the start at 1 meg right?
06:57:10 <alphawarr1or> 1mb
06:57:16 <MrOlsen> like i have my _start at a very specific spot
06:57:55 <Mutabah> alphawarr1or: Yes, it has to be at 1MB for grub to be able to load it
06:58:09 <alphawarr1or> oh then I have the problem
06:58:15 <MrOlsen> you can set _start address
06:58:19 <MrOlsen> in your linker script
06:58:33 <alphawarr1or> oh really? how?
06:59:06 <Mutabah> you can have `start = _start - 0xC0000000;` in the linker script
06:59:23 <MrOlsen> also make sure you page align your sections
06:59:28 <MrOlsen> you will have less problems down the road
06:59:28 <Mutabah> or, you can put `start` in a section that's linked to run at 1MB instead of 1MB+3G
07:01:08 <MrOlsen> alpha: I dont know how far along you are, does your code relocate itself?
07:01:19 <alphawarr1or> oh well the intel syntax example has "loader equ (_loader - 0xC0000000)" but idk how that would look like in gas
07:01:23 --- join: NotSecwitter (~NonSecwit@unaffiliated/nonsecwitter) joined #osdev
07:01:33 <alphawarr1or> nope all I did was the linker scrips and the boot assembly
07:01:40 <alphawarr1or> and now the _start is misplaces
07:05:59 --- join: uvgroovy (~uvgroovy@199.188.233.130) joined #osdev
07:08:32 --- quit: uvgroovy (Client Quit)
07:15:05 --- join: uvgroovy (~uvgroovy@199.188.233.130) joined #osdev
07:15:48 --- quit: chjk6x_ (Ping timeout: 260 seconds)
07:19:39 --- quit: uvgroovy (Client Quit)
07:19:51 --- join: uvgroovy (~uvgroovy@199.188.233.130) joined #osdev
07:21:58 --- join: sgautam (~sgautam@59.182.250.52) joined #osdev
07:22:01 --- nick: sgautam -> GautamS
07:25:52 --- join: Asu (~sdelang@AMarseille-658-1-168-207.w86-198.abo.wanadoo.fr) joined #osdev
07:26:20 <Vercas> My kernel needs to get rid of its dependency on a secondary bootloader. :l
07:26:26 <Vercas> I should just make it all a binary blob.
07:27:19 --- quit: GautamS (Quit: GautamS)
07:27:43 --- join: sgautam (~sgautam@59.182.250.52) joined #osdev
07:27:47 --- nick: sgautam -> GautamS
07:31:14 <GautamS> Yeah. Even better if you remove the dependency on a file system, and a boot sector.
07:31:57 <MrOlsen> multi stage boot loaders are good
07:31:59 <GautamS> Just tell the user to directly write your kernel to the hard disk. 100% raw.
07:32:34 <GautamS> (Just kidding, I know.)
07:32:35 --- quit: John___ (Read error: Connection reset by peer)
07:34:01 --- quit: xenos1984 (Quit: Leaving.)
07:35:58 --- quit: GautamS (Quit: GautamS)
07:36:37 --- join: hmmmm (~sdfgsf@pool-72-79-162-13.sctnpa.east.verizon.net) joined #osdev
07:42:30 <MrOlsen> it's just more work to build all these systems
07:42:34 <MrOlsen> or borrow from a few people
07:43:06 --- quit: caen23 (Ping timeout: 256 seconds)
07:46:21 --- join: kimundi (~Kimundi@p57A89B68.dip0.t-ipconnect.de) joined #osdev
07:46:39 --- join: listenmore (~strike@2.27.123.231) joined #osdev
07:50:47 --- join: pictron (~tom@pool-173-79-33-247.washdc.fios.verizon.net) joined #osdev
07:53:24 --- join: variable (~variable@freebsd/developer/variable) joined #osdev
07:53:32 --- quit: variable (Client Quit)
07:54:05 --- nick: meowrobot -> \meowrobot
07:54:13 --- nick: \meowrobot -> meowrobotr
07:54:14 --- nick: meowrobotr -> meowrobot
07:54:37 --- join: xenos1984 (~xenos1984@22-164-191-90.dyn.estpak.ee) joined #osdev
07:57:58 --- quit: xenos1984 (Client Quit)
07:58:19 --- join: xenos1984 (~xenos1984@22-164-191-90.dyn.estpak.ee) joined #osdev
08:04:34 --- quit: josuedhg (Remote host closed the connection)
08:05:31 --- quit: Tazmain (Quit: Leaving)
08:17:46 --- quit: bm371613 (Quit: Konversation terminated!)
08:21:58 --- quit: tlaxkit (Quit: Saliendo...)
08:24:20 --- join: freakazoid0223 (~IceChat9@pool-108-52-4-148.phlapa.fios.verizon.net) joined #osdev
08:32:14 --- join: chjk6x_ (~chjk6x@41.141.119.132) joined #osdev
08:39:45 --- join: eivarv (~eivarv@cm-84.215.4.97.getinternet.no) joined #osdev
08:40:46 <rmf1723> alphawarr1or: you can put your _start in a special section (e.g. `.section .bootstrap "ax"` in GAS) and then have the linker script link it at 1MB.
08:41:50 <alphawarr1or> what's that ax there?
08:42:03 <rmf1723> "Allocated" and "eXecutable"
08:42:16 <alphawarr1or> oh thanks
08:42:19 <rmf1723> Makes sure it gets loaded into memory with execute permissions
08:42:20 <alphawarr1or> I'll try it soon then
08:42:38 <alphawarr1or> I just gotta sync the code between machines
08:42:51 --- join: sortie (~Sortie@static-5-186-55-44.ip.fibianet.dk) joined #osdev
08:43:04 --- quit: quc (Ping timeout: 248 seconds)
08:46:47 --- join: caen23 (~caen23@info-c-72.info.uaic.ro) joined #osdev
08:47:04 --- join: gdh (~gdh@2605:a601:639:2c00:d05a:2434:c0e3:cfb) joined #osdev
08:53:07 --- join: dlblv (~dlblv@ppp91-77-77-173.pppoe.mtu-net.ru) joined #osdev
08:55:20 --- join: raphaelsc (~utroz@187.58.1.140) joined #osdev
09:00:00 --- quit: JusticeEX (Remote host closed the connection)
09:05:42 --- quit: caen23 (Ping timeout: 255 seconds)
09:06:20 --- join: grzesiek (~grzesiek@PC-77-46-101-67.euro-net.pl) joined #osdev
09:06:43 --- join: pie3 (~pieee@49.34.68.42) joined #osdev
09:15:08 --- join: sinetek_ (~sinetek@modemcable018.210-57-74.mc.videotron.ca) joined #osdev
09:15:28 --- quit: sinetek_ (Remote host closed the connection)
09:16:19 --- quit: rain1 (Ping timeout: 264 seconds)
09:16:41 --- join: Arcaelyx (~Arcaelyx@2601:646:c200:27a1:f0b1:b3a7:bd52:33c1) joined #osdev
09:17:34 --- join: JusticeEX (~justiceex@pool-108-30-196-198.nycmny.fios.verizon.net) joined #osdev
09:18:37 * Vercas really wants a Firewire interface on a laptop.
09:19:19 --- quit: raphaelsc (Remote host closed the connection)
09:19:54 --- join: rain1 (~user@unaffiliated/rain1) joined #osdev
09:21:14 <alphawarr1or> what do you need it for?
09:21:54 --- join: grange_c (~grange_c@163.5.141.112) joined #osdev
09:21:56 <grange_c> Hello!
09:22:03 <alphawarr1or> hello!
09:23:44 --- join: mpascale00 (~mpascale@207.244.71.98) joined #osdev
09:24:07 <grange_c> Do you guys know if the gdt can be altered after it was loaded? Is it 'stored' inside the cpu and i can reuse it for an other AP but with altered fields or shall i make a new one?
09:24:46 <alphawarr1or> well you can modify it
09:24:57 <alphawarr1or> the question is whether the cpu will reload it or not
09:25:12 --- quit: vmlinuz (Ping timeout: 248 seconds)
09:25:29 --- join: curiosity_freak (~naveen@157.50.9.122) joined #osdev
09:25:57 <curiosity_freak> during boot process , the bios will be executed
09:26:13 <curiosity_freak> but who copies the bios to RAM?
09:26:14 <grange_c> Yes, that's what worries me
09:26:41 <alphawarr1or> well it's not copied to the RAM
09:27:00 <alphawarr1or> the first instruction the CPU executes in a jump to the beginning of the BIOS which is on a different chip
09:28:08 <curiosity_freak> where bios chip is address in 1MB address space?
09:28:15 <grange_c> alphawarr1ior: Will the cpu reload it automatically or i'm safe untill i use lgdt myself?
09:28:54 --- quit: JusticeEX (Ping timeout: 248 seconds)
09:29:12 <ox6> bios isn't really used anymore either
09:29:16 <alphawarr1or> https://en.wikipedia.org/wiki/Reset_vector curiosity_freak the BIOS is memory mapped
09:29:16 <bslsk05> ​en.wikipedia.org: Reset vector - Wikipedia
09:30:16 --- join: caen23 (~caen23@79.118.94.187) joined #osdev
09:30:17 <alphawarr1or> why would you use multiple GDT's? Using paging would be safer and easier but if you wanna switch gdt between let's say processes it'd be better to have them separated and loaded before each
09:30:48 <curiosity_freak> alphawarr1or: thank you
09:31:13 <ox6> on uefi stuff with secure boot i believe either the ME or UEFI itself zeros and verifies the contents and checks the checksum
09:31:51 --- part: gdh left #osdev
09:36:20 --- quit: fnodeuser (Quit: Changing server)
09:39:02 <grange_c> alphawarr1or I was more thinking of how to implement userspace in an SMP-aware kernel. If i understood everything correctly, i'm gonna need a TSS for each CPU so they all have a different kernel stack, and therefore a lots of entries in the GDT.
09:39:30 --- join: fnodeuser (~irssiuser@ppp-2-86-205-194.home.otenet.gr) joined #osdev
09:39:37 <alphawarr1or> well only one per cpu that's not much unless you have lots of cores
09:40:26 <grange_c> But that means that i need a dynamically allocated GDT (or to make enough space before), which was a bit annoying so i was thinking that maybe there was something nicer.
09:41:03 <alphawarr1or> oh well you can allocate create a new gdt after knowing the amount of cores with N things in it ofc
09:41:08 <grange_c> (Can you still confirm that i will need a TSS per cpu? (And therefore that i'm not going to the wrong direction))
09:41:36 --- join: CheckDavid (uid14990@gateway/web/irccloud.com/x-pvaoepsawhnfhqps) joined #osdev
09:41:56 --- join: vmlinuz (~vmlinuz@32.104.18.203) joined #osdev
09:41:56 --- quit: vmlinuz (Changing host)
09:41:56 --- join: vmlinuz (~vmlinuz@unaffiliated/vmlinuz) joined #osdev
09:42:07 <alphawarr1or> "For each CPU which executes processes possibly wanting to do system calls via interrupts, one TSS is required." http://wiki.osdev.org/Task_State_Segment
09:42:08 <bslsk05> ​wiki.osdev.org: Task State Segment - OSDev Wiki
09:42:28 <grange_c> Nice, thanks
09:42:44 <alphawarr1or> np
09:45:01 --- quit: nzoueidi (Ping timeout: 252 seconds)
09:45:01 --- quit: sprocklem (Ping timeout: 252 seconds)
09:48:23 --- join: user10032 (~Thirteen@2.124.229.123) joined #osdev
09:49:58 --- join: JusticeEX (~justiceex@pool-108-30-196-198.nycmny.fios.verizon.net) joined #osdev
09:53:11 --- join: new23 (~new23@185.181.55.6) joined #osdev
09:53:45 --- quit: m_t (Quit: Leaving)
09:59:17 --- quit: curiosity_freak (Read error: Connection reset by peer)
09:59:53 <Vercas> alphawarr1or: Firewire gives you full access to a device's memory. I need it for debugging.
10:00:57 <alphawarr1or> oh wow
10:02:11 <alphawarr1or> what devices still use firewire?
10:07:10 --- quit: ox6 (Remote host closed the connection)
10:07:42 --- quit: new23 (Quit: Leaving)
10:07:51 --- join: new23 (~new23@185.181.55.7) joined #osdev
10:10:24 <Vercas> alphawarr1or: Virtually none.
10:10:52 <Vercas> Also, why didn't protected mode OSes use call gates for syscalls? o.o
10:12:18 --- join: ox6 (836bae30@gateway/web/cgi-irc/kiwiirc.com/ip.131.107.174.48) joined #osdev
10:12:18 --- quit: ox6 (Changing host)
10:12:18 --- join: ox6 (836bae30@unaffiliated/ox6) joined #osdev
10:12:18 --- quit: ox6 (Changing host)
10:12:18 --- join: ox6 (836bae30@gateway/web/cgi-irc/kiwiirc.com/ip.131.107.174.48) joined #osdev
10:14:54 --- quit: new23 (Ping timeout: 240 seconds)
10:15:27 --- join: svk (~svk@p2003006A65122F00B572C9ADA097E154.dip0.t-ipconnect.de) joined #osdev
10:22:19 --- quit: air (Ping timeout: 264 seconds)
10:29:56 --- join: sinetek_ (~sinetek@modemcable018.210-57-74.mc.videotron.ca) joined #osdev
10:35:18 --- join: dbittman (~dbittman@2601:647:ca00:1651:b26e:bfff:fe31:5ba2) joined #osdev
10:37:47 --- quit: meowrobot (Quit: let us connect our intestines and mutually digest)
10:38:26 --- join: meowrobot (~katgirl@pool-96-236-155-90.pitbpa.fios.verizon.net) joined #osdev
10:39:05 <alphawarr1or> call gates?
10:40:34 <geist> Vercas: they could have, but i think they were slower and had more features than strictly necessary. an int worked just as well
10:40:49 <geist> and then by the tie syscall/sysenter came along it was all over
10:41:08 <geist> of course syscall/sysenter came along to specifically replace the usage of int as a syscall, so the decision had already been globally made by then
10:42:38 --- join: adu (~ajr@pool-173-66-242-131.washdc.fios.verizon.net) joined #osdev
10:48:58 --- quit: JusticeEX (Ping timeout: 240 seconds)
10:49:53 --- quit: navidr (Quit: Connection closed for inactivity)
10:50:37 <froggey> the old i386 sysv abi specifies that _exit is implemented using a call gate. I doubt anything actually implements this
10:53:40 <geist> indeed
10:54:22 --- join: farb (~farb@185.47.61.163) joined #osdev
10:54:23 --- quit: farb (Changing host)
10:54:23 --- join: farb (~farb@unaffiliated/farb) joined #osdev
10:58:01 <alphawarr1or> how would I go about linking some part of the text segment into 1M and the other to 3G?
10:59:38 <alphawarr1or> now I get a "Entry point isn't in a segment" and when I have two .text segments in the linker script it can't find the multiboot header + everything is at 1M
11:03:42 --- quit: vmlinuz (Ping timeout: 256 seconds)
11:07:02 --- quit: regreg (Ping timeout: 248 seconds)
11:09:58 --- join: air (~brand@c-73-63-48-70.hsd1.ut.comcast.net) joined #osdev
11:13:57 --- quit: eivarv (Ping timeout: 255 seconds)
11:15:34 --- join: sprocklem (~sprocklem@unaffiliated/sprocklem) joined #osdev
11:16:06 --- join: m_t (~m_t@93.218.62.43) joined #osdev
11:16:16 --- quit: grzesiek (Remote host closed the connection)
11:16:35 --- quit: m_t (Remote host closed the connection)
11:16:39 --- join: vmlinuz (~vmlinuz@32.104.18.203) joined #osdev
11:16:39 --- quit: vmlinuz (Changing host)
11:16:39 --- join: vmlinuz (~vmlinuz@unaffiliated/vmlinuz) joined #osdev
11:16:54 --- join: m_t (~m_t@p5DDA3E2B.dip0.t-ipconnect.de) joined #osdev
11:17:26 --- join: eivarv (~eivarv@cm-84.215.4.97.getinternet.no) joined #osdev
11:17:42 --- quit: oaken-source (Ping timeout: 248 seconds)
11:18:07 --- quit: Halofreak1990 (Ping timeout: 268 seconds)
11:21:52 --- join: sinetek__ (~sinetek@modemcable018.210-57-74.mc.videotron.ca) joined #osdev
11:22:00 --- join: JusticeEX (~justiceex@pool-108-30-196-198.nycmny.fios.verizon.net) joined #osdev
11:23:04 --- quit: garit (Ping timeout: 248 seconds)
11:23:23 --- join: garit (~garit@94.197.121.117.threembb.co.uk) joined #osdev
11:23:23 --- quit: garit (Changing host)
11:23:23 --- join: garit (~garit@unaffiliated/garit) joined #osdev
11:23:25 --- quit: garit (Excess Flood)
11:25:03 --- join: garit (~garit@94.197.121.117.threembb.co.uk) joined #osdev
11:25:03 --- quit: garit (Changing host)
11:25:03 --- join: garit (~garit@unaffiliated/garit) joined #osdev
11:25:05 --- quit: garit (Excess Flood)
11:25:10 --- quit: sinetek_ (Ping timeout: 248 seconds)
11:25:21 --- quit: grange_c (Ping timeout: 276 seconds)
11:31:55 --- join: garit (~garit@unaffiliated/garit) joined #osdev
11:31:55 --- quit: sinetek__ (Ping timeout: 264 seconds)
11:36:28 --- quit: sortie (Read error: Connection reset by peer)
11:38:14 --- join: lowl3v3l_ (~lowl3v3l@i5E86DF4D.versanet.de) joined #osdev
11:44:09 --- quit: Asu (Remote host closed the connection)
11:50:07 --- quit: CheckDavid (Quit: Connection closed for inactivity)
11:50:48 --- join: bm371613 (~bartek@89-64-31-161.dynamic.chello.pl) joined #osdev
11:51:43 --- quit: daniele_athome (Ping timeout: 260 seconds)
11:52:30 --- join: daniele_athome (~daniele_a@93-40-14-81.ip36.fastwebnet.it) joined #osdev
11:59:33 --- join: Halofreak1990 (~FooBar247@5ED0A537.cm-7-1c.dynamic.ziggo.nl) joined #osdev
12:00:28 --- quit: vmlinuz (Quit: Leaving)
12:02:01 --- quit: sprocklem (Ping timeout: 265 seconds)
12:04:06 --- quit: JusticeEX (Ping timeout: 248 seconds)
12:04:21 --- quit: chjk6x_ (Ping timeout: 276 seconds)
12:06:56 --- join: nzoueidi (~nzoueidi@ubuntu/member/na3il) joined #osdev
12:09:21 --- join: tacco\unfoog (~tacco@dslb-178-007-244-013.178.007.pools.vodafone-ip.de) joined #osdev
12:10:50 --- join: chjk6x_ (~chjk6x@41.141.119.132) joined #osdev
12:13:51 --- join: Asu (~sdelang@AMarseille-658-1-168-207.w86-198.abo.wanadoo.fr) joined #osdev
12:13:56 --- join: Pessimist (~Pessimist@78-61-54-57.static.zebra.lt) joined #osdev
12:13:56 --- quit: Pessimist (Changing host)
12:13:56 --- join: Pessimist (~Pessimist@unaffiliated/pessimist) joined #osdev
12:20:24 --- quit: Belxjander (Ping timeout: 268 seconds)
12:24:06 --- quit: Halofreak1990 (Ping timeout: 268 seconds)
12:25:47 --- join: Belxjander (~Belxjande@sourcemage/Mage/Abh-Elementalist) joined #osdev
12:28:08 --- quit: pictron (Ping timeout: 246 seconds)
12:38:02 --- join: CheckDavid (uid14990@gateway/web/irccloud.com/x-lnyodygafmxpqgob) joined #osdev
12:38:53 --- quit: adu (Quit: adu)
12:39:27 --- quit: bauen1 (Ping timeout: 276 seconds)
12:39:54 --- join: pictron (~tom@pool-173-79-33-247.washdc.fios.verizon.net) joined #osdev
12:42:06 --- join: Halofreak1990 (~FooBar247@5ED0A537.cm-7-1c.dynamic.ziggo.nl) joined #osdev
12:48:17 <alphawarr1or> can I even have multiple .text segments in a linker script?
12:53:38 <geist> not really, no
12:53:49 <geist> well sort of. but you probably dont want to
12:54:13 <geist> you can do almost anything with a linker script, but if you're trying that hard you're almost assuredly doing the wrong thing
12:55:10 --- join: immibis (~chatzilla@122-59-200-50.jetstream.xtra.co.nz) joined #osdev
12:56:00 --- join: JusticeEX (~justiceex@pool-108-30-196-198.nycmny.fios.verizon.net) joined #osdev
13:01:34 <alphawarr1or> oh I see
13:01:57 <alphawarr1or> well I just need to link two piece of code to two different locations and I have no idea how to
13:02:05 <geist> why do you want to do that?
13:02:12 <alphawarr1or> because I wanna have an upper half kernel
13:02:20 --- join: Tazmain (~Tazmain@unaffiliated/tazmain) joined #osdev
13:02:35 <alphawarr1or> and the loader has to be at 1Mbut the other code is linked to 3G
13:02:37 <geist> yes. but most higher half kernels dont do it that way
13:02:50 <alphawarr1or> oh do they copy themselves? or paging?
13:02:54 <geist> paging
13:03:05 <geist> basicvally you write a little piece of asm that immediately sets up paging and then bounces into that
13:03:12 <geist> and thus avoids needing the two blobs of code
13:03:26 <alphawarr1or> hmm
13:03:47 <alphawarr1or> then where should I set the code's linkling location? 3G or 1M?
13:03:48 --- join: adu (~ajr@pool-173-66-242-131.washdc.fios.verizon.net) joined #osdev
13:03:51 <geist> 3G
13:03:59 <geist> key is the compiler generates code assuming that address
13:04:01 <alphawarr1or> yeah that's what I have now
13:04:04 <alphawarr1or> but it won't boot
13:04:08 <geist> you write a little piece of assembly so that it doesn't care what address its running at
13:04:17 <geist> which just starts paging, and then branches to the high address
13:04:21 <alphawarr1or> I mean everything begin at 3G
13:04:24 <geist> yes
13:04:33 <alphawarr1or> but it won't call my _start
13:04:36 --- join: bauen1 (~bauen1@95.91.252.189) joined #osdev
13:04:41 <alphawarr1or> it just fails as grub wants the -start at 1M
13:04:42 <geist> yes, becaus eyou haven't done what i just told you
13:04:52 <alphawarr1or> it fails with invalid OP code
13:05:13 <geist> it's coming in at the wrong address, whichi s where you write some code to set up paging and then branch to the Right address
13:05:21 <geist> because grub will start the kernel without paging enabled
13:05:27 <geist> at a 'low' address, like 1MB
13:05:57 <geist> that's totally fine. you (the programmer) writes code to get the kernel up to 3GB. grub wonmt do it for you since i doesn't know how you want to map memory
13:06:05 <geist> anyway, gotta go to lunch
13:06:25 <alphawarr1or> oh
13:07:16 <alphawarr1or> thanks I'll try
13:09:30 --- quit: Halofreak1990 (Ping timeout: 256 seconds)
13:11:34 --- quit: adu (Quit: adu)
13:15:45 --- join: sortie (~sortie@static-5-186-55-44.ip.fibianet.dk) joined #osdev
13:18:01 <Kazinsal> Man it has been way too long since I've soldered stuff
13:18:06 <Kazinsal> Good to be doing it again
13:18:40 --- join: John___ (~John__@79.97.140.214) joined #osdev
13:22:30 --- quit: Asu (Read error: Connection reset by peer)
13:22:45 --- join: Halofreak1990 (~FooBar247@5ED0A537.cm-7-1c.dynamic.ziggo.nl) joined #osdev
13:23:13 --- join: doug16k (~dougx@174-138-193-47.cpe.distributel.net) joined #osdev
13:23:33 --- join: Asu (~sdelang@AMarseille-658-1-168-207.w86-198.abo.wanadoo.fr) joined #osdev
13:25:48 <rain1> wow are you soldering your own os
13:26:51 --- join: xerpi (~xerpi@59.red-88-23-233.staticip.rima-tde.net) joined #osdev
13:27:45 --- quit: xerpi (Remote host closed the connection)
13:28:31 --- join: xerpi (~xerpi@88.23.233.59) joined #osdev
13:28:40 <Kazinsal> haha, no, doing an IoT prototype for work
13:29:56 --- quit: bm371613 (Quit: Konversation terminated!)
13:35:13 --- join: Darmor (~Tom@198-91-187-5.cpe.distributel.net) joined #osdev
13:35:24 --- quit: pie3 (Quit: Leaving)
13:35:41 --- join: Shamar (~giacomote@unaffiliated/giacomotesio) joined #osdev
13:40:28 --- quit: caen23 (Ping timeout: 240 seconds)
13:41:35 --- quit: alyptik (Ping timeout: 265 seconds)
13:42:31 --- quit: vaibhav (Quit: Leaving)
13:42:50 --- join: navidr (uid112413@gateway/web/irccloud.com/x-izvzawhugaskfjaw) joined #osdev
13:45:32 --- join: alyptik (ayy@cpe-76-173-133-37.hawaii.res.rr.com) joined #osdev
13:46:24 --- quit: Halofreak1990 (Ping timeout: 276 seconds)
13:52:00 --- quit: eivarv (Quit: Sleep)
13:53:33 --- quit: m_t (Quit: Leaving)
13:55:13 <kimundi> Can I ask freestanding C++ questions here, or would that not be appropiate?
13:56:56 --- join: Asu` (~sdelang@92.184.101.28) joined #osdev
13:57:12 --- quit: alyptik (Ping timeout: 248 seconds)
13:57:27 --- quit: Asu (Ping timeout: 276 seconds)
13:59:44 --- join: alyptik (ayy@cpe-76-173-133-37.hawaii.res.rr.com) joined #osdev
14:02:02 --- quit: glauxosdever (Quit: leaving)
14:04:56 --- quit: JusticeEX (Ping timeout: 264 seconds)
14:11:40 --- quit: Asu` (Remote host closed the connection)
14:14:46 --- join: Halofreak1990 (~FooBar247@5ED0A537.cm-7-1c.dynamic.ziggo.nl) joined #osdev
14:20:16 --- join: quc (~quc@87.116.237.134) joined #osdev
14:31:53 --- join: _sfiguser (~sfigguser@5.102.3.248) joined #osdev
14:32:33 --- quit: Halofreak1990 (Ping timeout: 276 seconds)
14:34:39 --- quit: NotSecwitter (Ping timeout: 255 seconds)
14:36:14 --- join: banisterfiend (~banister@ruby/staff/banisterfiend) joined #osdev
14:38:22 --- join: zwliew (uid161395@gateway/web/irccloud.com/x-tvuujhfvkwohdhbv) joined #osdev
14:38:25 --- quit: Retr0id (Remote host closed the connection)
14:38:32 <radens> kimundi: ##C++ would always be a good place for such questions, but if it's osdev specific definitely ask here.
14:40:11 --- quit: dennis95 (Quit: Leaving)
14:40:29 <kimundi> radens: Was thinking of issues I'd likely have because I'm working without a std lib
14:40:53 <kimundi> But yeah, I asked there as well, and got help a few minutes ago :)
14:41:46 --- join: JusticeEX (~justiceex@pool-108-30-196-198.nycmny.fios.verizon.net) joined #osdev
14:43:42 --- join: sprocklem (~sprocklem@unaffiliated/sprocklem) joined #osdev
14:50:45 --- quit: SN4T14 (Ping timeout: 276 seconds)
14:51:25 --- quit: anonnumberanon (Ping timeout: 276 seconds)
14:51:29 --- quit: Tazmain (Quit: Leaving)
14:51:45 --- quit: ahrs (Read error: Connection reset by peer)
14:51:50 --- quit: neakitten (Ping timeout: 240 seconds)
14:52:33 --- quit: marky (Ping timeout: 260 seconds)
14:52:54 --- join: ahrs (quassel@gateway/vpn/privateinternetaccess/ahrs) joined #osdev
14:52:55 --- join: SN4T14 (~SN4T14@81.4.104.33) joined #osdev
14:53:11 --- quit: lowl3v3l_ (Remote host closed the connection)
14:54:18 --- quit: ephemer0l (Ping timeout: 260 seconds)
14:54:58 --- join: marky (marky@unaffiliated/rbx) joined #osdev
14:55:08 --- quit: user10032 (Quit: Leaving)
14:56:23 --- quit: CheckDavid (Quit: Connection closed for inactivity)
14:56:26 --- join: anonnumberanon (~anonnumbe@unaffiliated/anonnumberanon) joined #osdev
15:06:57 --- quit: uvgroovy (Quit: uvgroovy)
15:08:22 --- join: Kazinsal_ (~Kazinsal@unaffiliated/blacklightos) joined #osdev
15:10:59 --- join: neakitten (alice@hypatia/staff/nea) joined #osdev
15:11:28 --- quit: Kazinsal (Ping timeout: 255 seconds)
15:18:55 --- join: eremitah_ (~int@unaffiliated/eremitah) joined #osdev
15:22:00 --- quit: eremitah (Ping timeout: 248 seconds)
15:22:00 --- nick: eremitah_ -> eremitah
15:26:01 --- quit: nzoueidi (Ping timeout: 252 seconds)
15:26:35 --- quit: sortie (Quit: Leaving)
15:31:31 --- join: Pseudonym73 (~Pseudonym@128.250.7.77) joined #osdev
15:34:28 --- quit: Pessimist (Ping timeout: 240 seconds)
15:35:50 --- quit: kimundi (Ping timeout: 240 seconds)
15:39:06 --- quit: Shamar (Ping timeout: 256 seconds)
15:41:10 --- quit: mmu_man (Ping timeout: 248 seconds)
15:41:32 --- part: Lowl3v3l left #osdev
15:41:53 --- join: Lowl3v3l (~Lowl3v3l@dslb-088-075-089-098.088.075.pools.vodafone-ip.de) joined #osdev
15:42:44 --- join: Halofreak1990 (~FooBar247@5ED0A537.cm-7-1c.dynamic.ziggo.nl) joined #osdev
15:44:22 --- join: eremitah_ (~int@unaffiliated/eremitah) joined #osdev
15:47:19 --- quit: dlblv (Remote host closed the connection)
15:47:22 --- quit: eremitah (Ping timeout: 260 seconds)
15:47:23 --- nick: eremitah_ -> eremitah
15:50:02 --- join: CheckDavid (uid14990@gateway/web/irccloud.com/x-kzwmublxlfsaswox) joined #osdev
15:51:06 --- quit: sprocklem (Ping timeout: 265 seconds)
15:51:25 --- quit: navidr (Quit: Connection closed for inactivity)
15:51:59 --- quit: rain1 (Quit: WeeChat 2.0.1)
15:55:04 --- quit: xerpi (Quit: Leaving)
15:55:35 --- join: hppavilion[1] (~dosgmowdo@58-0-174-206.gci.net) joined #osdev
15:59:02 --- quit: John___ (Read error: Connection reset by peer)
16:00:12 --- join: sprocklem (~sprocklem@unaffiliated/sprocklem) joined #osdev
16:00:27 --- quit: xenos1984 (Quit: Leaving.)
16:00:57 --- quit: awang (Ping timeout: 240 seconds)
16:05:57 --- join: isd (~isd@209.6.64.199) joined #osdev
16:10:48 --- join: appa2 (~appa@d199-74-162-107.nap.wideopenwest.com) joined #osdev
16:14:45 --- quit: tacco\unfoog ()
16:15:05 --- join: awang (~awang@cpe-98-31-27-190.columbus.res.rr.com) joined #osdev
16:17:06 --- quit: _sfiguser (Quit: Leaving)
16:18:18 --- quit: svk (Quit: Leaving)
16:27:15 --- quit: chjk6x_ (Remote host closed the connection)
16:27:50 --- join: chjk6x_ (~chjk6x@41.141.119.132) joined #osdev
16:33:16 --- quit: chjk6x_ (Remote host closed the connection)
16:33:49 --- join: chjk6x_ (~chjk6x@41.141.119.132) joined #osdev
16:38:21 --- join: wcstok (~Me@c-71-197-192-147.hsd1.wa.comcast.net) joined #osdev
16:41:02 --- quit: chjk6x_ (Ping timeout: 260 seconds)
16:54:07 --- join: ephemer0l (~ephemer0l@pentoo/user/ephemer0l) joined #osdev
16:55:30 --- quit: dude12312414 (Quit: Segmentation fault: 11)
16:56:38 --- quit: alphawarr1or (Quit: Connection closed for inactivity)
16:59:04 --- quit: hiei (Ping timeout: 272 seconds)
17:02:08 --- join: dude12312414 (None@gateway/shell/elitebnc/x-jyoxcfvmaymbdhrs) joined #osdev
17:20:42 --- quit: sprocklem (Ping timeout: 260 seconds)
17:23:28 --- join: hiei (jaganshi@gateway/shell/elitebnc/x-qgihrxydpzuxdozg) joined #osdev
17:27:43 --- join: hacku (~hacku@5070A9C0.static.ziggozakelijk.nl) joined #osdev
17:32:44 --- join: sinetek_ (~sinetek@modemcable018.210-57-74.mc.videotron.ca) joined #osdev
17:40:58 --- join: sinetek__ (~sinetek@modemcable018.210-57-74.mc.videotron.ca) joined #osdev
17:41:27 --- quit: sinetek_ (Ping timeout: 240 seconds)
17:48:12 --- quit: Belxjander (Ping timeout: 276 seconds)
17:49:25 --- join: Belxjander (~Belxjande@sourcemage/Mage/Abh-Elementalist) joined #osdev
17:53:48 --- join: regreg (~regreg@85.121.54.224) joined #osdev
17:56:09 --- quit: zwliew (Quit: Connection closed for inactivity)
18:03:36 --- quit: babyflakes (Quit: Connection closed for inactivity)
18:06:24 --- quit: CheckDavid (Quit: Connection closed for inactivity)
18:08:51 --- quit: Belxjander (Ping timeout: 265 seconds)
18:10:00 --- join: Belxjander (~Belxjande@sourcemage/Mage/Abh-Elementalist) joined #osdev
18:11:21 --- quit: Darmor (Quit: Leaving)
18:14:23 --- join: sprocklem (~sprocklem@unaffiliated/sprocklem) joined #osdev
18:15:06 --- quit: Pseudonym73 (Quit: Leaving...)
18:24:04 --- quit: dude12312414 (Quit: Segmentation fault: 11)
18:29:51 --- join: dude12312414 (None@gateway/shell/elitebnc/x-cnwbnbosouprshim) joined #osdev
18:30:17 --- join: SwiftMatt (~Objective@2601:282:4300:3e:210b:e473:e42f:89f2) joined #osdev
18:43:50 --- join: Pessimist (~Pessimist@78-61-54-57.static.zebra.lt) joined #osdev
18:43:51 --- quit: Pessimist (Changing host)
18:43:51 --- join: Pessimist (~Pessimist@unaffiliated/pessimist) joined #osdev
18:46:39 --- quit: Belxjander (Ping timeout: 256 seconds)
18:48:21 --- quit: Pessimist (Ping timeout: 248 seconds)
18:50:59 --- join: multi_io_ (~olaf@x4db4fa5e.dyn.telefonica.de) joined #osdev
18:53:08 --- join: Belxjander (~Belxjande@sourcemage/Mage/Abh-Elementalist) joined #osdev
18:54:26 --- quit: multi_io (Ping timeout: 268 seconds)
18:58:31 --- quit: epony (Remote host closed the connection)
18:59:41 --- quit: hppavilion[1] (Remote host closed the connection)
19:00:08 --- join: hppavilion[1] (~dosgmowdo@58-0-174-206.gci.net) joined #osdev
19:08:48 --- quit: SwiftMatt (Ping timeout: 276 seconds)
19:09:43 --- quit: regreg (Ping timeout: 248 seconds)
19:10:57 --- quit: hacku (Ping timeout: 260 seconds)
19:11:30 --- join: epony (~nym@77-85-133-5.ip.btc-net.bg) joined #osdev
19:12:44 --- quit: epony (Max SendQ exceeded)
19:13:39 --- join: epony (~nym@77-85-133-5.ip.btc-net.bg) joined #osdev
19:21:25 --- quit: Belxjander (Ping timeout: 248 seconds)
19:27:00 --- join: Belxjander (~Belxjande@sourcemage/Mage/Abh-Elementalist) joined #osdev
19:28:37 --- quit: epony (Read error: Connection reset by peer)
19:31:07 --- quit: JusticeEX (Quit: Lost terminal)
19:33:00 --- join: epony (~nym@77-85-133-5.ip.btc-net.bg) joined #osdev
19:33:58 <geist> okay, moment of troof. my nehalem based server box is rebooting with a kpti kernel
19:34:08 <geist> so now i get to measure the impact on a machine without PCID
19:40:03 <geist> the fairly arbitrary benchmark i have (build the zircon kernel) showed a marginal but mostly imperctable difference on a haswell machine i tested on
19:40:17 <geist> basically nore sys time, but no effect to real time
19:44:27 <geist> well, similar results. it's about a second faster across the entire build (1m1s vs about 59s) and system time went down from 57s to about 52s
19:45:06 <geist> so yeah there's a little bit of a difference there
19:50:01 --- quit: quc (Remote host closed the connection)
19:50:13 --- join: quc (~quc@87.116.237.134) joined #osdev
19:54:48 <geist> also confirmed that KPTI is not enabled on my AMD machines, even with the new kernel
19:55:28 <_mjg> i thought they kept the blanket "don't do kpti on amd"
19:55:33 <graphitemaster> I'm stoked for may and march
19:55:39 <graphitemaster> may is a shit ton of new nintendo games
19:55:45 <graphitemaster> march is silicon valley season 5
19:55:52 <geist> i need to boot this older atom machine and see what it does
19:56:08 <geist> theoretically atoms are not suceptable to it, but i dont think they added a whitelist for that family
19:56:30 <_mjg> did someone benchmark retpoline?
19:56:37 <_mjg> apparently G claims the impact is not high
19:56:38 <geist> and atoms suck so it might hit it harder. OTOH if they already had a weaker/smaller TLB then it may not be as much of a hit
19:59:24 <geist> god every time i look at osnews i wonder why i bother. it's just thom ranting about this or that
20:00:46 * geist reboots server box
20:00:50 --- quit: geist (Quit: leaving)
20:02:43 --- join: geist (~geist@tkgeisel.com) joined #osdev
20:11:24 --- quit: kanzure (Quit: leaving)
20:13:56 --- join: voidah (~voidah@unaffiliated/voider) joined #osdev
20:14:08 --- quit: corecode (Ping timeout: 272 seconds)
20:14:38 --- quit: adam4813 (Quit: Connection closed for inactivity)
20:16:46 --- quit: sinetek__ (Read error: Connection reset by peer)
20:17:25 --- join: sinetek_ (~sinetek@modemcable018.210-57-74.mc.videotron.ca) joined #osdev
20:18:49 --- quit: Belxjander (Ping timeout: 240 seconds)
20:24:50 --- join: Belxjander (~Belxjande@sourcemage/Mage/Abh-Elementalist) joined #osdev
20:25:13 --- quit: doug16k (Remote host closed the connection)
20:50:01 --- quit: quc (Remote host closed the connection)
20:50:13 --- join: quc (~quc@87.116.237.134) joined #osdev
20:51:53 --- join: aosfields_ (~aosfields@71.194.3.30) joined #osdev
21:03:19 --- quit: quc (Ping timeout: 268 seconds)
21:06:48 <m712> any documentation for the ICWs of 8259 PIC?
21:07:35 <geist> have you looked into 8259 docs? you should be able to find em on the internet
21:07:48 <m712> i think i found one
21:07:52 <geist> search for 8259 doc, the first hit is a pdf of the original chip
21:08:02 <m712> from intel-assembler.it
21:08:11 <geist> http://heim.ifi.uio.no/~inf3151/doc/8259A.pdf is a good one too
21:08:14 <geist> since it's the original chip
21:08:46 --- join: dlblv (~dlblv@ppp91-77-77-173.pppoe.mtu-net.ru) joined #osdev
21:09:14 <m712> thank you
21:09:24 <m712> ah, it's what i found
21:09:25 <Mutabah> Reading the original chip docs is often quite interesting
21:09:34 <geist> yeah recommend it
21:09:39 <Mutabah> IDE/ATA is a pretty interesting read from an architectural view
21:09:54 <geist> yeah exactly. it sort of demystifies a lot of what seems like archaic nonsense
21:10:09 <geist> as is usually the case, if you look at it in historical context it usually makes a fair amount of sense
21:10:14 --- join: quc (~quc@87.116.231.37) joined #osdev
21:10:41 <geist> iirc pci-dma mode is kind of that way, since iirc it's an interesting extension of ISA dma by having some sort of built in dedicated legacy dma controller, or something
21:11:39 --- quit: daniele_athome (Ping timeout: 276 seconds)
21:11:45 <Mutabah> The realy fun bit is when you look at SATA :D
21:11:56 <m712> hm... the osdev wiki's page sets MCS80/85 mode (ICW4_8086) but the chip doc shows that bit 5-7 of ICW2 is used for the top bits of the 'vector address' (???), what's its purpose?
21:12:05 <m712> i'm thinking of first implementing a tmpfs
21:12:28 <m712> bit 5-7 of ICW1*
21:12:30 <m712> page 11
21:12:50 --- join: daniele_athome (~daniele_a@93-40-14-81.ip36.fastwebnet.it) joined #osdev
21:14:08 <m712> what's 'edge detect logic'?
21:17:44 <m712> oh... scrap what i said
21:17:56 <m712> the comments on the osdev page is weird
21:18:22 <m712> the thing in parantheses is what happens when it's disabled
21:23:19 <m712> i can't understand the difference between edge triggered and level triggered mode
21:23:29 <m712> probably because i know next to nothing about electronics lol
21:23:47 <m712> i've only done software and the occasional pc hardware upgrade
21:25:15 <klange> level-triggered: any time the irq line is high, an irq is issued; you return from your irq without resetting it and it's still high? you get an irq again
21:25:32 <klange> edge-triggered: only when the irq line switches from off to on is an irq raised
21:25:48 <m712> i see, thank you very much
21:26:12 <m712> so i guess level triggered is not really desired to avoid interrupt loops
21:27:24 --- join: babyflakes (uid171740@gateway/web/irccloud.com/x-dgpoxstiaykxiwbe) joined #osdev
21:28:53 <m712> level triggered could help with debugging "edge" cases theough
21:28:58 <m712> ba dumm tss
21:32:29 <latentprion> 8.5/10
21:32:52 <m712> also, can you remap IRQs of devices (not the PIC)?
21:33:05 <m712> a few days ago I tried a nextstep ISO in a VM
21:33:14 <latentprion> Not sure what you mean by remap IRQs of devices
21:33:18 <m712> and in the setup you could remap pretty much any device's IRQ
21:33:39 <latentprion> PCI allows you to remap the PCI links to different pins on the IRQ controller
21:33:42 <m712> latentprion: set sound card's IRQ to X, set IDE drive to IRQ y, etc.
21:33:53 <m712> oh it's PCI's doing?
21:33:59 <latentprion> You can, depending on the bus
21:34:00 <latentprion> yes
21:34:05 <m712> got it
21:34:12 <latentprion> But it requires ACPI
21:34:44 <m712> hm
21:36:49 --- quit: mpascale00 (Quit: mechanist has disapparated...)
21:39:53 <m712> uh... bit 1 in ICW4 is talking about "automatic EOI"
21:39:58 <m712> is it worth anything?
21:45:06 <bcos> At least for slave PIC, it's dangerous
21:47:05 --- join: oaken-source (~oaken-sou@p3E9D2960.dip0.t-ipconnect.de) joined #osdev
21:47:17 --- quit: appa2 (Ping timeout: 260 seconds)
21:50:18 --- nick: jpo_ -> jpo
21:52:28 --- join: caen23 (~caen23@79.118.94.187) joined #osdev
21:52:39 <m712> hmm... it seems like you set the cascading IRQ to something other than IRQ2
21:53:00 <m712> i guess useless in x86 but maybe something else might map it somewhere else?
21:53:33 <geist> i suppose so, if you got some 8259as and wired them up yourself
21:55:11 <m712> wowzers i finally understand how the 8259 works
21:55:20 <m712> I didn't copy paste source code from the wiki
21:55:23 <m712> yay
21:55:35 <latentprion> you go grrrl
21:55:42 <geist> all right!
21:55:42 <latentprion> slaaay
21:55:46 <geist> yeah that's how you do it
21:55:48 <latentprion> yaaassss
21:56:28 --- quit: freakazoid0223 (Quit: Strange women lying in ponds distributing swords is no basis for a system of government!)
21:56:50 <m712> lol thanks
21:56:53 <m712> i try
21:57:11 <m712> i need an arch_initialize_cpu()
21:57:26 <m712> or just arch_init
21:57:33 <m712> that uses header magic
21:58:13 <graphitemaster> realtek sure embraces modern https://i.redd.it/ab9dukdadh901.png
21:58:27 <graphitemaster> sometimes it feels their hardware is best ran on toasters.
21:59:39 <graphitemaster> they're not kidding either http://www.realtek.com.tw/
21:59:41 <bslsk05> ​www.realtek.com.tw: Realtek
21:59:53 <klange> always amusing when a generated page shits out $CURRENT_YEAR for copyright on a page obviously written well over a decade ago
21:59:54 <graphitemaster> on this ultra wide I had to zoom in 750% for it to fill the screen
22:00:17 <graphitemaster> which is hard to do because firefox nightly maxes out at 300%
22:00:24 <graphitemaster> but if you bring up the web console you can go higher
22:00:35 <graphitemaster> webrender just shits the bed tho and tils start to break.
22:01:04 <graphitemaster> klange, except the page is updated :P
22:01:59 <graphitemaster> s/tils/tiles/
22:02:04 <klange> that template says "sure someone's still adding shit in the janky CMS backend, but no one's touched the actual site code since the internet left in 2004"
22:02:13 <klange> intern*
22:03:28 <immibis> graphitemaster: tw stands for toasterware
22:03:28 --- join: xenos1984 (~xenos1984@2001:bb8:2002:200:6651:6ff:fe53:a120) joined #osdev
22:03:52 <graphitemaster> really?
22:03:59 <graphitemaster> that's an established concept?
22:04:09 <graphitemaster> are there more toasterware websites
22:05:01 <graphitemaster> because the non .tw domain is the same http://www.realtek.com/
22:05:03 <bslsk05> ​www.realtek.com: Realtek
22:05:18 <graphitemaster> this is legit just their website
22:05:23 <klange> .tw is the Republic of China (Taiwan) TLD
22:05:53 <klange> Realtek is based out of Hsicnhu in northern Taiwan.
22:06:04 <klange> Hsinchu*
22:06:32 <graphitemaster> klange, you should apply for a job there to fix their website.
22:06:45 --- nick: Kazinsal_ -> Kazinsal
22:06:52 <Kazinsal> There are several dozen things wrong with that sentence
22:06:57 <klange> I think I make a bit more than Realtek would pay for a web developer.
22:07:17 --- quit: epony (Quit: re-installing OS.)
22:07:49 --- quit: bauen1 (Ping timeout: 248 seconds)
22:08:02 <klange> Also kinda busy with establishing enough time on my specialized visa to apply for permanent residency in the east-asian island nation I currently reside in.
22:08:06 <graphitemaster> klange, judging by how frugal they've been with their current website I imagine they have some reserve you can dip into.
22:11:13 <graphitemaster> oh derp
22:11:20 <graphitemaster> I forgot you're in Japan not China.
22:11:47 <graphitemaster> cue the "it's racism if you thinkt they're the same thing"
22:11:48 <klange> Even if I were in China, Taiwan is not "China".
22:12:26 <klange> And confusing the two is worse than racism, it's Contentious International Relations.
22:12:56 --- quit: Belxjander (Ping timeout: 265 seconds)
22:12:57 <graphitemaster> I will admit, my knolwedge on anything outside the anglosphere I know literally fuck all about so I just consider everything not canadian, american or mexican as europeans or asians
22:12:58 <Kazinsal> Yeah I mean confusing the two Koreas is a bad thing but confusing the two Chinas is Banned From China level shit
22:13:28 <graphitemaster> so germans and britans get mixed together as much as japanese and chinese people do too.
22:14:42 --- join: Belxjander (~Belxjande@sourcemage/Mage/Abh-Elementalist) joined #osdev
22:14:53 <graphitemaster> there's just too many countries and cultures and races it's basically impossible not to be racist.
22:14:54 * bcos wonders if Trump has attacked North China yet...
22:15:30 <graphitemaster> bcos, you mean "shithole" countries as he calls them?
22:17:01 <sinetek_> Is Haiti really a shining beacon of anything?
22:17:46 --- join: epony (~nym@77-85-133-5.ip.btc-net.bg) joined #osdev
22:18:09 <bcos> sinetek_: Haiti is a very nice OS! :-)
22:18:33 <bcos> (best BeOS clone I've seen..)
22:18:59 --- quit: epony (Max SendQ exceeded)
22:19:14 <klange> boo, hiss, *throws vegetables*
22:19:35 <graphitemaster> klange, maybe start by throwing the wheelchair first
22:19:40 <graphitemaster> fucking sicko.
22:19:49 --- join: epony (~nym@77-85-133-5.ip.btc-net.bg) joined #osdev
22:20:06 <Kazinsal> damn what subreddit did you drag that joke out of
22:20:31 * geist points at people and then the door
22:20:48 <graphitemaster> Kazinsal, /r/darkhumor4peoplewhoareactuallydepressed
22:21:01 <Kazinsal> should be noted that I find it really possible to not be racist, simply by not being a fucking racist
22:21:13 <Kazinsal> good tips for those who aren't shit people
22:21:37 <graphitemaster> Ah yes the infamous, it's so easy not to be an asshole, just don't be an asshole technique.
22:21:59 <Kazinsal> the rest of the world is sorry it's so hard for you to be a decent human
22:22:13 <sinetek_> Good luck with residency in Asia.
22:22:36 <sinetek_> Granted Japan is way more lenient
22:22:52 <klange> I'm on track to apply in November.
22:22:59 <sinetek_> neat.
22:23:02 <Kazinsal> rad
22:23:41 <sinetek_> Then you can be a true sarariman
22:23:51 <graphitemaster> Is your decision of becoming a citizen because you no longer want to live in the US?
22:24:04 <klange> Permanent residency is not citizenship.
22:24:06 <graphitemaster> Or is it because you view Japan as being superior to the US
22:24:15 <Kazinsal> Japan's on my list of places to visit for the observational experiences one day but I don't know any Japanese yet
22:24:29 <sinetek_> It's close, often the difference is you can't vote and they can kick you out if you don't use it.
22:24:55 * geist finally read about 'no' the other day. the japanese no
22:25:02 <klange> の
22:25:07 <geist> always wondered why you see so many nos in titles. it's an interesting word
22:25:11 <sinetek_> The Japanese don't say 'no'
22:25:14 <sinetek_> Oh, the particle
22:25:25 <geist> basically glues two nouns together, in a guess a context-dependent way, right?
22:25:43 <klange> it's like the possessive "'s" or a backwards "of"
22:25:48 <graphitemaster> So if the Japanese don't say no. How do they get out of having to do something?
22:25:51 <Kazinsal> that's my understanding
22:25:54 <klange> or ->
22:26:01 <geist> yah
22:26:11 <sinetek_> graphitemaster, they don't lol
22:26:13 <geist> the example was something like 'my name' is something like 'i no name'
22:26:14 <geist> or whatnot
22:26:24 <graphitemaster> So in Japan you must always do what people ask of you?
22:26:27 <sinetek_> Yes.
22:26:32 --- quit: am2on (Ping timeout: 264 seconds)
22:26:36 <sinetek_> Or weasel out
22:26:41 <hmmmm> #osdev has becom waboo cenral
22:26:55 <Kazinsal> man if you're gonna attempt low-rate insults at least spell them right
22:26:56 <geist> hmmmm: i'm just trying to drive it into some sort of at least vaguely interesting topic
22:27:01 <bcos> graphitemaster: It's part of their rape prevention stategy..
22:27:09 <geist> vs just folks being generally racist about shit
22:27:21 <graphitemaster> I'm actually really confused and concerned for Japan now.
22:27:22 <hmmmm> can we start talking about floppy drive bootloaders ad nauseam again!?
22:27:33 <klange> who still has a floppy drive?
22:27:39 * geist raises hand
22:27:45 <hmmmm> apparently that guy who comes on here to troll about them
22:27:46 * bcos raises 4 hands
22:27:47 * wcstok raises hand too
22:27:49 <Kazinsal> yeah I've got a USB somewhere around here
22:27:52 <hmmmm> i forget his nick
22:28:02 --- join: am2on (am2onataun@gateway/shell/matrix.org/x-ozmyvmlqfqicztoj) joined #osdev
22:28:02 <Kazinsal> don't have an internal one handy
22:28:13 --- join: k4m1 (~k4m1@82-181-0-34.bb.dnainternet.fi) joined #osdev
22:28:15 * bcos even has the old 5.25 inch thingies
22:28:34 <geist> i've got a few old PCs that have 3.5" and one with a 5.25"
22:28:50 <graphitemaster> sinetek_, So in Japan being direct is seen as disrespectful? You must always uphold this idea that you're available when ever for what ever, regardless of context and if you don't want to do something. Instead of being direct with someone you have to lead them on and flake out, that seems extra harsh.
22:28:51 --- join: Pessimist (~Pessimist@78-61-54-57.static.zebra.lt) joined #osdev
22:28:51 --- quit: Pessimist (Changing host)
22:28:51 --- join: Pessimist (~Pessimist@unaffiliated/pessimist) joined #osdev
22:29:16 <klange> graphitemaster: Actually... kinda yeah, that's pretty true.
22:29:17 <Kazinsal> regrettably neither of my macs have floppies, though I think OS X dropped support for MFS at some point early on
22:29:32 <sinetek_> graphitemaster, to be more correct, there's the sato (outside) and the nai (inside).
22:29:44 <geist> i used to have a little usb floppy drive that i had around, but i think i discovered it was flaky, or at least wasn't as good at reading old disks
22:29:54 <klange> tatemae
22:29:59 <sinetek_> graphitemaster, when outside you have to preserve harmony etc. when inside do whatever the fuck
22:30:00 <hmmmm> and honne
22:30:00 <geist> oh oh, i forgot, i have an old 90s Roland keyboard with a floppy drive in it
22:30:12 <Kazinsal> oh that is all kinds of rad
22:30:14 <hmmmm> i heard somewhere that they're super lenient with that for foreigners
22:30:27 <graphitemaster> I would feel like a _worse_ person leading someone on and then flaking out than just straight up saying no. That's like sociopathic territory where you wouldn't feel bad for doing that
22:30:31 <sinetek_> Ya that's called the gaijin smash
22:30:37 <sinetek_> lol
22:30:37 <klange> geist: ha, my keyboard has Bluetooth :)
22:30:48 <hmmmm> i thought japan would be a cool place to live in for a while but i changed my mind
22:31:22 <klange> https://i.imgur.com/kCFKWfM.jpg
22:31:27 <graphitemaster> Honestly it sounds like Japan has a huge opressive culture where people can't really express themselves or be direct and open.
22:31:33 <sinetek_> I never lived much in Japan but I was part of an expat community in another Asian country.
22:31:42 <graphitemaster> Without it being seen as a sign of disrespect and getitng in trouble for it.
22:32:19 --- quit: aosfields_ (Ping timeout: 240 seconds)
22:32:26 <Kazinsal> klange: not gonna lie I'm more impressed by the photo quality of the camera you used for that than the keyboard itself
22:32:46 <geist> klange: btw jkust watched Land of the Lustrous the other day. really pretty show
22:32:53 <graphitemaster> I say no to shit on a daily basis. I'm sure if I tallied up the things I say yes to and no to in a single day. The yes sheet would have like maybe 5 ticks and the no sheet would have 400 ticks.
22:32:54 <geist> i have some faith that CGI anime has a future
22:33:00 <sinetek_> graphitemaster, IMO that's kinda true, if you look at the suicide problems in that forest..
22:33:05 <sinetek_> And other society ills in Japan
22:33:26 <sinetek_> But it's changing like any place ..
22:33:47 <geist> hey speaking of japan and osdev. TRON. discuss.
22:33:58 <graphitemaster> original tron?
22:34:01 <graphitemaster> or remake tron
22:34:03 <Kazinsal> cryptocurrency is bad
22:34:12 <sinetek_> Wat.
22:34:21 * geist is unsure if graphitemaster is joking or not
22:34:30 --- join: bauen1 (~bauen1@ip5f5bfcbd.dynamic.kabel-deutschland.de) joined #osdev
22:35:31 <graphitemaster> geist, well sorry I can't tell you if you're right or wrong because that would be seen as a sign of disrespect.
22:35:43 <Kazinsal> Apparently people are already attempting scam websites based off the fact that the official website has a .network gTLD
22:35:45 <graphitemaster> you must embrace your decision
22:36:07 <sinetek_> It was worse before tho
22:36:16 <sinetek_> North Korea is basically imperial japan
22:36:46 <geist> graphitemaster: https://en.wikipedia.org/wiki/TRON_project
22:36:46 <bslsk05> ​en.wikipedia.org: TRON project - Wikipedia
22:36:53 <geist> was attempting to steer this thing back towards osdev
22:37:23 <Kazinsal> oh heh, there's a ~blockchain~ thing making waves recently called TRON
22:37:24 <sinetek_> failure
22:38:05 <graphitemaster> geist when one takes control of the wheel, one must be prepared for the possibility of an accident.
22:38:39 * geist swings the blockchain and smacks graphitemaster
22:39:21 <MDude> I wonder if OS documentation would be suitible material for Duolingo.
22:39:29 <graphitemaster> I'm impressed cryptocurrencies are not straight out illegal at this point in time. Didn't we just dicover that all this pointless mining is actually a significant waste of power and is contributing to the energy crysis problems and more importantly, global warming
22:39:37 <graphitemaster> it should be seen as a global threat.
22:39:43 --- quit: garit (Ping timeout: 264 seconds)
22:40:11 <geist> so is social media
22:40:19 <graphitemaster> yes please
22:40:39 <MDude> I mean, no more than any other waste of computer resources would be made illegal.
22:40:55 <graphitemaster> The problem is the _craze_.
22:41:18 <graphitemaster> if you told people you could make a lot of money being a social media person...
22:41:22 --- quit: pictron (Ping timeout: 268 seconds)
22:41:25 <graphitemaster> Imagine the damage that would be done.
22:41:29 --- join: eremitah_ (~int@unaffiliated/eremitah) joined #osdev
22:41:30 <Kazinsal> The r oot of this problem is simple - humans are terrible and what seems like a very small number of people want that to change
22:41:44 --- quit: isd (Quit: Leaving.)
22:41:46 <geist> well, got thismachine upgraded to high sierra
22:41:50 <graphitemaster> maybe if everyone spent all their time making an operating system
22:41:54 <geist> it has only crashed once in the last hour, so that's nice.
22:42:06 <sinetek_> Bitcoin > people
22:42:25 <Kazinsal> My local Mac evangelist keeps mentioning the number of High Sierra security updates he's had to do in the past month
22:42:25 --- quit: eremitah (Disconnected by services)
22:42:26 --- nick: eremitah_ -> eremitah
22:42:27 <sinetek_> graphitemaster, if you want interesting food for thought, check out the concept of "paperclip maximizer"
22:42:42 <Kazinsal> Like, do Mac folks just not update your system regularly or something
22:42:46 <geist> Kazinsal: i was putting it off, but because of kpti fixes it's now mandated on corporate macs
22:42:49 <geist> so finally did it
22:43:02 <sinetek_> https://wiki.lesswrong.com/wiki/Paperclip_maximizer
22:43:03 <bslsk05> ​wiki.lesswrong.com: Paperclip maximizer - Lesswrongwiki
22:43:04 <graphitemaster> geist, congrats on using an apple product created by people who work for less than minimum wage in a sweat shop designed to keep them from killing themselves (like nets from high jumpers and padded break rooms), how do you feel as a consumer?
22:43:15 <geist> oh i was totally happy running the previous version, because by all accounts high sierra has been a total shitfire on my personal mac
22:43:28 <geist> graphitemaster: uh. not going to work?
22:43:37 <Kazinsal> Yeah I've heard mixed things about High Sierra
22:43:40 <geist> i have actually *personally* been to the sweatshop
22:43:42 <sinetek_> Heh that's why I Hackintosh.
22:43:52 <sinetek_> My Mac is a Dell
22:43:54 <Kazinsal> geist: personally I think it'd be saner to just remove the root of our recurrent problems here
22:44:05 --- join: zwliew (uid161395@gateway/web/irccloud.com/x-ziqfazygrkwqktak) joined #osdev
22:44:08 <geist> i worked for the company and was visiting Shenzhen the week that guy jumped off the roof in 2006
22:44:12 <geist> so i know a little bit about it
22:44:29 <geist> and you can bet there was some shit going down within the company about it
22:44:48 <Kazinsal> I always love Apple's high end displays. I don't know who OEMs them but they're so lovely
22:45:15 <Kazinsal> If I were more interested in hi-dpi I'd be very interested in picking one up
22:45:15 <geist> guess where all the other laptops on the planet are made? same damn place. probably foxconn
22:45:36 <graphitemaster> hi-dpi displays are actually really shitty to create uis for.
22:46:08 <sinetek_> Afaik apple displays are korean
22:46:26 <sinetek_> Afaik most displays on the planet are made in korea
22:46:27 <geist> LG definitely makes a lot
22:46:52 <geist> a long time ago i remember hearing some story about that, and why there are no LCD manufacturers in the US
22:46:55 <Kazinsal> Yeah between LG's IPS and Samsung's PLS technologies that covers a lot of it
22:47:03 <graphitemaster> (by really shitty I mean solving the human problem of "is this text readable") mostly because as far as I know the only metrics you can get from a panel are it's native resolution (and other resolutions it supports (display modes)) and it's native DPI
22:47:16 <graphitemaster> there's no standard for PHYSICAL DISPLAY SIZE
22:47:26 <graphitemaster> or VIEWER DISTANCE TO DISPLAY
22:47:30 <geist> some early tariff thing completely killed the market, all the LCD stuff is in asia, and thus all machines are assembled there because it's cheaper to put them together and import as a complete product
22:47:40 <geist> than bring in the parts (pay a tariff on it) and then assemble it
22:48:03 <geist> sometimes stuff is shipped to mexico, assembled there, and then imported into the US via nafta
22:48:13 <sinetek_> Put another way, USA is very far from everything else.
22:48:38 <sinetek_> And for reasons USA killed its manuf sector
22:48:53 <graphitemaster> which also explains why most displays are the same price everywhere too. You don't see as much of a savings on an LCD panel on say newegg than you would at a local bestbuy.
22:49:00 <geist> right. of course cheap labor is very quickly getting much more expensive in china. lots has changed in the last 10 years
22:49:10 <Kazinsal> Yep
22:49:34 <geist> i actually haven't been paying attention to where most of the cheap tech labor is moving towards. southeast asia?
22:49:47 <sinetek_> Yeah Cambodia probably
22:49:48 <geist> you dont hear about thialand or whatnot anymore for that sort of thing. maybe the unstable govt has nixed that
22:50:06 <Kazinsal> think so -- every time there's a big flood in SEA the prices of everything tech goes up for a couple months
22:50:52 <geist> i think so too
22:51:50 <geist> basically if you want cheap shit you gotta find cheap labor somewhere. apple is no worse than any other one
22:52:04 <sinetek_> It's crazy how rich South Korea has gotten
22:52:06 <geist> if anything they're probably a bit better about it because they want to at least maintain some sort of image
22:52:15 <Kazinsal> yeah I think these days apple is one of the better-
22:52:16 <Kazinsal> yeah that
22:52:21 <sinetek_> Until 1970's they had the same kinda GDP/capita as north korea
22:55:09 <sinetek_> Another way to cut prices is to use crappy tech made locally
22:55:14 <sinetek_> Like that Chinese MIPS CPU
22:55:24 <sinetek_> They could make those for pennies compared to licensing ARM
22:55:51 <geist> yah also supply chain for a complex product is *hard* to police
22:56:06 <geist> you are dealing with hundreds of suppliers potentially, and some of those branch out to other source ones
22:56:32 <geist> when you are building a bazillion of a thing you also many times simply dont have the luxury of picking and choosing
22:56:43 <geist> you end up buying all the demand for a thing, and multi-source bits
22:57:06 <sinetek_> If you're building a bazillion you get to decide whatever
22:57:15 <sinetek_> See for example apple with their weird screws and nonstandard shit
22:57:16 <geist> not if you're building *all* of something
22:57:50 <geist> oh screws sure, but even that you have to be very careful. you have some supplier that starts up a factory for you, you had better get some other suppliers with the same part
22:58:22 <sinetek_> Or the lightning connectors. Who the fuck make these
22:58:24 <Kazinsal> yeah a shortage of the non-standard screws you invented for <thing> would be disastrous to production
22:58:37 <geist> otoh it also locks them into committing to make it for you
22:58:47 <geist> vs it being a commodity part that you have to compete with other companies for
22:59:07 <Kazinsal> I think the Lightning connectors and chips are all made by Foxconn
22:59:22 <geist> most likely. foxconn is *big*
22:59:31 <sinetek_> So they could just like. Jack prices up randomly
22:59:34 <Kazinsal> yeah they have factories all over the place
22:59:35 <sinetek_> And apple would be SOL
22:59:44 <geist> oh no, you sign some sort of multi year agreement there
22:59:53 <geist> commit billions up front for the supply chain
22:59:53 <Kazinsal> these are all reallllllly big contracts
23:00:19 <geist> aaaand there we go. it's locked up again
23:00:45 <Kazinsal> what Mac is it?
23:01:08 <geist> 2015 15" mbp
23:01:10 <sinetek_> Apple logistics must be quite something
23:01:25 <geist> sinetek_: oh you wouldn't believe. it's amazingly top notch
23:01:47 <geist> that's really what they excel at if anything else. their logistics, supply chain, mechanical engineering, etc is phenomenal
23:01:47 <Kazinsal> oh man yeah my coworker had the same issue on his 2015 mbp actually
23:01:49 <sinetek_> Imagine the average crap android phone maker with a thousand models they offer, must be hell
23:01:55 <sinetek_> Apple sticks to like 10 products max
23:01:58 <Kazinsal> he did an SMC reset and that solved it
23:02:07 <geist> Kazinsal: what was his specific problem?
23:02:14 <geist> lock up randomly or lock up while doing something?
23:02:20 <Kazinsal> freezes every couple hours after upgrading, even idle
23:02:43 <geist> hmm, i'll reboot it here in a sec and just leave it alone, see if it wedges on its own
23:02:58 <geist> this isn't really a wedge, it's just a beachball on terminal, and no other apps stats or stops
23:03:11 <geist> but the window manager is working. i can drag around windows that are alive
23:03:12 <Kazinsal> hmm. interesting
23:03:28 --- join: garit (~garit@94.197.121.78.threembb.co.uk) joined #osdev
23:03:28 --- quit: garit (Changing host)
23:03:28 --- join: garit (~garit@unaffiliated/garit) joined #osdev
23:03:45 <Kazinsal> if it were the 90s again I'd say "zap the PRAM" but I don't even know if that's still a thing
23:04:24 <geist> actually i have another theory. i had top and the activity monitor running
23:04:34 <geist> and in both cases the last thing they displayed was garbage. 0 memory in use, etc
23:04:43 <Kazinsal> oh wow PRAM zapping is still a thing
23:04:45 <geist> could be a bug that wedges up the kernel when it is iterating over resourcse to display it
23:04:54 <Kazinsal> same dang key combo to do it too
23:05:37 <sinetek_> If you want to lock up High Sierra, try compiling the netbsd base with it.
23:05:47 <sinetek_> For some reason it locks up the filesystem layer
23:06:23 <geist> yeah or it's a fs thing, which is somewhat likely because high sieera switches over to APFS
23:06:31 <sinetek_> (Clearly on APFS)
23:06:46 <sinetek_> I haven't tried yet on a pure case sensitive volume tho
23:06:51 <sinetek_> Should do that tomorrow
23:07:07 <sinetek_> Well, container.
23:07:10 <geist> in this particular case i'm still using a sparse disk image with HFS case sensitive on top of APFS
23:07:31 <geist> on my personal mac i switched over to creating another apfs volume that's case sensitive and calling it 'src'
23:07:48 <geist> which seems to work okay. APFS has the usual can-create-multiple-subvols thing
23:08:05 <sinetek_> APFS has worked pretty well for me -- barring the netbsd cross-compile vfs hangup
23:08:09 <Kazinsal> I need to read up on APFS and see what it's all about
23:08:21 <sinetek_> It's cool that the containers are sparse tho
23:08:22 <geist> i was just poking around to see if anyone has yet to start decoding it
23:08:22 --- quit: Pessimist (Remote host closed the connection)
23:08:31 <geist> it was designed and implemented by my old buddy from the BeOS days. dbg
23:08:35 <sinetek_> So you can finally use Steam on your case-sensitive system
23:08:39 <geist> he was my first manager at Be actually
23:08:41 <sinetek_> In theory, haven't tested it really
23:08:44 <Kazinsal> oh neat
23:08:57 <geist> same guy that did BFS for BeOS
23:09:55 <sinetek_> Ja some folks have reverse a bit of APFS
23:10:25 <geist> knowing dbg, i wouldn't be surprised if they dont release docs about it at some point
23:10:32 <sinetek_> It's not very interesting actually. Just a small iteration to fix the horror that HFS was
23:10:34 <geist> he's good about that. it'd mostly be whether or not they'd allow him
23:10:53 <geist> oh yeah? it should be fairly different, being that it's COW, supports snapshotting, etc
23:11:06 <geist> i generally assumed it was a zfs/btrfs style thing
23:11:32 --- join: curiosity_freak (~naveen@157.50.8.122) joined #osdev
23:12:28 <curiosity_freak> what is i/o interface ? we need to write a driver for i/o interface?
23:12:54 <sinetek_> zfs is way more powerful tho. Data checksumming, dedup, streaming
23:12:55 <curiosity_freak> i am confused about , i/o interface , memory mapped io , port mapped io
23:13:15 <Kazinsal> zfs with all the neat doodads turned on is a massive resource sink
23:14:21 <Kazinsal> I did a bit of solaris/zfs stuff a couple years back on some not too powerful machines and as soon as the features started being enabled the performance just sank
23:15:12 <sinetek_> Yeah it needs some analysis
23:15:16 <geist> i donit see any rsource for it in https://opensource.apple.com/release/macos-1013.html
23:15:19 <bslsk05> ​opensource.apple.com: macOS 10.13 - Source
23:15:39 <sinetek_> Apfs is closed source lol
23:15:47 --- quit: curiosity_freak (Client Quit)
23:16:42 <geist> Kazinsal: yeah i remember it requiring a substantial amount of memory (for the time)
23:16:52 <geist> not sure what it was doing except maybe caching some large chunk of the data structure
23:17:07 <Kazinsal> dedup just chews memory for some reason
23:17:34 <sinetek_> The thing is zfs builds its own allocator .... It bypasses the OS's
23:17:49 <sinetek_> Think of a VM that eats up N GB of RAM at once
23:18:24 <Kazinsal> as soon as you start turning features on, the zfs allocator asks the kernel for another big chunk of committed memory
23:18:42 <sinetek_> It just works differently. Puts as much shit at it can in its cache
23:20:08 <Kazinsal> it reminds me of how Quake allocated a bunch of memory and then once in a while would algorithmically touch each page so the kernel wouldn't page any part of the game out to disk
23:24:02 <sinetek_> interesting
23:24:47 <sinetek_> Doom 3 basically got a malloc( 1 gb ) call to get a chunk of mem
23:24:54 <sinetek_> Then builds its own malloc
23:25:00 <Kazinsal> yeah it does something really weird but sensible in the context of the page manager it was trying to outsmart (Win95)
23:25:24 <Kazinsal> it touches a page, then the page 16 ahead, then back 15, ahead another 16, etc
23:26:13 <sinetek_> Was it quake that used the float-as-int optimization for 1/(n^2)
23:26:13 <Kazinsal> the Win95 page manager tracked sequential pages and if you were touching more than 16 pages in a row, it'd start paging out the ones you touched at the beginning as you touched more sequential pages
23:26:46 <Kazinsal> Q_rsqrt was Quake III
23:28:13 <garit> sinetek_: 1/n^0.5
23:28:56 <sinetek_> Ah right, 1/n^1/2
23:29:59 --- quit: Raito_Bezarius (Ping timeout: 256 seconds)
23:34:06 --- quit: wcstok (Read error: Connection reset by peer)
23:36:23 --- quit: Belxjander (Ping timeout: 248 seconds)
23:37:48 --- join: Belxjander (~Belxjande@sourcemage/Mage/Abh-Elementalist) joined #osdev
23:40:43 --- quit: sinetek_ (Quit: Leaving)
23:47:57 <Kazinsal> Huh. Interesting. The Amiga executable format has chunk type for 26-bit code segments.
23:48:04 <Kazinsal> has a chunk type*
23:48:35 <Kazinsal> I don't remember ever seeing any Amiga stuff on early ARM
23:50:15 <geist> yeah was gonna say, that's got arm v1 all over it
23:50:36 <geist> though.... i think early 68k had some sort of similar thing
23:52:34 <Kazinsal> wouldn't surprise me. 68k had a bunch of odd little features
23:53:08 <geist> original 68k i think only had a 24 bit bus, it wasn't until 020 that it got a proper 32bit
23:53:23 <geist> and of course 030 until it got an integrated mmu
23:54:30 <Kazinsal> hmm, looks like the 010 made some special register movs into privileged instructions and added base address register for the trap table
23:54:53 <geist> yep. 010 was well known to be a fix for the fact that some exceptions in 000 were fatal
23:55:15 <geist> folks were trying to build workstations and whatnot with external mmus on early 68k since it was such a nice architecture
23:55:26 <geist> but 000 didn't let you functionally build a page fault handler
23:55:51 <geist> so in general 010 was a bugfix to fix a few bugs in the design to let you build a proper paged user/supervisor machine
23:57:55 <geist> one of these days i'd like to build a little 68k machine out of parts. they're fairly ubiquituous, and event he 020 comes in a fairly usable square chip
23:59:34 <geist> there was a mini pattern there that the even numbered ones were new designs and odds were optimizations, though of course the pattern was repeated a few times
23:59:49 --- quit: Belxjander (Ping timeout: 240 seconds)
23:59:59 --- log: ended osdev/18.01.11