#milkymist IRC log for Saturday, 2012-03-17

wpwrak_back from the dead ...09:22
wolfspraul:-)09:23
wpwrak_wolfspraul: about the USB adapter: with the USB connector pointing upward, it won't be much fun. you'll need some angled element, either in the adapter itself, or between M1 and adapter (the latter being messy)09:23
wolfsprauloh, I didn't mean to point to that one because of any specific use case09:23
wolfspraulbut I simply ran into it and saw the 2*5 keyed connector and thought "wow, would that fit on R4?"09:24
wolfspraulas I'm not 100% sure about 'standard' there yet09:24
wolfspraulUSB 3.0 will change some things, and I noticed higher maximum currents as well recently09:25
wpwrak_that adapter would fit, yes09:25
wolfspraulI think USB 3.0 allows 900mA / port, and there seem to be 'high-current' ports even before that I have seen labeled as "1.3A high-current USB port"09:25
wpwrak_i think they're pretty much all the same. well, there must be *SOMEONE* who did their own thing. but ... :)09:26
wolfspraulI wouldn't be so sure about that, it's all in motion09:26
wpwrak_i mean < USB 3. USB 3 may be more troublesome09:26
wolfspraulsure, and it's not relevant to us right now, but I am just noticing these changes then we can think of where that might drive any standards, informal or not09:27
wpwrak_i suspect they made USB 3 mainly because USB 2 worked too well ...09:27
wolfspraulI noticed higher currents here and there, 900mA and 1.3A09:27
wpwrak_oh, the craving for more current will never stop :)09:27
wolfsprauland if you look at the picture of that startech adapter closely, you will see "via/asus/gigabyte" marking on it09:28
wpwrak_in 20 years we'll have USB 7 with a connector < 1 mm^2 but delivering 20 A ;-)09:28
wolfspraulwhy that?09:28
wolfspraulthey are all taiwanese corps. so we could see what the mainlanders are doing, on lenovo boards for example09:28
wpwrak_they probably all copy from intel :)09:29
wolfspraulthey may very well not follow and do their own thing, and over time they may create enough volume to influence informal standards just because of their volume09:29
wolfspraulI don't think these connectors are standardized, at best informally09:29
wpwrak_(more current) because there's always one more thing that wouldn't need its own power supply if USB could just provide a little more ...09:29
wolfspraulbut anyway, if the planned R4 connector fits with that one I ran into, I'd say we are on a good path09:29
wolfspraulat least not totally unreasonable NIH syndrome09:29
wpwrak_and sooner or later, battery charging will speed up, too. and up goes the current09:30
wolfspraulI will keep an eye on lenovo/mainland, usb3, and higher currents. but just remotely, I think the R4 usb strategy is solid09:30
wolfspraulwe do what we need and what helps us now, and luckily don't have to catchup with this or that industry trend09:31
wpwrak_yes, i think we're perfectly mainstream there09:31
wpwrak_all we need to find/make now is an adapter09:31
wolfsprauloh, the koreans and japanese may have their own informal standards as well, but I think we can safely skip over those :-)09:31
wpwrak_the startech one is pleasantly simple. just two connectors. not even a cap to make it look more important ;)09:32
wpwrak_maybe sony ...09:32
wolfspraulyeah but I won't look there, just saying. maybe lenovo if I get to it.09:33
wolfspraulthose headers are big, I doubt anything even close would be found on a notebook mainboard. and then I doubt whether there is much desktop mainboard production left in Korea and Japan at all.09:34
wpwrak_maybe some all-in-one pc. and yes, that's not really laptop technology. let alone tablet, etc.09:36
qi-botThe firmware build was successful, see images here: http://fidelio.qi-hardware.com/~xiangfu/build-milkymist/milkymist-firmware-20120317-1455/15:34
Action: Fallenou is turning crazy trying to make mmu dtlb tests pass ...16:15
FallenouI have something like map(vaddr,paddr); activate_mmu(); read/write disactivate_mmu(); printf("test n°%d", i); if (something) puts("PASS"); else puts("FAIL");16:16
Fallenouit prints "t" and then the SoC crashes ...16:16
wpwrakmaybe it crashes on the (something)16:17
wpwrakor are you sure there is no serial buffer, or if there is, it is flushed before you reach the (something)16:18
Fallenousomething is just a test between to "register unsigned int"16:18
Fallenouwhich are written to during the read/write test16:18
Fallenoubetween *two*16:18
wpwrakfor such extreme low-level things, it may make sense to write to serial like this:   while (uart_busy); uart_tx = char;16:19
Fallenouoh yes why not16:19
wpwrakhmm, interesting16:19
FallenouI thought I was hitting an access to something unmapped while mmu activated16:19
Fallenoulike for example receiving an IRQ while mmu activated16:19
wpwrakah yes, that could get messy :)16:20
Fallenouand then irq handler doing things like sw (sp+0), something16:20
wpwrakif you have multiple such tests, then the "t" could also be from an earlier test16:20
Fallenoubut I did something like asm volatile("sw %0, sp" : "=r"(stack) ::); and then map(stack, stack);16:20
Fallenouactually I did a lot of map(a,a); for the entire flash used16:21
Fallenouwpwrak: yes I have 16 tests like this one after the other16:21
Fallenouso the printing could crash while mmu is activated for the next test16:21
FallenouI should push my tests somewhere to let you see :)16:21
Fallenoubut I'm really runing crazy here16:21
Fallenouturning*16:22
Fallenouoh and btw the same *exact* dtlb_load_test() function runs perfectly well on the simulator16:22
Fallenoubut with no irq :)16:22
Fallenouand fake printf(); and puts()16:22
Fallenou(to simulate calli playing with stack and ret)16:22
wpwrakso: disable interrupts and poll the UART16:24
wpwrakor make the MMU work with interrupts :)16:24
Fallenouhttps://github.com/fallen/milkymist-mmu/commit/80185247b9d6cdc39fd6f48a75d3d9a210049ae0 hop16:27
FallenouI run this modified bios, I cancel flickernoise boot with ESC, and I type "dtlbtest" in the prompt16:28
Fallenouand it runs the tests (and crashes ;))16:28
Fallenoutests are generated by mmu_test_gen.c16:28
Fallenoumy guess is : I forgot to map something16:29
Fallenoubut I don't know what =(16:29
wpwrakmmu.c: *inline* void mmu_dtlb_map ? it's "extern inline", so it'll work. but ...16:31
Fallenou17:29 < wpwrak> so: disable interrupts and poll the UART < ah yes I think there are functions to use uart in poll mode16:31
Fallenouoh yes not sure if the inline is usefull here16:32
wpwraki guess you could just make this a standalone program, without bios. your_printf("hello. press ENTER to continue."); your_getchar(); ... test ...16:33
wpwrakthat's about all the BIOS you'd need, no ? ;-)16:33
Fallenouhum yes :p16:33
wpwrakwell, perhaps DRAM setup and such. but in any case not much16:33
FallenouI just need to read/write uart, and init sdram16:34
wpwrakyup16:34
Fallenouas you can see I tried to map all the irq path down to uart_isr() and it's content16:34
Fallenouso that it would not crash16:34
Fallenoubut in vain16:34
wpwrakthe inline does two things: a) since it's "extern inline", the function gets placed in the object file. this would also happen if you removed the "inline". b) any function in the same compilation unit using mmu_dtlb_map is encouraged to inline a copy of it.16:35
wpwraksince there are no other functions in the same compilation unit, b) is kinda moot ;)16:35
Fallenouyes I think inline is totally pointless here16:36
Fallenouin the first place mmu should be disactivated in the isr handler16:37
Fallenouand reactivated afterward16:37
Fallenoumaybe I could try that16:38
wpwrakdoes the LM32 actually have some kind of supervisor mode ?16:40
wpwrak(or "kernel" mode, etc.)16:41
wpwraksomething it would switch to when there's an interrupt, exception, etc.16:41
FallenouI think there is no such thing16:41
Fallenouthere will be a hidden kernel_mode register in the mmu16:42
wpwrakso that's something we'll need, too. to disable/switch the mmu and also to disable things like wcsr16:45
wpwrak(while in user mode)16:45
qi-botThe firmware (using branch) build was successful, checkout the VERSIONS for detail, see images here: http://fidelio.qi-hardware.com/~xiangfu/build-milkymist/milkymist-firmware-20120317-1634/17:14
lekernel_Fallenou: you really should do the tests with simulation first18:03
lekernel_you have very little visibility on the hardware18:04
lekernel_who the hell is Kristen Eisenberg and clones (Ute Bachmeier etc.) ?!18:46
lekernel_seems they repost messages on every single open source project mailing list they can find, e.g. http://seclists.org/nanog/2011/Oct/208 => http://comments.gmane.org/gmane.org.operators.nanog/8995918:47
lekernel_or http://naif.jpl.nasa.gov/pipermail/spice_discussion/2011-September/000346.html18:47
lekernel_time to inaugurate the first ban, I guess ...18:48
lekernel_strange way to spam for a flight booking website18:48
lekerneloh yeah, and our message is here http://comments.gmane.org/gmane.network.mnet.devel/14818:50
larsclekernel: you are in berlin you could visit them and ask them wtf they do19:25
lekerneldo I really want to know ...19:48
larscyou asked19:55
wpwraki think it's pretty clear, no ?20:13
wpwrakthey post comments that aren't trivially identified as spam. and they carry their advertisement.20:14
larscbut why would you include your address, telephone number and e-mail address?20:16
wpwrakmaybe these are the contact details of the shop ?20:17
wpwrakor maybe it's just an address they picked from the telephone book, to make their spam more authentic, and expecting people who are interested to follow the URL anyway20:19
Fallenoulekernel_: I do both, test are passing in simulation20:24
FallenouI was trying to understand why they dont on hw20:25
FallenouI will simplify bios as wpwrak said20:26
Fallenouto use the minimum20:26
Fallenouwithout isr20:26
lekernel_roh: http://www.laser-optics-berlin.de/20:30
lekernel_Fallenou: you know you can run the BIOS in the simulator, right?20:31
lekernel_some simplifications will help, of course20:31
lekernel_and if you use IRQs... of course, an interrupt can fall in the middle of your messing with the TLB, unless you disable interrupts for that time20:32
rohlekernel_: yeah. already found it, but it seems all the talks are with pre-registration20:32
lekernel_in fact a simple modification would be to encapsulate the TLB test code with irq_disable/irq_enable20:32
lekernel_you can still use printf() with the interrupts disabled, it will buffer the data20:34
lekernel_roh: yeah, you need a ticket - or you can just try to crash in, many corporate/academic conferences have lousy security20:36
rohi know *g*20:37
rohsounds quite startrek, but i feel that i'd be quite lost in there20:37
lekernel_he, if you don't try, you'll never learn :)20:37
rohneed to run now. bbl20:38
lekernel_roh: there's also http://berlin12.dpg-tagungen.de/ one week later20:41
rohhm. i dunno. i am really not somebody who likes fairs20:42
rohit usually takes quite some money payed to me to get me there20:43
rohanyhow. need to run20:43
Fallenoulekernel: the soc.v i use for my simulation does not have any uart22:30
Fallenoujust lm32 and sram22:30
Fallenoumaybe i should upgrade22:30
Fallenouto a more complete version of milkymist-ng22:30
kristianpaulno uart? !22:33
lekernelif you fix icarus, you should even be able to simulate and direct it to a pty quite easily :)22:51
kristianpaulor perhaps migen could replace clogb2 in lm32 and provide a generated lm32 that works with icarus as it is :-)23:00
lekernelit's just a problem with clogb2?23:02
kristianpaulfrom icarus.. well thats the first on the list23:02
kristianpaulbut also with some instaciations...23:02
kristianpaulinstansiations*23:02
kristianpaulergh you know :)23:02
GitHub46[migen] sbourdeauducq pushed 1 new commit to master: https://github.com/milkymist/migen/commit/5f281037691419530064eb5e5f50f926ea01064923:16
GitHub46[migen/master] corelogic/fsm: delayed enters - Sebastien Bourdeauducq23:16
GitHub139[milkymist-ng] sbourdeauducq pushed 1 new commit to master: http://git.io/XCEm4g23:18
GitHub139[milkymist-ng/master] asmicon: bank machine (untested) - Sebastien Bourdeauducq23:18
wpwrakan ATM ? that sounds useful. i hope there's a backdoor :)23:26
--- Sun Mar 18 201200:00

Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!