how students can contribute to free software: centrale nantes/openoffice.org education project...
DESCRIPTION
Talk of Eric Bachard (lead of the OpenOffice.org Education Project) and Morgan Magnin (Associate Professor, École Centrale de Nantes) at the Libre Software Meeting 2009 (http://2009.rmll.info/) During academical year 2008-09, a group of students from Centrale Nantes worked on the integration of annotation features in the slideshow module of OpenOffice.org. Two of them (Olivier Girardot and Frédéric Gélot) have become official OOo developers and interact with the other members of OOo team (like Thorsten Behrens). This talk summarizes the fruitful collaboration between Centrale Nantes and OOo Education project and gives guidelines for the contribution of students to free software developments. More information on https://pedagogie.ec-nantes.fr/tablet-pc/ and http://blog.educoo.org/dotclear/TRANSCRIPT
![Page 1: How students can contribute to free software: Centrale Nantes/OpenOffice.org Education Project success story](https://reader034.vdocuments.net/reader034/viewer/2022051610/5485b0d5b4af9f6e0d8b4eeb/html5/thumbnails/1.jpg)
s t at i c voi d s ync_i cache_030( addr _t addr es s , s i z e_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s &( CACHELI NE- 1) ; l en+=of f ; l =l en; p=( char * ) addr es s - of f ; as m vol at i l e ( " nop" ) ; as m vol at i l e ( " mov ec %%cacr , %0" : " =r " ( cac r ) : ) ; c acr | =0x00000004; / ** / do{ as m vol at i l e( " movec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmov ec %0, %%caar \ nmov ec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CACHELI NE; } whi l e ( ( l - =CACHELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( v oi d*r t ){ l ong_page_di r ect or y_ent r y ent r y; * ( ui nt 64* ) &ent r y=DFL_PAGEENT_VAL; ent r y . t ype=DT_ROOT; ent r y . addr =TA_TO_PREA( ( ( addr _t ) r t ) ) ; as m v ol at i l e( " pmove ( %0) , %%s r p\ npmove ( %0) , %%cr p\ n" : : " a" ( ( ui nt 64* ) &ent r y ) ) ; } s t r uct m68k_vm_ops m68030_vm_ops ={ _m68k_t r ans l at i on_map_get _pgdi r , m68k_vm_t r ans l at i on_map_i ni t _map, m68k_vm_t r ans l at i on_map_i ni t _ker nel _map_pos t _s em, m68k_vm_t r ans l at i on_map_i ni t , m68k_vm_t r ans l at i on_map_i ni t _pos t _ar ea, m68k_vm_t rans l at i on_map_i ni t _pos t _s em, m68k_vm_t r ans l at i on_map_ear l y_map
How students can contribute to free
softwareOpenOffice.org success story
Eric Bachard (OOo) | Morgan Magnin (Centrale Nantes)
[email protected] | [email protected] http://education.openoffice.org | http://tinyurl.com/magnin-ecn
![Page 2: How students can contribute to free software: Centrale Nantes/OpenOffice.org Education Project success story](https://reader034.vdocuments.net/reader034/viewer/2022051610/5485b0d5b4af9f6e0d8b4eeb/html5/thumbnails/2.jpg)
s t at i c voi d s ync_i cache_030( addr _t addr es s , s i z e_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s &( CACHELI NE- 1) ; l en+=of f ; l =l en; p=( char * ) addr es s - of f ; as m vol at i l e ( " nop" ) ; as m vol at i l e ( " mov ec %%cacr , %0" : " =r " ( cac r ) : ) ; c acr | =0x00000004; / ** / do{ as m vol at i l e( " movec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmov ec %0, %%caar \ nmov ec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CACHELI NE; } whi l e ( ( l - =CACHELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( v oi d*r t ){ l ong_page_di r ect or y_ent r y ent r y; * ( ui nt 64* ) &ent r y=DFL_PAGEENT_VAL; ent r y . t ype=DT_ROOT; ent r y . addr =TA_TO_PREA( ( ( addr _t ) r t ) ) ; as m v ol at i l e( " pmove ( %0) , %%s r p\ npmove ( %0) , %%cr p\ n" : : " a" ( ( ui nt 64* ) &ent r y ) ) ; } s t r uct m68k_vm_ops m68030_vm_ops ={ _m68k_t r ans l at i on_map_get _pgdi r , m68k_vm_t r ans l at i on_map_i ni t _map, m68k_vm_t r ans l at i on_map_i ni t _ker nel _map_pos t _s em, m68k_vm_t r ans l at i on_map_i ni t , m68k_vm_t r ans l at i on_map_i ni t _pos t _ar ea, m68k_vm_t rans l at i on_map_i ni t _pos t _s em, m68k_vm_t r ans l at i on_map_ear l y_map
Centrale Nantes: key figures
● Member of the Group of Ecoles Centrales
● Combines three activities: – Education – 1350 students
● Graduate general engineering program (3 years, highly-selective admission procedure)
● Other specialized master program including two Erasmus Mundus Master programs
– Research: 4 laboratories
– Industrial Studies
![Page 3: How students can contribute to free software: Centrale Nantes/OpenOffice.org Education Project success story](https://reader034.vdocuments.net/reader034/viewer/2022051610/5485b0d5b4af9f6e0d8b4eeb/html5/thumbnails/3.jpg)
s t at i c voi d s ync_i cache_030( addr _t addr es s , s i z e_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s &( CACHELI NE- 1) ; l en+=of f ; l =l en; p=( char * ) addr es s - of f ; as m vol at i l e ( " nop" ) ; as m vol at i l e ( " mov ec %%cacr , %0" : " =r " ( cac r ) : ) ; c acr | =0x00000004; / ** / do{ as m vol at i l e( " movec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmov ec %0, %%caar \ nmov ec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CACHELI NE; } whi l e ( ( l - =CACHELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( v oi d*r t ){ l ong_page_di r ect or y_ent r y ent r y; * ( ui nt 64* ) &ent r y=DFL_PAGEENT_VAL; ent r y . t ype=DT_ROOT; ent r y . addr =TA_TO_PREA( ( ( addr _t ) r t ) ) ; as m v ol at i l e( " pmove ( %0) , %%s r p\ npmove ( %0) , %%cr p\ n" : : " a" ( ( ui nt 64* ) &ent r y ) ) ; } s t r uct m68k_vm_ops m68030_vm_ops ={ _m68k_t r ans l at i on_map_get _pgdi r , m68k_vm_t r ans l at i on_map_i ni t _map, m68k_vm_t r ans l at i on_map_i ni t _ker nel _map_pos t _s em, m68k_vm_t r ans l at i on_map_i ni t , m68k_vm_t r ans l at i on_map_i ni t _pos t _ar ea, m68k_vm_t rans l at i on_map_i ni t _pos t _s em, m68k_vm_t r ans l at i on_map_ear l y_map
Why free software in education?
Free software is not only a technical alternative to proprietary solutions, it promotes values such
that:
Freedom
Cooperation
Security
Durability
![Page 4: How students can contribute to free software: Centrale Nantes/OpenOffice.org Education Project success story](https://reader034.vdocuments.net/reader034/viewer/2022051610/5485b0d5b4af9f6e0d8b4eeb/html5/thumbnails/4.jpg)
s t at i c voi d s ync_i cache_030( addr _t addr es s , s i z e_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s &( CACHELI NE- 1) ; l en+=of f ; l =l en; p=( char * ) addr es s - of f ; as m vol at i l e ( " nop" ) ; as m vol at i l e ( " mov ec %%cacr , %0" : " =r " ( cac r ) : ) ; c acr | =0x00000004; / ** / do{ as m vol at i l e( " movec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmov ec %0, %%caar \ nmov ec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CACHELI NE; } whi l e ( ( l - =CACHELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( v oi d*r t ){ l ong_page_di r ect or y_ent r y ent r y; * ( ui nt 64* ) &ent r y=DFL_PAGEENT_VAL; ent r y . t ype=DT_ROOT; ent r y . addr =TA_TO_PREA( ( ( addr _t ) r t ) ) ; as m v ol at i l e( " pmove ( %0) , %%s r p\ npmove ( %0) , %%cr p\ n" : : " a" ( ( ui nt 64* ) &ent r y ) ) ; } s t r uct m68k_vm_ops m68030_vm_ops ={ _m68k_t r ans l at i on_map_get _pgdi r , m68k_vm_t r ans l at i on_map_i ni t _map, m68k_vm_t r ans l at i on_map_i ni t _ker nel _map_pos t _s em, m68k_vm_t r ans l at i on_map_i ni t , m68k_vm_t r ans l at i on_map_i ni t _pos t _ar ea, m68k_vm_t rans l at i on_map_i ni t _pos t _s em, m68k_vm_t r ans l at i on_map_ear l y_map
Centrale Nantes and free software
● Research development: – OrbisGIS: http://tinyurl.com/orbisgis– Roméo: http://romeo.rts-software.org
– Trampoline: http://trampoline.rts-software.org/
● Educational use:– Linux : https://pedagogie.ec-nantes.fr/spip/
– OpenOffice.org
– FireFox, Gimp, …
![Page 5: How students can contribute to free software: Centrale Nantes/OpenOffice.org Education Project success story](https://reader034.vdocuments.net/reader034/viewer/2022051610/5485b0d5b4af9f6e0d8b4eeb/html5/thumbnails/5.jpg)
s t at i c voi d s ync_i cache_030( addr _t addr es s , s i z e_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s &( CACHELI NE- 1) ; l en+=of f ; l =l en; p=( char * ) addr es s - of f ; as m vol at i l e ( " nop" ) ; as m vol at i l e ( " mov ec %%cacr , %0" : " =r " ( cac r ) : ) ; c acr | =0x00000004; / ** / do{ as m vol at i l e( " movec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmov ec %0, %%caar \ nmov ec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CACHELI NE; } whi l e ( ( l - =CACHELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( v oi d*r t ){ l ong_page_di r ect or y_ent r y ent r y; * ( ui nt 64* ) &ent r y=DFL_PAGEENT_VAL; ent r y . t ype=DT_ROOT; ent r y . addr =TA_TO_PREA( ( ( addr _t ) r t ) ) ; as m v ol at i l e( " pmove ( %0) , %%s r p\ npmove ( %0) , %%cr p\ n" : : " a" ( ( ui nt 64* ) &ent r y ) ) ; } s t r uct m68k_vm_ops m68030_vm_ops ={ _m68k_t r ans l at i on_map_get _pgdi r , m68k_vm_t r ans l at i on_map_i ni t _map, m68k_vm_t r ans l at i on_map_i ni t _ker nel _map_pos t _s em, m68k_vm_t r ans l at i on_map_i ni t , m68k_vm_t r ans l at i on_map_i ni t _pos t _ar ea, m68k_vm_t rans l at i on_map_i ni t _pos t _s em, m68k_vm_t r ans l at i on_map_ear l y_map
Centrale Nantes, free software and Tablet PC
● Recipient of the HP Technology for Teaching Grant 2008
– 21 Tablet PCs
– Innovative projects about education and tactile technologies
● A students' project to evaluate the usability of Tablet PC features under Linux... that led to OpenOffice.org
![Page 6: How students can contribute to free software: Centrale Nantes/OpenOffice.org Education Project success story](https://reader034.vdocuments.net/reader034/viewer/2022051610/5485b0d5b4af9f6e0d8b4eeb/html5/thumbnails/6.jpg)
s t at i c voi d s ync_i cache_030( addr _t addr es s , s i z e_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s &( CACHELI NE- 1) ; l en+=of f ; l =l en; p=( char * ) addr es s - of f ; as m vol at i l e ( " nop" ) ; as m vol at i l e ( " mov ec %%cacr , %0" : " =r " ( cac r ) : ) ; c acr | =0x00000004; / ** / do{ as m vol at i l e( " movec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmov ec %0, %%caar \ nmov ec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CACHELI NE; } whi l e ( ( l - =CACHELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( v oi d*r t ){ l ong_page_di r ect or y_ent r y ent r y; * ( ui nt 64* ) &ent r y=DFL_PAGEENT_VAL; ent r y . t ype=DT_ROOT; ent r y . addr =TA_TO_PREA( ( ( addr _t ) r t ) ) ; as m v ol at i l e( " pmove ( %0) , %%s r p\ npmove ( %0) , %%cr p\ n" : : " a" ( ( ui nt 64* ) &ent r y ) ) ; } s t r uct m68k_vm_ops m68030_vm_ops ={ _m68k_t r ans l at i on_map_get _pgdi r , m68k_vm_t r ans l at i on_map_i ni t _map, m68k_vm_t r ans l at i on_map_i ni t _ker nel _map_pos t _s em, m68k_vm_t r ans l at i on_map_i ni t , m68k_vm_t r ans l at i on_map_i ni t _pos t _ar ea, m68k_vm_t rans l at i on_map_i ni t _pos t _s em, m68k_vm_t r ans l at i on_map_ear l y_map
Centrale Nantes and OpenOffice.org
● Annotation features in OOo/Impress: – Regular users demand about it for 3-4 years– Open tickets
● Students have worked on this issue: – From October'08 to now;
– Under the supervision of Thorsten Behrens and Eric Bachard
![Page 7: How students can contribute to free software: Centrale Nantes/OpenOffice.org Education Project success story](https://reader034.vdocuments.net/reader034/viewer/2022051610/5485b0d5b4af9f6e0d8b4eeb/html5/thumbnails/7.jpg)
s t at i c voi d s ync_i cache_030( addr _t addr es s , s i z e_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s &( CACHELI NE- 1) ; l en+=of f ; l =l en; p=( char * ) addr es s - of f ; as m vol at i l e ( " nop" ) ; as m vol at i l e ( " mov ec %%cacr , %0" : " =r " ( cac r ) : ) ; c acr | =0x00000004; / ** / do{ as m vol at i l e( " movec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmov ec %0, %%caar \ nmov ec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CACHELI NE; } whi l e ( ( l - =CACHELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( v oi d*r t ){ l ong_page_di r ect or y_ent r y ent r y; * ( ui nt 64* ) &ent r y=DFL_PAGEENT_VAL; ent r y . t ype=DT_ROOT; ent r y . addr =TA_TO_PREA( ( ( addr _t ) r t ) ) ; as m v ol at i l e( " pmove ( %0) , %%s r p\ npmove ( %0) , %%cr p\ n" : : " a" ( ( ui nt 64* ) &ent r y ) ) ; } s t r uct m68k_vm_ops m68030_vm_ops ={ _m68k_t r ans l at i on_map_get _pgdi r , m68k_vm_t r ans l at i on_map_i ni t _map, m68k_vm_t r ans l at i on_map_i ni t _ker nel _map_pos t _s em, m68k_vm_t r ans l at i on_map_i ni t , m68k_vm_t r ans l at i on_map_i ni t _pos t _ar ea, m68k_vm_t rans l at i on_map_i ni t _pos t _s em, m68k_vm_t r ans l at i on_map_ear l y_map
Centrale Nantes and OOo: key figures
● Two different projects involving: – 7 students from September '08 to December '08– 4 students from January '09 to April '09
– 1 supervising teacher – Active collaboration of OOo team
● Other figures: – Students: avg 65 work-hours by student by
project
– Teacher: avg 3 supervising-hours by student by project
![Page 8: How students can contribute to free software: Centrale Nantes/OpenOffice.org Education Project success story](https://reader034.vdocuments.net/reader034/viewer/2022051610/5485b0d5b4af9f6e0d8b4eeb/html5/thumbnails/8.jpg)
s t at i c voi d s ync_i cache_030( addr _t addr es s , s i z e_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s &( CACHELI NE- 1) ; l en+=of f ; l =l en; p=( char * ) addr es s - of f ; as m vol at i l e ( " nop" ) ; as m vol at i l e ( " mov ec %%cacr , %0" : " =r " ( cac r ) : ) ; c acr | =0x00000004; / ** / do{ as m vol at i l e( " movec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmov ec %0, %%caar \ nmov ec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CACHELI NE; } whi l e ( ( l - =CACHELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( v oi d*r t ){ l ong_page_di r ect or y_ent r y ent r y; * ( ui nt 64* ) &ent r y=DFL_PAGEENT_VAL; ent r y . t ype=DT_ROOT; ent r y . addr =TA_TO_PREA( ( ( addr _t ) r t ) ) ; as m v ol at i l e( " pmove ( %0) , %%s r p\ npmove ( %0) , %%cr p\ n" : : " a" ( ( ui nt 64* ) &ent r y ) ) ; } s t r uct m68k_vm_ops m68030_vm_ops ={ _m68k_t r ans l at i on_map_get _pgdi r , m68k_vm_t r ans l at i on_map_i ni t _map, m68k_vm_t r ans l at i on_map_i ni t _ker nel _map_pos t _s em, m68k_vm_t r ans l at i on_map_i ni t , m68k_vm_t r ans l at i on_map_i ni t _pos t _ar ea, m68k_vm_t rans l at i on_map_i ni t _pos t _s em, m68k_vm_t r ans l at i on_map_ear l y_map
Centrale Nantes and OOo: factors for success
● Education environment willing to contribute to free software
● Motivation of both students and OOo teams● Win-win relation for every actor:
– Education: real-life projects with added value
– Students: contribute to a famous software
– OOo: perspective of contribution to new features
![Page 9: How students can contribute to free software: Centrale Nantes/OpenOffice.org Education Project success story](https://reader034.vdocuments.net/reader034/viewer/2022051610/5485b0d5b4af9f6e0d8b4eeb/html5/thumbnails/9.jpg)
s t at i c voi d s ync_i cache_030( addr _t addr es s , s i z e_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s &( CACHELI NE- 1) ; l en+=of f ; l =l en; p=( char * ) addr es s - of f ; as m vol at i l e ( " nop" ) ; as m vol at i l e ( " mov ec %%cacr , %0" : " =r " ( cac r ) : ) ; c acr | =0x00000004; / ** / do{ as m vol at i l e( " movec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmov ec %0, %%caar \ nmov ec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CACHELI NE; } whi l e ( ( l - =CACHELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( v oi d*r t ){ l ong_page_di r ect or y_ent r y ent r y; * ( ui nt 64* ) &ent r y=DFL_PAGEENT_VAL; ent r y . t ype=DT_ROOT; ent r y . addr =TA_TO_PREA( ( ( addr _t ) r t ) ) ; as m v ol at i l e( " pmove ( %0) , %%s r p\ npmove ( %0) , %%cr p\ n" : : " a" ( ( ui nt 64* ) &ent r y ) ) ; } s t r uct m68k_vm_ops m68030_vm_ops ={ _m68k_t r ans l at i on_map_get _pgdi r , m68k_vm_t r ans l at i on_map_i ni t _map, m68k_vm_t r ans l at i on_map_i ni t _ker nel _map_pos t _s em, m68k_vm_t r ans l at i on_map_i ni t , m68k_vm_t r ans l at i on_map_i ni t _pos t _ar ea, m68k_vm_t rans l at i on_map_i ni t _pos t _s em, m68k_vm_t r ans l at i on_map_ear l y_map
… OpenOffice.org Education Project is
an incubator andINTERNATIONALproject type
![Page 10: How students can contribute to free software: Centrale Nantes/OpenOffice.org Education Project success story](https://reader034.vdocuments.net/reader034/viewer/2022051610/5485b0d5b4af9f6e0d8b4eeb/html5/thumbnails/10.jpg)
s t at i c voi d s ync_i cache_030( addr _t addr es s , s i z e_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s &( CACHELI NE- 1) ; l en+=of f ; l =l en; p=( char * ) addr es s - of f ; as m vol at i l e ( " nop" ) ; as m vol at i l e ( " mov ec %%cacr , %0" : " =r " ( cac r ) : ) ; c acr | =0x00000004; / ** / do{ as m vol at i l e( " movec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmov ec %0, %%caar \ nmov ec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CACHELI NE; } whi l e ( ( l - =CACHELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( v oi d*r t ){ l ong_page_di r ect or y_ent r y ent r y; * ( ui nt 64* ) &ent r y=DFL_PAGEENT_VAL; ent r y . t ype=DT_ROOT; ent r y . addr =TA_TO_PREA( ( ( addr _t ) r t ) ) ; as m v ol at i l e( " pmove ( %0) , %%s r p\ npmove ( %0) , %%cr p\ n" : : " a" ( ( ui nt 64* ) &ent r y ) ) ; } s t r uct m68k_vm_ops m68030_vm_ops ={ _m68k_t r ans l at i on_map_get _pgdi r , m68k_vm_t r ans l at i on_map_i ni t _map, m68k_vm_t r ans l at i on_map_i ni t _ker nel _map_pos t _s em, m68k_vm_t r ans l at i on_map_i ni t , m68k_vm_t r ans l at i on_map_i ni t _pos t _ar ea, m68k_vm_t rans l at i on_map_i ni t _pos t _s em, m68k_vm_t r ans l at i on_map_ear l y_map
The Role of the « Incubators » projects is to ...
● Experiment● Validate a new need● Innovate and make the OpenOffice.org Project
progress
![Page 11: How students can contribute to free software: Centrale Nantes/OpenOffice.org Education Project success story](https://reader034.vdocuments.net/reader034/viewer/2022051610/5485b0d5b4af9f6e0d8b4eeb/html5/thumbnails/11.jpg)
s t at i c voi d s ync_i cache_030( addr _t addr es s , s i z e_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s &( CACHELI NE- 1) ; l en+=of f ; l =l en; p=( char * ) addr es s - of f ; as m vol at i l e ( " nop" ) ; as m vol at i l e ( " mov ec %%cacr , %0" : " =r " ( cac r ) : ) ; c acr | =0x00000004; / ** / do{ as m vol at i l e( " movec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmov ec %0, %%caar \ nmov ec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CACHELI NE; } whi l e ( ( l - =CACHELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( v oi d*r t ){ l ong_page_di r ect or y_ent r y ent r y; * ( ui nt 64* ) &ent r y=DFL_PAGEENT_VAL; ent r y . t ype=DT_ROOT; ent r y . addr =TA_TO_PREA( ( ( addr _t ) r t ) ) ; as m v ol at i l e( " pmove ( %0) , %%s r p\ npmove ( %0) , %%cr p\ n" : : " a" ( ( ui nt 64* ) &ent r y ) ) ; } s t r uct m68k_vm_ops m68030_vm_ops ={ _m68k_t r ans l at i on_map_get _pgdi r , m68k_vm_t r ans l at i on_map_i ni t _map, m68k_vm_t r ans l at i on_map_i ni t _ker nel _map_pos t _s em, m68k_vm_t r ans l at i on_map_i ni t , m68k_vm_t r ans l at i on_map_i ni t _pos t _ar ea, m68k_vm_t rans l at i on_map_i ni t _pos t _s em, m68k_vm_t r ans l at i on_map_ear l y_map
The goals of the OpenOffice.org Education Project ?
This is a young project,Belonging to OpenOffice.orgwith the main goal tocreate a bridgebetween Educational World and OpenOffice.org
![Page 12: How students can contribute to free software: Centrale Nantes/OpenOffice.org Education Project success story](https://reader034.vdocuments.net/reader034/viewer/2022051610/5485b0d5b4af9f6e0d8b4eeb/html5/thumbnails/12.jpg)
s t at i c voi d s ync_i cache_030( addr _t addr es s , s i z e_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s &( CACHELI NE- 1) ; l en+=of f ; l =l en; p=( char * ) addr es s - of f ; as m vol at i l e ( " nop" ) ; as m vol at i l e ( " mov ec %%cacr , %0" : " =r " ( cac r ) : ) ; c acr | =0x00000004; / ** / do{ as m vol at i l e( " movec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmov ec %0, %%caar \ nmov ec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CACHELI NE; } whi l e ( ( l - =CACHELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( v oi d*r t ){ l ong_page_di r ect or y_ent r y ent r y; * ( ui nt 64* ) &ent r y=DFL_PAGEENT_VAL; ent r y . t ype=DT_ROOT; ent r y . addr =TA_TO_PREA( ( ( addr _t ) r t ) ) ; as m v ol at i l e( " pmove ( %0) , %%s r p\ npmove ( %0) , %%cr p\ n" : : " a" ( ( ui nt 64* ) &ent r y ) ) ; } s t r uct m68k_vm_ops m68030_vm_ops ={ _m68k_t r ans l at i on_map_get _pgdi r , m68k_vm_t r ans l at i on_map_i ni t _map, m68k_vm_t r ans l at i on_map_i ni t _ker nel _map_pos t _s em, m68k_vm_t r ans l at i on_map_i ni t , m68k_vm_t r ans l at i on_map_i ni t _pos t _ar ea, m68k_vm_t rans l at i on_map_i ni t _pos t _s em, m68k_vm_t r ans l at i on_map_ear l y_map
' Who ' is the Education Project ?
Approximatively 100 members,Students, developers (mostly)From all countriesAll participate to OpenOffice.org
![Page 13: How students can contribute to free software: Centrale Nantes/OpenOffice.org Education Project success story](https://reader034.vdocuments.net/reader034/viewer/2022051610/5485b0d5b4af9f6e0d8b4eeb/html5/thumbnails/13.jpg)
s t at i c voi d s ync_i cache_030( addr _t addr es s , s i z e_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s &( CACHELI NE- 1) ; l en+=of f ; l =l en; p=( char * ) addr es s - of f ; as m vol at i l e ( " nop" ) ; as m vol at i l e ( " mov ec %%cacr , %0" : " =r " ( cac r ) : ) ; c acr | =0x00000004; / ** / do{ as m vol at i l e( " movec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmov ec %0, %%caar \ nmov ec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CACHELI NE; } whi l e ( ( l - =CACHELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( v oi d*r t ){ l ong_page_di r ect or y_ent r y ent r y; * ( ui nt 64* ) &ent r y=DFL_PAGEENT_VAL; ent r y . t ype=DT_ROOT; ent r y . addr =TA_TO_PREA( ( ( addr _t ) r t ) ) ; as m v ol at i l e( " pmove ( %0) , %%s r p\ npmove ( %0) , %%cr p\ n" : : " a" ( ( ui nt 64* ) &ent r y ) ) ; } s t r uct m68k_vm_ops m68030_vm_ops ={ _m68k_t r ans l at i on_map_get _pgdi r , m68k_vm_t r ans l at i on_map_i ni t _map, m68k_vm_t r ans l at i on_map_i ni t _ker nel _map_pos t _s em, m68k_vm_t r ans l at i on_map_i ni t , m68k_vm_t r ans l at i on_map_i ni t _pos t _ar ea, m68k_vm_t rans l at i on_map_i ni t _pos t _s em, m68k_vm_t r ans l at i on_map_ear l y_map
The 3 main objectives of Education Project :
● Create a network of teachers using OpenOffice.org
● Provide a space for exchanging pedagogical contents, under free file formats
● Teach, provide young (core-)developers to write code for OpenOffice.org
![Page 14: How students can contribute to free software: Centrale Nantes/OpenOffice.org Education Project success story](https://reader034.vdocuments.net/reader034/viewer/2022051610/5485b0d5b4af9f6e0d8b4eeb/html5/thumbnails/14.jpg)
s t at i c voi d s ync_i cache_030( addr _t addr es s , s i z e_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s &( CACHELI NE- 1) ; l en+=of f ; l =l en; p=( char * ) addr es s - of f ; as m vol at i l e ( " nop" ) ; as m vol at i l e ( " mov ec %%cacr , %0" : " =r " ( cac r ) : ) ; c acr | =0x00000004; / ** / do{ as m vol at i l e( " movec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmov ec %0, %%caar \ nmov ec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CACHELI NE; } whi l e ( ( l - =CACHELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( v oi d*r t ){ l ong_page_di r ect or y_ent r y ent r y; * ( ui nt 64* ) &ent r y=DFL_PAGEENT_VAL; ent r y . t ype=DT_ROOT; ent r y . addr =TA_TO_PREA( ( ( addr _t ) r t ) ) ; as m v ol at i l e( " pmove ( %0) , %%s r p\ npmove ( %0) , %%cr p\ n" : : " a" ( ( ui nt 64* ) &ent r y ) ) ; } s t r uct m68k_vm_ops m68030_vm_ops ={ _m68k_t r ans l at i on_map_get _pgdi r , m68k_vm_t r ans l at i on_map_i ni t _map, m68k_vm_t r ans l at i on_map_i ni t _ker nel _map_pos t _s em, m68k_vm_t r ans l at i on_map_i ni t , m68k_vm_t r ans l at i on_map_i ni t _pos t _ar ea, m68k_vm_t rans l at i on_map_i ni t _pos t _s em, m68k_vm_t r ans l at i on_map_ear l y_map
3rd Objective : provide new developers
Idea :
Associate : theory (the teachers)The know how (professional developers)The actors (students, profs, and so on)Mentors (OpenOffice.org Project developers)The needs (features for OpenOffice.org)
… and finally provide developers
![Page 15: How students can contribute to free software: Centrale Nantes/OpenOffice.org Education Project success story](https://reader034.vdocuments.net/reader034/viewer/2022051610/5485b0d5b4af9f6e0d8b4eeb/html5/thumbnails/15.jpg)
s t at i c voi d s ync_i cache_030( addr _t addr es s , s i z e_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s &( CACHELI NE- 1) ; l en+=of f ; l =l en; p=( char * ) addr es s - of f ; as m vol at i l e ( " nop" ) ; as m vol at i l e ( " mov ec %%cacr , %0" : " =r " ( cac r ) : ) ; c acr | =0x00000004; / ** / do{ as m vol at i l e( " movec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmov ec %0, %%caar \ nmov ec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CACHELI NE; } whi l e ( ( l - =CACHELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( v oi d*r t ){ l ong_page_di r ect or y_ent r y ent r y; * ( ui nt 64* ) &ent r y=DFL_PAGEENT_VAL; ent r y . t ype=DT_ROOT; ent r y . addr =TA_TO_PREA( ( ( addr _t ) r t ) ) ; as m v ol at i l e( " pmove ( %0) , %%s r p\ npmove ( %0) , %%cr p\ n" : : " a" ( ( ui nt 64* ) &ent r y ) ) ; } s t r uct m68k_vm_ops m68030_vm_ops ={ _m68k_t r ans l at i on_map_get _pgdi r , m68k_vm_t r ans l at i on_map_i ni t _map, m68k_vm_t r ans l at i on_map_i ni t _ker nel _map_pos t _s em, m68k_vm_t r ans l at i on_map_i ni t , m68k_vm_t r ans l at i on_map_i ni t _pos t _ar ea, m68k_vm_t rans l at i on_map_i ni t _pos t _s em, m68k_vm_t r ans l at i on_map_ear l y_map
Already started actions
● Online Courses « ClassRooms »● Projects with engineers schools students, and shools contributions
![Page 16: How students can contribute to free software: Centrale Nantes/OpenOffice.org Education Project success story](https://reader034.vdocuments.net/reader034/viewer/2022051610/5485b0d5b4af9f6e0d8b4eeb/html5/thumbnails/16.jpg)
s t at i c voi d s ync_i cache_030( addr _t addr es s , s i z e_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s &( CACHELI NE- 1) ; l en+=of f ; l =l en; p=( char * ) addr es s - of f ; as m vol at i l e ( " nop" ) ; as m vol at i l e ( " mov ec %%cacr , %0" : " =r " ( cac r ) : ) ; c acr | =0x00000004; / ** / do{ as m vol at i l e( " movec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmov ec %0, %%caar \ nmov ec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CACHELI NE; } whi l e ( ( l - =CACHELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( v oi d*r t ){ l ong_page_di r ect or y_ent r y ent r y; * ( ui nt 64* ) &ent r y=DFL_PAGEENT_VAL; ent r y . t ype=DT_ROOT; ent r y . addr =TA_TO_PREA( ( ( addr _t ) r t ) ) ; as m v ol at i l e( " pmove ( %0) , %%s r p\ npmove ( %0) , %%cr p\ n" : : " a" ( ( ui nt 64* ) &ent r y ) ) ; } s t r uct m68k_vm_ops m68030_vm_ops ={ _m68k_t r ans l at i on_map_get _pgdi r , m68k_vm_t r ans l at i on_map_i ni t _map, m68k_vm_t r ans l at i on_map_i ni t _ker nel _map_pos t _s em, m68k_vm_t r ans l at i on_map_i ni t , m68k_vm_t r ans l at i on_map_i ni t _pos t _ar ea, m68k_vm_t rans l at i on_map_i ni t _pos t _s em, m68k_vm_t r ans l at i on_map_ear l y_map
Education Project Effort● Mentored projects with active participation of the schools
http://wiki.services.openoffice.org/wiki/Education_Project/Effort
![Page 17: How students can contribute to free software: Centrale Nantes/OpenOffice.org Education Project success story](https://reader034.vdocuments.net/reader034/viewer/2022051610/5485b0d5b4af9f6e0d8b4eeb/html5/thumbnails/17.jpg)
s t at i c voi d s ync_i cache_030( addr _t addr es s , s i z e_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s &( CACHELI NE- 1) ; l en+=of f ; l =l en; p=( char * ) addr es s - of f ; as m vol at i l e ( " nop" ) ; as m vol at i l e ( " mov ec %%cacr , %0" : " =r " ( cac r ) : ) ; c acr | =0x00000004; / ** / do{ as m vol at i l e( " movec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmov ec %0, %%caar \ nmov ec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CACHELI NE; } whi l e ( ( l - =CACHELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( v oi d*r t ){ l ong_page_di r ect or y_ent r y ent r y; * ( ui nt 64* ) &ent r y=DFL_PAGEENT_VAL; ent r y . t ype=DT_ROOT; ent r y . addr =TA_TO_PREA( ( ( addr _t ) r t ) ) ; as m v ol at i l e( " pmove ( %0) , %%s r p\ npmove ( %0) , %%cr p\ n" : : " a" ( ( ui nt 64* ) &ent r y ) ) ; } s t r uct m68k_vm_ops m68030_vm_ops ={ _m68k_t r ans l at i on_map_get _pgdi r , m68k_vm_t r ans l at i on_map_i ni t _map, m68k_vm_t r ans l at i on_map_i ni t _ker nel _map_pos t _s em, m68k_vm_t r ans l at i on_map_i ni t , m68k_vm_t r ans l at i on_map_i ni t _pos t _ar ea, m68k_vm_t rans l at i on_map_i ni t _pos t _s em, m68k_vm_t r ans l at i on_map_ear l y_map
Schools who joined the project
Epitech/Epita (Paris, France)École Centrale Nantes (Nantes, France)UTBM (Sévenans, France) Seneca College (Toronto Canada)
…
![Page 18: How students can contribute to free software: Centrale Nantes/OpenOffice.org Education Project success story](https://reader034.vdocuments.net/reader034/viewer/2022051610/5485b0d5b4af9f6e0d8b4eeb/html5/thumbnails/18.jpg)
s t at i c voi d s ync_i cache_030( addr _t addr es s , s i z e_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s &( CACHELI NE- 1) ; l en+=of f ; l =l en; p=( char * ) addr es s - of f ; as m vol at i l e ( " nop" ) ; as m vol at i l e ( " mov ec %%cacr , %0" : " =r " ( cac r ) : ) ; c acr | =0x00000004; / ** / do{ as m vol at i l e( " movec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmov ec %0, %%caar \ nmov ec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CACHELI NE; } whi l e ( ( l - =CACHELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( v oi d*r t ){ l ong_page_di r ect or y_ent r y ent r y; * ( ui nt 64* ) &ent r y=DFL_PAGEENT_VAL; ent r y . t ype=DT_ROOT; ent r y . addr =TA_TO_PREA( ( ( addr _t ) r t ) ) ; as m v ol at i l e( " pmove ( %0) , %%s r p\ npmove ( %0) , %%cr p\ n" : : " a" ( ( ui nt 64* ) &ent r y ) ) ; } s t r uct m68k_vm_ops m68030_vm_ops ={ _m68k_t r ans l at i on_map_get _pgdi r , m68k_vm_t r ans l at i on_map_i ni t _map, m68k_vm_t r ans l at i on_map_i ni t _ker nel _map_pos t _s em, m68k_vm_t r ans l at i on_map_i ni t , m68k_vm_t r ans l at i on_map_i ni t _pos t _ar ea, m68k_vm_t rans l at i on_map_i ni t _pos t _s em, m68k_vm_t r ans l at i on_map_ear l y_map
ExamplesMozilla 1.7.5 → Seamonkey 1.1.14 migration (Pierre Pasteau / Epitech Paris ) QA in progress, will be integrated
Developers who contributed : Frank Schönheit (Sun MicroSystems), Eric Bachard (unaffiliated)
![Page 19: How students can contribute to free software: Centrale Nantes/OpenOffice.org Education Project success story](https://reader034.vdocuments.net/reader034/viewer/2022051610/5485b0d5b4af9f6e0d8b4eeb/html5/thumbnails/19.jpg)
s t at i c voi d s ync_i cache_030( addr _t addr es s , s i z e_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s &( CACHELI NE- 1) ; l en+=of f ; l =l en; p=( char * ) addr es s - of f ; as m vol at i l e ( " nop" ) ; as m vol at i l e ( " mov ec %%cacr , %0" : " =r " ( cac r ) : ) ; c acr | =0x00000004; / ** / do{ as m vol at i l e( " movec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmov ec %0, %%caar \ nmov ec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CACHELI NE; } whi l e ( ( l - =CACHELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( v oi d*r t ){ l ong_page_di r ect or y_ent r y ent r y; * ( ui nt 64* ) &ent r y=DFL_PAGEENT_VAL; ent r y . t ype=DT_ROOT; ent r y . addr =TA_TO_PREA( ( ( addr _t ) r t ) ) ; as m v ol at i l e( " pmove ( %0) , %%s r p\ npmove ( %0) , %%cr p\ n" : : " a" ( ( ui nt 64* ) &ent r y ) ) ; } s t r uct m68k_vm_ops m68030_vm_ops ={ _m68k_t r ans l at i on_map_get _pgdi r , m68k_vm_t r ans l at i on_map_i ni t _map, m68k_vm_t r ans l at i on_map_i ni t _ker nel _map_pos t _s em, m68k_vm_t r ans l at i on_map_i ni t , m68k_vm_t r ans l at i on_map_i ni t _pos t _ar ea, m68k_vm_t rans l at i on_map_i ni t _pos t _s em, m68k_vm_t r ans l at i on_map_ear l y_map
ExamplesAude Quintana, Olivier Girardot (École Centrale Nantes): implementation of the eraser features, with Tablet PC and Impress. Code review in progress.
Developers who contributed : Thorsten Behrens (Novell)
Managed by Morgan Magnin, for Ecole Centrale Nantes
![Page 20: How students can contribute to free software: Centrale Nantes/OpenOffice.org Education Project success story](https://reader034.vdocuments.net/reader034/viewer/2022051610/5485b0d5b4af9f6e0d8b4eeb/html5/thumbnails/20.jpg)
s t at i c voi d s ync_i cache_030( addr _t addr es s , s i z e_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s &( CACHELI NE- 1) ; l en+=of f ; l =l en; p=( char * ) addr es s - of f ; as m vol at i l e ( " nop" ) ; as m vol at i l e ( " mov ec %%cacr , %0" : " =r " ( cac r ) : ) ; c acr | =0x00000004; / ** / do{ as m vol at i l e( " movec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmov ec %0, %%caar \ nmov ec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CACHELI NE; } whi l e ( ( l - =CACHELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( v oi d*r t ){ l ong_page_di r ect or y_ent r y ent r y; * ( ui nt 64* ) &ent r y=DFL_PAGEENT_VAL; ent r y . t ype=DT_ROOT; ent r y . addr =TA_TO_PREA( ( ( addr _t ) r t ) ) ; as m v ol at i l e( " pmove ( %0) , %%s r p\ npmove ( %0) , %%cr p\ n" : : " a" ( ( ui nt 64* ) &ent r y ) ) ; } s t r uct m68k_vm_ops m68030_vm_ops ={ _m68k_t r ans l at i on_map_get _pgdi r , m68k_vm_t r ans l at i on_map_i ni t _map, m68k_vm_t r ans l at i on_map_i ni t _ker nel _map_pos t _s em, m68k_vm_t r ans l at i on_map_i ni t , m68k_vm_t r ans l at i on_map_i ni t _pos t _ar ea, m68k_vm_t rans l at i on_map_i ni t _pos t _s em, m68k_vm_t r ans l at i on_map_ear l y_map
ExamplesFrédéric Gelot, Pierre-Jean Parot (École Centrale Nantes): annotations implementation with Tablet PC and Impress
Developers who contributed : Thorsten Behrens (Novell)
Managed by Morgan Magnin, for ECN
![Page 21: How students can contribute to free software: Centrale Nantes/OpenOffice.org Education Project success story](https://reader034.vdocuments.net/reader034/viewer/2022051610/5485b0d5b4af9f6e0d8b4eeb/html5/thumbnails/21.jpg)
s t at i c voi d s ync_i cache_030( addr _t addr es s , s i z e_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s &( CACHELI NE- 1) ; l en+=of f ; l =l en; p=( char * ) addr es s - of f ; as m vol at i l e ( " nop" ) ; as m vol at i l e ( " mov ec %%cacr , %0" : " =r " ( cac r ) : ) ; c acr | =0x00000004; / ** / do{ as m vol at i l e( " movec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmov ec %0, %%caar \ nmov ec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CACHELI NE; } whi l e ( ( l - =CACHELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( v oi d*r t ){ l ong_page_di r ect or y_ent r y ent r y; * ( ui nt 64* ) &ent r y=DFL_PAGEENT_VAL; ent r y . t ype=DT_ROOT; ent r y . addr =TA_TO_PREA( ( ( addr _t ) r t ) ) ; as m v ol at i l e( " pmove ( %0) , %%s r p\ npmove ( %0) , %%cr p\ n" : : " a" ( ( ui nt 64* ) &ent r y ) ) ; } s t r uct m68k_vm_ops m68030_vm_ops ={ _m68k_t r ans l at i on_map_get _pgdi r , m68k_vm_t r ans l at i on_map_i ni t _map, m68k_vm_t r ans l at i on_map_i ni t _ker nel _map_pos t _s em, m68k_vm_t r ans l at i on_map_i ni t , m68k_vm_t r ans l at i on_map_i ni t _pos t _ar ea, m68k_vm_t rans l at i on_map_i ni t _pos t _s em, m68k_vm_t r ans l at i on_map_ear l y_map
Other example : Seneca College, TorontoProfessor : Fardad Soleimanloo(4 projects started, expected for Summer 09)
All other proposed subjects :
http://wiki.services.openoffice.org/wiki/Education_Project/Effort
![Page 22: How students can contribute to free software: Centrale Nantes/OpenOffice.org Education Project success story](https://reader034.vdocuments.net/reader034/viewer/2022051610/5485b0d5b4af9f6e0d8b4eeb/html5/thumbnails/22.jpg)
s t at i c voi d s ync_i cache_030( addr _t addr es s , s i z e_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s &( CACHELI NE- 1) ; l en+=of f ; l =l en; p=( char * ) addr es s - of f ; as m vol at i l e ( " nop" ) ; as m vol at i l e ( " mov ec %%cacr , %0" : " =r " ( cac r ) : ) ; c acr | =0x00000004; / ** / do{ as m vol at i l e( " movec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmov ec %0, %%caar \ nmov ec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CACHELI NE; } whi l e ( ( l - =CACHELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( v oi d*r t ){ l ong_page_di r ect or y_ent r y ent r y; * ( ui nt 64* ) &ent r y=DFL_PAGEENT_VAL; ent r y . t ype=DT_ROOT; ent r y . addr =TA_TO_PREA( ( ( addr _t ) r t ) ) ; as m v ol at i l e( " pmove ( %0) , %%s r p\ npmove ( %0) , %%cr p\ n" : : " a" ( ( ui nt 64* ) &ent r y ) ) ; } s t r uct m68k_vm_ops m68030_vm_ops ={ _m68k_t r ans l at i on_map_get _pgdi r , m68k_vm_t r ans l at i on_map_i ni t _map, m68k_vm_t r ans l at i on_map_i ni t _ker nel _map_pos t _s em, m68k_vm_t r ans l at i on_map_i ni t , m68k_vm_t r ans l at i on_map_i ni t _pos t _ar ea, m68k_vm_t rans l at i on_map_i ni t _pos t _s em, m68k_vm_t r ans l at i on_map_ear l y_map
Scheduled Project (july to december 2009 ): Thomas Fontenay, Abdelkader Bellabes ( Epitech Paris ) : performance improvement of OOo4Kids on powerless machines (include backport to OpenOffice.org for the most interesting solutions), profiling, User Interface Improvement
Developers : Pierre Pasteau, Eric Bachard
Managed by Julien Ballet for Epitech Paris
![Page 23: How students can contribute to free software: Centrale Nantes/OpenOffice.org Education Project success story](https://reader034.vdocuments.net/reader034/viewer/2022051610/5485b0d5b4af9f6e0d8b4eeb/html5/thumbnails/23.jpg)
s t at i c voi d s ync_i cache_030( addr _t addr es s , s i z e_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s &( CACHELI NE- 1) ; l en+=of f ; l =l en; p=( char * ) addr es s - of f ; as m vol at i l e ( " nop" ) ; as m vol at i l e ( " mov ec %%cacr , %0" : " =r " ( cac r ) : ) ; c acr | =0x00000004; / ** / do{ as m vol at i l e( " movec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmov ec %0, %%caar \ nmov ec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CACHELI NE; } whi l e ( ( l - =CACHELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( v oi d*r t ){ l ong_page_di r ect or y_ent r y ent r y; * ( ui nt 64* ) &ent r y=DFL_PAGEENT_VAL; ent r y . t ype=DT_ROOT; ent r y . addr =TA_TO_PREA( ( ( addr _t ) r t ) ) ; as m v ol at i l e( " pmove ( %0) , %%s r p\ npmove ( %0) , %%cr p\ n" : : " a" ( ( ui nt 64* ) &ent r y ) ) ; } s t r uct m68k_vm_ops m68030_vm_ops ={ _m68k_t r ans l at i on_map_get _pgdi r , m68k_vm_t r ans l at i on_map_i ni t _map, m68k_vm_t r ans l at i on_map_i ni t _ker nel _map_pos t _s em, m68k_vm_t r ans l at i on_map_i ni t , m68k_vm_t r ans l at i on_map_i ni t _pos t _ar ea, m68k_vm_t rans l at i on_map_i ni t _pos t _s em, m68k_vm_t r ans l at i on_map_ear l y_map
...
![Page 24: How students can contribute to free software: Centrale Nantes/OpenOffice.org Education Project success story](https://reader034.vdocuments.net/reader034/viewer/2022051610/5485b0d5b4af9f6e0d8b4eeb/html5/thumbnails/24.jpg)
s t at i c voi d s ync_i cache_030( addr _t addr es s , s i z e_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s &( CACHELI NE- 1) ; l en+=of f ; l =l en; p=( char * ) addr es s - of f ; as m vol at i l e ( " nop" ) ; as m vol at i l e ( " mov ec %%cacr , %0" : " =r " ( cac r ) : ) ; c acr | =0x00000004; / ** / do{ as m vol at i l e( " movec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmov ec %0, %%caar \ nmov ec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CACHELI NE; } whi l e ( ( l - =CACHELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( v oi d*r t ){ l ong_page_di r ect or y_ent r y ent r y; * ( ui nt 64* ) &ent r y=DFL_PAGEENT_VAL; ent r y . t ype=DT_ROOT; ent r y . addr =TA_TO_PREA( ( ( addr _t ) r t ) ) ; as m v ol at i l e( " pmove ( %0) , %%s r p\ npmove ( %0) , %%cr p\ n" : : " a" ( ( ui nt 64* ) &ent r y ) ) ; } s t r uct m68k_vm_ops m68030_vm_ops ={ _m68k_t r ans l at i on_map_get _pgdi r , m68k_vm_t r ans l at i on_map_i ni t _map, m68k_vm_t r ans l at i on_map_i ni t _ker nel _map_pos t _s em, m68k_vm_t r ans l at i on_map_i ni t , m68k_vm_t r ans l at i on_map_i ni t _pos t _ar ea, m68k_vm_t rans l at i on_map_i ni t _pos t _s em, m68k_vm_t r ans l at i on_map_ear l y_map
Guidelines for further projects: benefits of communication
● All documentation must be in english● Frequent communication
– Inside the education community
– Inside the free software community
● Use a maximum of media: – News on official websites
– Blog, Twitter, …
– Video
![Page 25: How students can contribute to free software: Centrale Nantes/OpenOffice.org Education Project success story](https://reader034.vdocuments.net/reader034/viewer/2022051610/5485b0d5b4af9f6e0d8b4eeb/html5/thumbnails/25.jpg)
s t at i c voi d s ync_i cache_030( addr _t addr es s , s i z e_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s &( CACHELI NE- 1) ; l en+=of f ; l =l en; p=( char * ) addr es s - of f ; as m vol at i l e ( " nop" ) ; as m vol at i l e ( " mov ec %%cacr , %0" : " =r " ( cac r ) : ) ; c acr | =0x00000004; / ** / do{ as m vol at i l e( " movec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmov ec %0, %%caar \ nmov ec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CACHELI NE; } whi l e ( ( l - =CACHELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( v oi d*r t ){ l ong_page_di r ect or y_ent r y ent r y; * ( ui nt 64* ) &ent r y=DFL_PAGEENT_VAL; ent r y . t ype=DT_ROOT; ent r y . addr =TA_TO_PREA( ( ( addr _t ) r t ) ) ; as m v ol at i l e( " pmove ( %0) , %%s r p\ npmove ( %0) , %%cr p\ n" : : " a" ( ( ui nt 64* ) &ent r y ) ) ; } s t r uct m68k_vm_ops m68030_vm_ops ={ _m68k_t r ans l at i on_map_get _pgdi r , m68k_vm_t r ans l at i on_map_i ni t _map, m68k_vm_t r ans l at i on_map_i ni t _ker nel _map_pos t _s em, m68k_vm_t r ans l at i on_map_i ni t , m68k_vm_t r ans l at i on_map_i ni t _pos t _ar ea, m68k_vm_t rans l at i on_map_i ni t _pos t _s em, m68k_vm_t r ans l at i on_map_ear l y_map
Guidelines for further projects
● Development team opened to students' contribution
● Supervising teacher to guarantee the project respects the educational expectations
● Team of students from 2 to... ?
![Page 26: How students can contribute to free software: Centrale Nantes/OpenOffice.org Education Project success story](https://reader034.vdocuments.net/reader034/viewer/2022051610/5485b0d5b4af9f6e0d8b4eeb/html5/thumbnails/26.jpg)
s t at i c voi d s ync_i cache_030( addr _t addr es s , s i z e_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s &( CACHELI NE- 1) ; l en+=of f ; l =l en; p=( char * ) addr es s - of f ; as m vol at i l e ( " nop" ) ; as m vol at i l e ( " mov ec %%cacr , %0" : " =r " ( cac r ) : ) ; c acr | =0x00000004; / ** / do{ as m vol at i l e( " movec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmov ec %0, %%caar \ nmov ec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CACHELI NE; } whi l e ( ( l - =CACHELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( v oi d*r t ){ l ong_page_di r ect or y_ent r y ent r y; * ( ui nt 64* ) &ent r y=DFL_PAGEENT_VAL; ent r y . t ype=DT_ROOT; ent r y . addr =TA_TO_PREA( ( ( addr _t ) r t ) ) ; as m v ol at i l e( " pmove ( %0) , %%s r p\ npmove ( %0) , %%cr p\ n" : : " a" ( ( ui nt 64* ) &ent r y ) ) ; } s t r uct m68k_vm_ops m68030_vm_ops ={ _m68k_t r ans l at i on_map_get _pgdi r , m68k_vm_t r ans l at i on_map_i ni t _map, m68k_vm_t r ans l at i on_map_i ni t _ker nel _map_pos t _s em, m68k_vm_t r ans l at i on_map_i ni t , m68k_vm_t r ans l at i on_map_i ni t _pos t _ar ea, m68k_vm_t rans l at i on_map_i ni t _pos t _s em, m68k_vm_t r ans l at i on_map_ear l y_map
Guidelines for further projects
● Find students – Interested in a first professional development
experience
– Having a good knowledge in technical matters
– Potentially willing to contribute beyond the given project
![Page 27: How students can contribute to free software: Centrale Nantes/OpenOffice.org Education Project success story](https://reader034.vdocuments.net/reader034/viewer/2022051610/5485b0d5b4af9f6e0d8b4eeb/html5/thumbnails/27.jpg)
s t at i c voi d s ync_i cache_030( addr _t addr es s , s i z e_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s &( CACHELI NE- 1) ; l en+=of f ; l =l en; p=( char * ) addr es s - of f ; as m vol at i l e ( " nop" ) ; as m vol at i l e ( " mov ec %%cacr , %0" : " =r " ( cac r ) : ) ; c acr | =0x00000004; / ** / do{ as m vol at i l e( " movec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmov ec %0, %%caar \ nmov ec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CACHELI NE; } whi l e ( ( l - =CACHELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( v oi d*r t ){ l ong_page_di r ect or y_ent r y ent r y; * ( ui nt 64* ) &ent r y=DFL_PAGEENT_VAL; ent r y . t ype=DT_ROOT; ent r y . addr =TA_TO_PREA( ( ( addr _t ) r t ) ) ; as m v ol at i l e( " pmove ( %0) , %%s r p\ npmove ( %0) , %%cr p\ n" : : " a" ( ( ui nt 64* ) &ent r y ) ) ; } s t r uct m68k_vm_ops m68030_vm_ops ={ _m68k_t r ans l at i on_map_get _pgdi r , m68k_vm_t r ans l at i on_map_i ni t _map, m68k_vm_t r ans l at i on_map_i ni t _ker nel _map_pos t _s em, m68k_vm_t r ans l at i on_map_i ni t , m68k_vm_t r ans l at i on_map_i ni t _pos t _ar ea, m68k_vm_t rans l at i on_map_i ni t _pos t _s em, m68k_vm_t r ans l at i on_map_ear l y_map
Timeline● Detailed specifications according to the
software standards– Features
– Test cases
● Learn the basics about the implementation– IRC courses
– Documentation
● Implementation on a Child WorkSpace w.r.t. software development rules
● Tests
![Page 28: How students can contribute to free software: Centrale Nantes/OpenOffice.org Education Project success story](https://reader034.vdocuments.net/reader034/viewer/2022051610/5485b0d5b4af9f6e0d8b4eeb/html5/thumbnails/28.jpg)
s t at i c voi d s ync_i cache_030( addr _t addr es s , s i z e_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s &( CACHELI NE- 1) ; l en+=of f ; l =l en; p=( char * ) addr es s - of f ; as m vol at i l e ( " nop" ) ; as m vol at i l e ( " mov ec %%cacr , %0" : " =r " ( cac r ) : ) ; c acr | =0x00000004; / ** / do{ as m vol at i l e( " movec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmov ec %0, %%caar \ nmov ec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CACHELI NE; } whi l e ( ( l - =CACHELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( v oi d*r t ){ l ong_page_di r ect or y_ent r y ent r y; * ( ui nt 64* ) &ent r y=DFL_PAGEENT_VAL; ent r y . t ype=DT_ROOT; ent r y . addr =TA_TO_PREA( ( ( addr _t ) r t ) ) ; as m v ol at i l e( " pmove ( %0) , %%s r p\ npmove ( %0) , %%cr p\ n" : : " a" ( ( ui nt 64* ) &ent r y ) ) ; } s t r uct m68k_vm_ops m68030_vm_ops ={ _m68k_t r ans l at i on_map_get _pgdi r , m68k_vm_t r ans l at i on_map_i ni t _map, m68k_vm_t r ans l at i on_map_i ni t _ker nel _map_pos t _s em, m68k_vm_t r ans l at i on_map_i ni t , m68k_vm_t r ans l at i on_map_i ni t _pos t _ar ea, m68k_vm_t rans l at i on_map_i ni t _pos t _s em, m68k_vm_t r ans l at i on_map_ear l y_map
Guidelines for further projects
● Be “transparent” yourself : – Do not lie about the difficulties! – Do not base your evaluation only on final
results.
– Take into account the methods and autonomy of students.
● Frequent (on-line or IRL) meetings between students and supervisors to keep up the motivation
![Page 29: How students can contribute to free software: Centrale Nantes/OpenOffice.org Education Project success story](https://reader034.vdocuments.net/reader034/viewer/2022051610/5485b0d5b4af9f6e0d8b4eeb/html5/thumbnails/29.jpg)
s t at i c voi d s ync_i cache_030( addr _t addr es s , s i z e_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s &( CACHELI NE- 1) ; l en+=of f ; l =l en; p=( char * ) addr es s - of f ; as m vol at i l e ( " nop" ) ; as m vol at i l e ( " mov ec %%cacr , %0" : " =r " ( cac r ) : ) ; c acr | =0x00000004; / ** / do{ as m vol at i l e( " movec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmov ec %0, %%caar \ nmov ec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CACHELI NE; } whi l e ( ( l - =CACHELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( v oi d*r t ){ l ong_page_di r ect or y_ent r y ent r y; * ( ui nt 64* ) &ent r y=DFL_PAGEENT_VAL; ent r y . t ype=DT_ROOT; ent r y . addr =TA_TO_PREA( ( ( addr _t ) r t ) ) ; as m v ol at i l e( " pmove ( %0) , %%s r p\ npmove ( %0) , %%cr p\ n" : : " a" ( ( ui nt 64* ) &ent r y ) ) ; } s t r uct m68k_vm_ops m68030_vm_ops ={ _m68k_t r ans l at i on_map_get _pgdi r , m68k_vm_t r ans l at i on_map_i ni t _map, m68k_vm_t r ans l at i on_map_i ni t _ker nel _map_pos t _s em, m68k_vm_t r ans l at i on_map_i ni t , m68k_vm_t r ans l at i on_map_i ni t _pos t _ar ea, m68k_vm_t rans l at i on_map_i ni t _pos t _s em, m68k_vm_t r ans l at i on_map_ear l y_map
Perspectives
● New collaborations between free software development teams and educational institution
● Towards teaching how to contribute to free software developments?
![Page 30: How students can contribute to free software: Centrale Nantes/OpenOffice.org Education Project success story](https://reader034.vdocuments.net/reader034/viewer/2022051610/5485b0d5b4af9f6e0d8b4eeb/html5/thumbnails/30.jpg)
s t at i c voi d s ync_i cache_030( addr _t addr es s , s i z e_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s &( CACHELI NE- 1) ; l en+=of f ; l =l en; p=( char * ) addr es s - of f ; as m vol at i l e ( " nop" ) ; as m vol at i l e ( " mov ec %%cacr , %0" : " =r " ( cac r ) : ) ; c acr | =0x00000004; / ** / do{ as m vol at i l e( " movec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmov ec %0, %%caar \ nmov ec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CACHELI NE; } whi l e ( ( l - =CACHELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( v oi d*r t ){ l ong_page_di r ect or y_ent r y ent r y; * ( ui nt 64* ) &ent r y=DFL_PAGEENT_VAL; ent r y . t ype=DT_ROOT; ent r y . addr =TA_TO_PREA( ( ( addr _t ) r t ) ) ; as m v ol at i l e( " pmove ( %0) , %%s r p\ npmove ( %0) , %%cr p\ n" : : " a" ( ( ui nt 64* ) &ent r y ) ) ; } s t r uct m68k_vm_ops m68030_vm_ops ={ _m68k_t r ans l at i on_map_get _pgdi r , m68k_vm_t r ans l at i on_map_i ni t _map, m68k_vm_t r ans l at i on_map_i ni t _ker nel _map_pos t _s em, m68k_vm_t r ans l at i on_map_i ni t , m68k_vm_t r ans l at i on_map_i ni t _pos t _ar ea, m68k_vm_t rans l at i on_map_i ni t _pos t _s em, m68k_vm_t r ans l at i on_map_ear l y_map
Special thanks to...● Thorsten Behrens● Group of students:
– Olivier Girardot
– Frédéric Gélot
– Aude Quintana
– Pierre-Jean Parot
– Guillaume Arfaoui
– Florent Rouvière
– Sashi Juganaikloo
![Page 31: How students can contribute to free software: Centrale Nantes/OpenOffice.org Education Project success story](https://reader034.vdocuments.net/reader034/viewer/2022051610/5485b0d5b4af9f6e0d8b4eeb/html5/thumbnails/31.jpg)
s t at i c voi d s ync_i cache_030( addr _t addr es s , s i z e_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s &( CACHELI NE- 1) ; l en+=of f ; l =l en; p=( char * ) addr es s - of f ; as m vol at i l e ( " nop" ) ; as m vol at i l e ( " mov ec %%cacr , %0" : " =r " ( cac r ) : ) ; c acr | =0x00000004; / ** / do{ as m vol at i l e( " movec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmov ec %0, %%caar \ nmov ec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CACHELI NE; } whi l e ( ( l - =CACHELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( v oi d*r t ){ l ong_page_di r ect or y_ent r y ent r y; * ( ui nt 64* ) &ent r y=DFL_PAGEENT_VAL; ent r y . t ype=DT_ROOT; ent r y . addr =TA_TO_PREA( ( ( addr _t ) r t ) ) ; as m v ol at i l e( " pmove ( %0) , %%s r p\ npmove ( %0) , %%cr p\ n" : : " a" ( ( ui nt 64* ) &ent r y ) ) ; } s t r uct m68k_vm_ops m68030_vm_ops ={ _m68k_t r ans l at i on_map_get _pgdi r , m68k_vm_t r ans l at i on_map_i ni t _map, m68k_vm_t r ans l at i on_map_i ni t _ker nel _map_pos t _s em, m68k_vm_t r ans l at i on_map_i ni t , m68k_vm_t r ans l at i on_map_i ni t _pos t _ar ea, m68k_vm_t rans l at i on_map_i ni t _pos t _s em, m68k_vm_t r ans l at i on_map_ear l y_map
References
● EducOO : http://www.educoo.org
● Blog on the various projects involving Tablets PC at École Centrale de Nantes: https://pedagogie.ec-nantes.fr/tablet-pc/
● “Effort page”: http://tinyurl.com/effort-ooo-ecn
![Page 32: How students can contribute to free software: Centrale Nantes/OpenOffice.org Education Project success story](https://reader034.vdocuments.net/reader034/viewer/2022051610/5485b0d5b4af9f6e0d8b4eeb/html5/thumbnails/32.jpg)
s t at i c voi d s ync_i cache_030( addr _t addr es s , s i z e_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s &( CACHELI NE- 1) ; l en+=of f ; l =l en; p=( char * ) addr es s - of f ; as m vol at i l e ( " nop" ) ; as m vol at i l e ( " mov ec %%cacr , %0" : " =r " ( cac r ) : ) ; c acr | =0x00000004; / ** / do{ as m vol at i l e( " movec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ naddq. l #4, %0\ nmov ec %0, %%caar \ nmov ec %1, %%cacr \ naddq. l #4, %0\ nmovec %0, %%caar \ nmovec %1, %%cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CACHELI NE; } whi l e ( ( l - =CACHELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( v oi d*r t ){ l ong_page_di r ect or y_ent r y ent r y; * ( ui nt 64* ) &ent r y=DFL_PAGEENT_VAL; ent r y . t ype=DT_ROOT; ent r y . addr =TA_TO_PREA( ( ( addr _t ) r t ) ) ; as m v ol at i l e( " pmove ( %0) , %%s r p\ npmove ( %0) , %%cr p\ n" : : " a" ( ( ui nt 64* ) &ent r y ) ) ; } s t r uct m68k_vm_ops m68030_vm_ops ={ _m68k_t r ans l at i on_map_get _pgdi r , m68k_vm_t r ans l at i on_map_i ni t _map, m68k_vm_t r ans l at i on_map_i ni t _ker nel _map_pos t _s em, m68k_vm_t r ans l at i on_map_i ni t , m68k_vm_t r ans l at i on_map_i ni t _pos t _ar ea, m68k_vm_t rans l at i on_map_i ni t _pos t _s em, m68k_vm_t r ans l at i on_map_ear l y_map
Auteurs : Morgan Magnin ([email protected])
Eric Bachard ([email protected]), www.educoo.org 2009
Document sous licence libre http://creativecommons.org/licenses/by-sa/3.0/deed.fr